use*_*622 5 python metrics keras tensorflow
在调用模型的 compile 方法时,我们可以传入指标。
为什么不tf.keras.metrics.Accuracy一样'acc'?
例如,以下 2 个调用给出了不同的结果:
model.compile(optimizer=RMSprop(learning_rate=0.001),loss=tf.keras.losses.BinaryCrossentropy(),metrics=[tf.keras.metrics.Accuracy()])
对比
model.compile(optimizer=RMSprop(learning_rate=0.001),loss=tf.keras.losses.BinaryCrossentropy(),metrics=['acc'])
我注意到在使用 callback 时on_epoch_end,logsdict的键在上述两种情况下发生了变化。使用tf.keras.metrics.Accuracy()将产生logs一个 key accuracy,但它总是 0。但是,使用 'acc' 将导致一个logs具有acc预期值的键。
进行了一些挖掘,但我相信区别在于:
acc用于引擎盖def binary_accuracy(y_true, y_pred, threshold=0.5)下metrics.py
尽管
tf.keras.metrics.Accuracy用于.class Accuracy(MeanMetricWrapper)metrics.py
我通过测试和检查tensorflow的kerasmetrics.py文件的源代码得出了这个结论
| 归档时间: |
|
| 查看次数: |
2239 次 |
| 最近记录: |