Pytorch中DFGAN如何实现断点续训?有妙招吗?
- 内容介绍
- 文章标签
- 相关推荐
前言:为什么DFGAN的断点续训总是让人抓狂?
说实话, 玩PyTorch的朋友们大多都有过那种“哎呀,我的训练刚跑到第1999步,服务器突然宕机,我的心都凉了半截”的经历。特别是用DFGAN这种结构, 模型庞大、 捡漏。 参数多,一不小心就会掉进断点续训的深渊。下面这篇文章, 我将把自己摸爬滚打的血泪史搬上来顺便抛出几招“妙招”,希望能帮你少点儿崩溃,多点儿笑声。
一、先说清楚:断点续训到底要保存哪些东西?
在PyTorch里checkpoint最核心的就是两大块:

model.state_dict——网络权重;optimizer.state_dict——优化器状态。
如果你只保存了前者, 而忽略了后者,那恢复训练时学习率往往会回到初始值,导致后面几百轮都像在原地打转。 所以“断点续训主要保存的是网络模型的参数以及优化器optimizer的状态”。记住这句话,它比任何文档都管用。
前言:为什么DFGAN的断点续训总是让人抓狂?
说实话, 玩PyTorch的朋友们大多都有过那种“哎呀,我的训练刚跑到第1999步,服务器突然宕机,我的心都凉了半截”的经历。特别是用DFGAN这种结构, 模型庞大、 捡漏。 参数多,一不小心就会掉进断点续训的深渊。下面这篇文章, 我将把自己摸爬滚打的血泪史搬上来顺便抛出几招“妙招”,希望能帮你少点儿崩溃,多点儿笑声。
一、先说清楚:断点续训到底要保存哪些东西?
在PyTorch里checkpoint最核心的就是两大块:

model.state_dict——网络权重;optimizer.state_dict——优化器状态。
如果你只保存了前者, 而忽略了后者,那恢复训练时学习率往往会回到初始值,导致后面几百轮都像在原地打转。 所以“断点续训主要保存的是网络模型的参数以及优化器optimizer的状态”。记住这句话,它比任何文档都管用。

