【发布时间】:2021-07-09 05:18:19
【问题描述】:
我正在尝试使用 while 循环优化我的 ML 模型的 learning_rate 参数。 第一个模型完成了所有的学习步骤,然而,在 while 循环的第二次迭代中,model.fit() 的第二次调用已经在第一个 epoch 中失败了。不生成任何输出。
编辑:
我已将问题追溯到 Tensorboard 回调。没有该回调,循环成功地训练了所有 4 个模型,而使用回调,循环在第二次迭代/模型拟合开始时失败。我在这里做错了什么?
for lr in [0.005, 0.001, 0.0005, ...]:
tf.keras.backend.clear_session()
...
## create model
model = createModel(...)
model.compile(learning_rate = lr)
tensorboard_callback = tf.keras.callbacks.TensorBoard(...)
model.fit(..., callbacks = [tensorboard_callback])
有谁知道我做错了什么或为什么这不起作用?
非常感谢!
环境: 我正在使用带有两张 Nvidia Tesla V100S (32GB) 卡(只有一张用于训练模型)、128 个 CPU 内核和 2TB 主内存的 Debian 服务器 蟒蛇:3.7.9 张量流:2.4.1 实现在 Jupyter 笔记本中
【问题讨论】:
-
您能否添加有关您使用的回调的更多详细信息?
-
当然。 TensorBoard 回调仅指定 logDirectory。在 for 循环中的每次迭代期间,该目录都会更改。就在第二个 model.fit 失败之前,会生成日志并在 TensorBoard 中可用
标签: tensorflow