利用GPU进行训练

一般来说,我们可以对:

网络的模型,损失函数,数据集,利用GPU进行运算也就是调用cuda.

第一种方式:

my_model = Model()
if torch.cuda.is_available():
    my_model = my_model.cuda()
loss_cross = nn.CrossEntropyLoss()
if torch.cuda.is_available():
    loss_cross = loss_cross.cuda()
imgs, targets = data
        if torch.cuda.is_available():
            imgs = imgs.cuda()
            targets = targets.cuda()

直接调用cuda.

第二种形式:

先创建一个你指定的设备divice

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

然后将要在gpu上训练的代码块添加到该设备上

my_model = Model()
my_model.to(device)
loss_cross = nn.CrossEntropyLoss()
loss_cross.to(device)
 imgs, targets = data
        imgs = imgs.to(device)
        targets = targets.to(device)

第二种方式更常用,因为它可以指定你用哪块显卡,只需要在"cuda"后面进行指定,如"cuda:0","cuda1",看上去更专业吧

版权声明:本文为CSDN博主「zmnhlg」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zmnhlg/article/details/121629003

zmnhlg

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

目标检测:YOLO v1算法

YOLO V1 算法思想 将一幅图像分成s*s个网格,如果某个目标的中心落在这个网格中,则这个网络就负责预测这个目标。每个网格要预测B个bounding box,每个bounding box除了要预