本人github
PyTorch 不会自动使用 GPU,你需要明确指定将张量和模型移动到 GPU 上。在 PyTorch 中,你可以使用 .to()
方法或 .cuda()
方法来将张量或模型移动到 GPU 上,同时需要确保你的系统中有可用的 NVIDIA GPU,并且已经安装了合适版本的 CUDA。
以下是一些例子:
- 将模型移动到 GPU 上:
model = model.to('cuda')
# 或
model = model.cuda()
- 将张量移动到 GPU 上:
tensor = tensor.to('cuda')
# 或
tensor = tensor.cuda()
在将模型和张量移动到 GPU 上之前,你可能想要先检查是否有可用的 GPU:
import torch
if torch.cuda.is_available():
device = torch.device('cuda')
else:
device = torch.device('cpu')
# 然后你可以使用 `device` 变量将模型和数据移动到 GPU 或 CPU 上:
model = model.to(device)
tensor = tensor.to(device)
这种方式使你的代码更具可移植性,因为它可以在有或没有可用 GPU 的系统上运行。
记住,在将模型和数据移动到 GPU 上后,所有的运算(包括前向传播、反向传播和优化器步骤)都会在 GPU 上执行,这通常会比在 CPU 上执行更快。