如果 1500 集后batch_size=256,RAM 崩溃。使用 Colab,我拥有相当于 25.5 GB 的 RAM。正常吗?还是我没有足够的内存?我想在某个时候,RAM 必须释放一些空间。我该如何解决?
释放一点 RAM 空间
数据挖掘
Python
强化学习
火炬
dqn
2022-02-15 06:04:29
2个回答
如果 RAM 内存在训练期间出现问题,并且您已经运行了 1500 集,那么建议您在每集中保存一些信息(例如附加到 a list)。随着时间的推移,这将慢慢增加并导致崩溃。
快速查看您的代码后,它看起来像每个循环都在scores增长ep_history。您可以考虑将该信息写入磁盘,例如写入json文件或pickle对象,使用类似这样的内容
import pickle
if episode % 1000 == 0:
with open(f"./results_dir/scores_{episode}.pkl", "wb") as file_handle:
pickle.dump(scores, file_handle)
您当然应该保留您的陈述所需的历史记录量,print()并随着时间的推移计算平均分数。
您很少需要担心自己释放一些 RAM,因为 Python(然后是操作系统本身)将开始允许内存被覆盖。结果是一样的,它们基本上被删除了。
其它你可能感兴趣的问题