tensorflow - 是否可以更改 Keras 中训练输出的格式?
问题描述
在训练 Keras 模型时,Keras 会打印出一行,显示例如损失和度量值。例如,像这样的东西。
39/1000 [>.............................] - ETA: 4:39 - loss: 63694.8726 - metric_0: 0.0000e+00 - metric_1: 0.0000e+00 - metric_2: 0.0000e+00T - ...
问题是,如果您有很多指标,这条线可能会很长。有没有办法格式化这条线?如果我们能以类似的方式格式化这一行,那就太好了,我们可以用例如format
方法在 Python 中格式化字符串。
这是一个相关的 Github 问题。
解决方案
您可以verbose=0
在回调中使用和打印自己的结果。
例子:
from keras.callbacks import LambdaCallback
def printLog(epoch, logs):
#get the metrics inside the `logs` variable
#print whatever you want the way you want
printerCallback = LambdaCallback(on_epoch_end=printLog)
model.fit(........, callbacks = [printerCallback], verbose=0)
缺点是你不能有一个更新栏,你每个时代只有一个打印。
推荐阅读
- java - 使用 Java 高级 REST 客户端的 ElasticSearch 多词查询
- python - 熊猫数据框查询未找到价值
- reactjs - 如何在 gatsby 中初始化 firebase?
- php - 如何使用php中的ftp函数从服务器获取文件
- reactjs - 传单:尝试将更多(50K)标记图标加载到 L.canvasLayer 每个标记都有不同的旋转。性能问题
- c++ - 可变长度数组c ++&没有运算符>>错误?
- android - 应用程序错误:生成签名 APK Ionic4 后的 net:ERR_SOCKET_NOT_CONNECTED 错误
- python - 我怎么能通过手写在我的 Electronjs 桌面应用程序上写东西
- python - 我在单击删除按钮时从表格中删除数据时,我的 django 代码有问题
- lisp - 如何显示前 N 个自然数,知道 Lisp 中的除数