プログラムを実行すると、ビデオメモリが不足するという問題が常に発生します.
情報を参照した後、コードの先頭に次の2行を追加しました.
torch.cuda.set_per_process_memory_fraction(0.5, 0)
torch.cuda.empty_cache()
以前よりもしばらくは実行できましたが、ビデオ メモリが不足していることがすぐにわかったので、各トレーニング イテレーションの前にキャッシュをクリアしようとしました。
def train_iter(self):
# ...
for epoch in range(config.n_epochs): # 每次迭代开始前
torch.cuda.empty_cache() # 新增代码
#...
問題が解決しました