Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将ModelCheckpoint与Keras中的自定义度量一起使用?_Keras_Deep Learning - Fatal编程技术网

如何将ModelCheckpoint与Keras中的自定义度量一起使用?

如何将ModelCheckpoint与Keras中的自定义度量一起使用?,keras,deep-learning,Keras,Deep Learning,可以在回调中使用自定义吗?可以 定义文档中描述的自定义度量: import keras.backend as K def mean_pred(y_true, y_pred): return K.mean(y_pred) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy', mean_pred]) 要检查所有可用指标

可以在回调中使用自定义吗?

可以

定义文档中描述的自定义度量:

import keras.backend as K

def mean_pred(y_true, y_pred):
    return K.mean(y_pred)

model.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy', mean_pred])
要检查所有可用指标,请执行以下操作:

print(model.metrics_names)
> ['loss', 'acc', 'mean_pred']
通过
monitor
将度量名称传递给
ModelCheckpoint
。如果要在验证中计算度量值,请使用
val_979;
前缀

ModelCheckpoint(weights.{epoch:02d}-{val_mean_pred:.2f}.hdf5,
                monitor='val_mean_pred',
                save_best_only=True,
                save_weights_only=True,
                mode='max',
                period=1)
不要将
mode='auto'
用于自定义指标。明白为什么



为什么我要回答我自己的问题?检查。

链接以了解故障原因。我很好奇,我知道为什么。当您构建自定义模型时,ModelCheckpoint不知道值是高还是低更好,所以mode='auto'不好。在我的例子中,我定义了F1度量,所以我需要告诉ModelCheckpoint值val_F1越高越好,所以mode='max'。