3090 pytorch编译记录

一、环境配置

编译的本地环境如下:

gpu : RTX 3090
ubuntu 20.04
gcc 9.3.0
driver : 460.56
CUDA : 11.2
CUDNN : 8.1.0
python :3.6.12
pytorch : 1.7.1
torchvision : 0.8.2
torchtext : 0.8.1
  1. pytorch、torchtext、torchvision 需要在同一个环境编译,编译顺序为: pytorch > torchvision > torchtext 
  2. torchvision 0.8 需要 cuda 11.2 ,最好预先确定驱动
  3. 编译的环境需要git checkout 相应的版本如
    git checkout v1.7.1  #导出 1.7.1版本的pytorch

     

  4. git clone 某些中间资源站点不在国内,速度会很慢,甚至下载不下来,自备梯子。 clone 过程中会自动在系统的临时缓存区下载文件,所以在一台电脑clone之后到别的电脑可能无法使用。

二、编译

  1. 编译完成之后在 build  目录会有编译结果,如果需要重新编译,删除即可。
  2. 编译完成时,conda环境使用pip安装时无法辨识编译的包,例如,编译的pytorch版本 V1.7.1 最后在conda环境中被认为时1.70aa+。这就导致安装时需要先安装依赖pytorch的包,再卸载pytorch ,最后执行
python setup.py install

即可将编译的结果拷贝到conda环境中

  1. 测试pytorch速度的代码,从pytorch的官方人员copy的
import torch
import torch.nn as nn
from torch.cuda.amp import autocast, GradScaler
import time
from torchvision.models import resnet152

torch.backends.cudnn.benchmark = True


class model(nn.Module):
    def __init__(self):
        super(model, self).__init__()
        self.resnet = resnet152()
        self.linear = nn.Sequential(nn.Linear(1000, 250),
                                    nn.Linear(250, 64),
                                    nn.Linear(64, 32),
                                    nn.Linear(32, 10),
                                    nn.ReLU())

    def forward(self, x):
        out = self.resnet(x)
        out = self.linear(out)

        return out

dtype = torch.float16
x = torch.randn(32, 3, 224, 224).cuda(0).to(dtype)
y = torch.randint(0, 10, (32,)).cuda(0)
m = model().cuda(0).to(dtype)
criterion = nn.CrossEntropyLoss()
optim = torch.optim.Adam(m.parameters(), 1e-4)

# warmup
for _ in range(10):
    m.zero_grad()
    output = m(x)
    loss = criterion(output, y)
    loss.backward()

nb_iters = 100

torch.cuda.synchronize()
t0 = time.time()
for _ in range(nb_iters):
    m.zero_grad()
    output = m(x)
    loss = criterion(output, y)
    loss.backward()

torch.cuda.synchronize()
t1 = time.time()
print('{:.3f}ms per iter'.format((t1 - t0)/nb_iters * 1000.))

官方测试的速度为(3090环境 ) : 160ms/iter  编译前速度和官方时间差不多,编译之后我们的速度为 110ms/iter 

三、 编译资源

pytorch官网

tochviosn官网

torchtext官网

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值