首页 > 解决方案 > AttributeError:“NoneType”对象没有属性“评估”,评估 keras 中加载的模型

问题描述

# my save model function 
# saving and reloadinng the trained model 
import os 
def save_model(model,suffix = None):
    model_dir = os.path.join('./',datetime.datetime.now().strftime("%Y%m%d%H%M%s"))
    model_path = model_dir + '-' + suffix + '.h5' # save format of the model 
    print('saving model to : ' + model_path + '...')
    model.save(model_path)
    return model_path

加载模型功能:

def load_model(model_path):
    print('loading saved model from ' + model_path)
    model = tf.keras.models.load_model(model_path,custom_objects = {'KerasLayer':hub.KerasLayer},compile=False)

保存并加载模型后没有错误

loaded_1000_image_model.evaluate(val_data)

当我试图评估加载的模型时,它会说

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-144-1940330b6409> in <module>
----> 1 loaded_1000_image_model.evaluate(val_data)

AttributeError: 'NoneType' object has no attribute 'evaluate'

标签: pythontensorflowkerasevaluate

解决方案


您的load_model功能需要return model


推荐阅读