关于上传到GPU:这个地方之前一直没有弄清楚

1. 参考文章:https://blog.****.net/qq_38101208/article/details/110481390

2. 自己再进行一次梳理:

分别是:

-model实例

-Loss_func实例

-训练的数据x以及参考的label

备注:传进GPU的只能是tensor类型

#(1)判断GPU是否可用
if torch.cuda.is_available():
    device = torch.device('cuda')
    cudnn.benchmark = True
else:
    device = torch.device('cpu')
 
#(2)构建网络时,把网络,与损失函数转换到GPU上
model = CNN().to(device)
loss = nn.CrossEntropyLoss().to(device)
 
#(3)训练网络时,把数据转换到GPU上
x, y = x.to(device), y.to(device)
 
# 注,只有tensor类型才能上传到GPU上,故需要对numpy数据进行转换成rensor类型
# torch.tensor(x) 或 torch.from_numpy(x) 
#两者的区别见 https://blog.****.net/github_28260175/article/details/105382060
 
#(4)对训练的输出结果有些需要使用np的函数进行操作,需先将输出结果转到CPU上,并转成numpy类型,再使用np的函数
output = (model(x)).cpu().numpy()

上一篇:ES操作指南


下一篇:T11:优化器对比实验