GPUでのpytorchのトレーニング、テスト効率を向上させるためのいくつかの実用的な経験


GPUでのpytorchのトレーニング、テスト効率を向上させるためのいくつかの実用的な経験


1、テスト時out of memoryはno_が設定されていないためかもしれませんgrad:
with torch.no_grad():
    for data, label in test_loader:

2、watch nvidia-smiコマンドでGPU利用率を確認したところ、利用率は100%、0%と高低が一定ではなく、dataloaderでnum_を設定できるworkers=n, pin_memory=True:
train_loader = torch.utils.data.DataLoader(dataset=trainset, batch_size=128, shuffle=True, num_workers=8, pin_memory=True)
test_loader = torch.utils.data.DataLoader(dataset=testset, batch_size=1, shuffle=False, num_workers=8, pin_memory=True)

3、訓練時の第1のepoch GPUは十分に現存するが、第2およびその後のepochは2倍に現存し、out of memoryが現れ、1つの訓練epochの終了時にdelのいくつかの変数を得ることができる.
for epoch in range(num_epochs):
	###
	del x, y1, y2, output, output_, labels, loss1, loss2