利用GPU来训练一般来说训练的速度比CPU要快的多,并且添加GPU也并不复杂,添加cuda()即可。
在下面模块添加GPU操作语句:
1.神经网络模型
#搭建神经网络
class Gu(nn.Module):
def __init__(self):
super(Gu , self).__init__()
self.model1 = Sequential(
Conv2d(3, 32, 5, 1, 2),
MaxPool2d(2),
Conv2d(32, 32, 5, 1, 2),
MaxPool2d(2),
Conv2d(32, 64, 5, 1, 2),
MaxPool2d(2),
Flatten(),
Linear(64*4*4, 64),
Linear(64, 10)
)
def forward(self,x):
x = self.model1(x)
return x
gu = Gu()
#添加gu=gu.cuda()
if torch.cuda.is_available():
gu=gu.cuda()
这里添加if torch.cuda.is_available()语句保证程序可以运行,后面各处添加cuda()语句前都添加了这里的if语句
如果你电脑有GPU则优先利用GPU训练,如果没有自动选择CPU训练
如果没有这个if语句,电脑上没有GPU,运行时会报出你没有GPU无法训练
2.损失函数
#损失函数
loss_fn = nn.CrossEntropyLoss()
if torch.cuda.is_av