今天在加载模型时出现的错误:
参考了别人的做法后成功解决:链接
原因是因为自己在训练时定义了新的评估函数:
def sensitivity(y_true,y_pred):
TP=tf.reduce_sum(y_true*tf.round(y_pred))
TN=tf.reduce_sum((1-y_true)*(1-tf.round(y_pred)))
FP=tf.reduce_sum((1-y_true)*tf.round(y_pred))
FN=tf.reduce_sum(y_true*(1-tf.round(y_pred)))
sensitivity=TP/(TP+FN)
return sensitivity
解决的方法是,在加载时更新这个新的评估函数即可:
model = load_model('EfficientNet.h5',custom_objects={'sensitivity':sensitivity})
成功解决!