在 Kaggle 上我有 2 个 GPU T4,但我不明白如何在 Pytorch 中使用它们或调整代码以在 2 个 GPU 上进行训练
我的训练代码:
for epoch in range(2):
running_loss = 0.0
for data in tqdm(dataset):
inputs, labels = data
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
running_loss += loss.item()
要在多个 GPU 上运行,您必须采用分布式训练的方式进行训练。 Pytorch 这里有关于该领域的文档:
https://pytorch.org/tutorials/distributed/home.html
从那里您可以找到最适合您的手机壳。
我还找到了另一个进入分布式训练领域的来源: https://saturncloud.io/blog/how-to-use-multiple-gpus-in-pytorch/
他们讨论了三种不同的方法,其中第一种(数据并行)对于更简单和更小的模型来说最常见,因为它最容易适应。