TensorFlow 2.0 中似乎缺少 global_step。
我有几个对当前训练进度感兴趣的回调,我不确定我是否需要实现自己的计步器或依赖于 epochs 计数......
有什么更换的建议吗?
TensorFlow 2.0 中似乎缺少 global_step。
我有几个对当前训练进度感兴趣的回调,我不确定我是否需要实现自己的计步器或依赖于 epochs 计数......
有什么更换的建议吗?
现在最好声明我们自己的global_step = tf.Variable(1, name="global_step")
并手动使用它。
查看文档,没有替代的替代品,tf.train.get_or_create_global_step
文档中关于 a 的唯一部分是模块step
的实验部分tf.summary
:https ://www.tensorflow.org/versions/r2.0/api_docs/ python/tf/总结/实验
使用 TensorFlow 2.3.1 及其 Keras API。
的实例tf.keras.optimizers.Optimizer
继承一个iterations
属性。实现表明这是一个计数器,在每个训练步骤后递增。在编译模型之前从优化器访问它。
import tensorflow as tf
tf.compat.v1.disable_eager_execution() # see note
optimizer = tf.keras.optimizers.Adam()
training_step = optimizer.iterations
model = Model(inputs,outputs)
model.compile(
loss=my_adaptive_loss_function(training_step),
optimizer=optimizer)
注意:在我的设置中,我必须禁用急切执行才能使用此变量,否则我会收到以下信息TypeError
。如果您的实现不如我的那么笨拙,您也许可以避免这种情况。
TypeError:正在传递函数构建代码之外的操作 一个“图形”张量。可以有图张量 通过包含 tf.init_scope 在您的函数构建代码中。 例如,以下函数将失败: @tf.function def has_init_scope(): my_constant = tf.constant(1.) 使用 tf.init_scope(): 添加 = my_constant * 2 图张量的名称为:pulse_features:0 在处理上述异常的过程中,又出现了一个异常: