27、利用GPU训练2-----常用形式

2、除了调用.cuda()函数,也可以定义一个设备变量,然后调用.to(设备device)函数将其引到设备上去

还是那三个部分:

  网络模型; 数据集; 损失函数

1 '''定义一个训练的设备'''
2 device=torch.device('cpu')
3 #device=torch.device('cuda')  有一个显卡
4 #device=torch.device('cuda:0')   #有多个显卡可以用索引
#创建网络模型
tuidui=class_net()
tuidui=tuidui.to(device)    #把模型传到设备上去
'''4、创建损失函数'''
loss_fn=nn.CrossEntropyLoss()
loss_fn=loss_fn.to(device)
    #训练步骤开始
    for data in train_dataloader:
        imgs,targets=data
        imgs=imgs.to(device)
        targets=targets.to(device)
        outputs=tuidui(imgs)
#测试步骤:
    total_test_loss=0   #记录总的损失差
    total_accuracy=0    #记录整体的准确率
    with torch.no_grad():
        for data in test_dataloader:
            imgs,targets=data
            imgs=imgs.to(device)
            targets=targets.to(device)
            outputs=tuidui(imgs)

 

posted @ 2023-02-27 16:58  bokeAR  阅读(40)  评论(0)    收藏  举报