박성국*_*박성국 2 machine-learning neural-network deep-learning generative-adversarial-network
我现在做的就是GAN。事实上,我们现在还不知道 CNN 和 RNN 正在用 GAN 做什么,而且由于计算环境是个人的,所以我们正在开发一个付费版本的“Google Colab”。据我了解,Google Colab 可以使用开发环境长达 24 小时(不完全是 24 小时)。
结果,机器学习需要一些时间,中间就被切断了,到目前为止,我被迫使用可以在 24 小时内训练的数据集和 epoke 来学习,突然我想,“难道我们就不能积累训练吗?”
所以我的问题是,例如,如果我最多训练 100 次,但只训练了 50 次就被切断,我不能从 50 次开始进行下一次训练吗?如果我们能做到这一点,那么是不是可以进行长时间的训练,因为 Google Colab 可以在 24 小时限制的情况下每 24 小时继续训练一次?我也这么想。
这可能吗?
在 PyTorch 或 Tensorflow 等框架中,这非常简单。您可以保存模型的权重,然后要恢复这些权重,您所要做的就是创建模型的实例并加载权重。
对于 PyTorch,你基本上是这样做的:
torch.save(model.state_dict(), path_to_save_to)
Run Code Online (Sandbox Code Playgroud)
当您想要加载保存的权重时:
model = ModelClass()
model.load_state_dict(torch.load(path_saved_to)
Run Code Online (Sandbox Code Playgroud)
您可能希望在每个 epoch 或每 n 个 epoch 后保存,或者仅在模型性能上升时保存,等等。
If you are not using any frameworks, it is possible even then as well. You can save your model weights in a Numpy array which you can then save to your Gdrive in several ways. When needed again, instantiate your model, instead of randomly initializing your parameters, set them to your loaded Numpy array.
| 归档时间: |
|
| 查看次数: |
1459 次 |
| 最近记录: |