发新帖

如何在 eager 下定义 global_step,实现学习率衰减,暂停恢复等

[复制链接]
556 2

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
为了实现学习率衰减,自由暂停恢复训练,在非eager execution模式下,我可以这样写
  1. global_step=tf.Variable(initial_value=0, trainable=False)         #全局步数
复制代码
  1. 保存的checkpoint文件如下,可见保存了 global_step的值,便于恢复
复制代码
这样,在训练时,我可以随时停止。下次训练可以选择重新开始,或是从上次恢复继续训练,并且能恢复global_step的值,学习率也是从相应的step开始继续衰减。


目前,我正在学习eager execution模式,我只能这样写
  1. model=Model()
复制代码
  1. 保存的checkpoint 文件如下,默认保存临近5个
复制代码
保存模型的数字是每调用save一次,增加一点,而与 global_step 无关。
虽然我可以根据上次保存的模型数字,在恢复时手动修改代码来实现从 global_step 开始训练,但学习率还是不能逐步衰减,而且这样很不自动化。。。
不知该如何在eager模式下自己定义global_step,实现基于 global_step 的学习率衰减,模型保存时附带保存 global_step,以实现训练时自由暂停和恢复。

写得有点乱,感谢你看到这里!!!





精彩评论2

mrobot  TF荚荚  发表于 2018-11-20 21:33:07 | 显示全部楼层
谁能告诉我为什么代码只剩第一行了。。。
段德璋  TF豆豆  发表于 2018-11-22 17:22:23 | 显示全部楼层
mrobot 发表于 2018-11-20 21:33
谁能告诉我为什么代码只剩第一行了。。。

再重新编辑一下看看。
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

主题

帖子

2

积分
快速回复 返回顶部 返回列表