【发布时间】:2021-08-17 19:13:57
【问题描述】:
我正在使用这样的基本代码在 TensorFlow Keras 中训练神经网络:
model.fit(x_train, y_train, epochs=5)
对于model.fit的每个时期,有没有办法打印并保存损失函数值、梯度和梯度范数?
谢谢。
【问题讨论】:
-
您可以使用
callbacks打印甚至保存您需要的任何内容。例如在 CSV 文件中(结帐CSVLogger callback)。要保存模型变量,您还可以使用callbacks和checkpoints。 -
谢谢!以及如何在训练期间计算梯度?
-
如果您使用自定义训练,
tf.GradientTape()将为您完成,然后您可以使用tape.gradient()函数计算梯度。 -
或者如果你想使用
model.fit(),所有变量都存储在tf.Variable中。你可以像这样打印它们print(model.trainable_variables) -
谢谢!你的意思是如果我使用model.fit(),我只能得到变量,但不能得到梯度?我也可以使用 model.fit() 获得渐变吗?还是我必须进行自定义培训?
标签: python tensorflow keras gradient loss