美文网首页
Pytorch&GPU的简单使用

Pytorch&GPU的简单使用

作者: 小黄不头秃 | 来源:发表于2022-09-03 01:39 被阅读0次
    # 查看显卡信息
    !nvidia-smi
    
    import torch
    from torch import nn
    
    torch.device('cpu')
    # 可以查看GPU的数量
    torch.cuda.device_count()
    

    下面这两个函数可以试探有没有GPU,可以用来加速代码.

    def try_gpu(i=0):
        if torch.cuda.device_count() >= i+1:
            return torch.device(f"cuda:{i}")
        return torch.device('cpu')
    
    def try_all_gpu():
        devices = [torch.device(f"cuda:{i}") for i in range(torch.cuda.device_count())]
        return devices if devices else [torch.device('cpu')]
    
    try_gpu(0)
    try_all_gpu()
    
    # 查询张量所在设备
    x = torch.tensor([1,2,3,4])
    x.device
    
    # 将张量创建在GPU上面
    X = torch.randn((3,4),device=try_gpu(0))
    Y = torch.ones((3,4),device=try_gpu(0))
    
    print(X,Y)
    
    # 在GPU上计算
    X = X.cuda(0) # 在GPU之间进行复制,这里由于只有一块GPU所以,相当于原地跳了一下
    Z = X+Y
    
    print(Z)
    
    # 怎么样在GPU上计算神经网络呢
    net = nn.Sequential(nn.Linear(3,4))
    net = net.to(device=try_gpu())
    
    x = torch.randn(9,device=try_gpu()).reshape((3,3))
    net(x)
    net[0].weight.data.device
    

    相关文章

      网友评论

          本文标题:Pytorch&GPU的简单使用

          本文链接:https://www.haomeiwen.com/subject/iobknrtx.html