我目前是一个python代码,我相信它存在一些内存问题。
我昨晚对此进行了推理,我相信这是由于经常产生一些开销造成的,但我不知道它们到底是什么。我尝试了gccollect()
方法,但实际上没有用。关于我的python代码的好处是,在每次运行时,我都可以将经过部分训练的模型的参数保存为pickle。希望我会关闭脚本,然后启动一个新的python脚本并加载我保存的泡菜以继续训练。
我的策略是在shell脚本中执行以下操作:
for i in 1000:
run `python train_model.py` # this will give me allows a fresh environment with little memory overhead
# during the runs of `train_model.py`, some memory overhead has been accumulated
torch.save(train_model.state_dict())
shut down the train_model.py script
# I am hoping that for the next run of this python script, I can get a fresh environment
您认为这行得通吗?如何在Shell脚本中执行此操作?