pytorch安装到一半中断_AMD平台上配置PyTorch+Apex开发环境

f3d8cd9daae6a471965a720aa9308f3c.png

手上有2台AMD平台的机器,用的N卡做深度学习开发机。其中一个是Ryzen 3500X ITX+2070,另一个是FX8350 990FX 3卡平台+1080和P106。

这两个机器其实都挺好用的,即便推土机浮点能力比较弱,真8核在多线程IO方面还是相当有力的,而且还可以组PCIE 2.0双X16或者X16+X8+X8(相当于PCIE 3.0的一半)。搭配AMD专用条,用来做超低成本主副卡配置非常合适,比如我现在1080+P106,一台机器,开发+轻度实验两不误。看看现在Intel入门平台PCIE那配置,有一种无力吐槽的感觉。

当然AMD平台的问题就是生态差,特别是MKL负优化问题。由于Numpy是可以支持OpenBlas,在AMD这边性能堪比Intel+MKL,所以是值得更换的。

首先NV驱动、Conda配置就不说了,直接开搞:

conda create -n pytorch python=3.7
conda activate pytorch
conda install conda-forge::numpy "blas=*=openblas"

目前PyTorch最高支持3.7,高了会有问题。

第三条命令就是从conda-forge通道安装openblas版本的Numpy,这个一定要放在最前面,否则一旦被装上MKL,后续就MKL全家桶了。

然后就是一些常用的库和Torch本体:

conda install matplotlib scikit-learn opencv -c conda-forge
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

预编译的Torch是依赖MKL的(顺带一提Torch是要求带AVX的CPU,AMD就需要推土机),也许自己可以编译OpenBlas的版本。

但是深度学习CPU主要计算也就是预处理,这个多数还是基于Numpy的,CPU跑不动就考虑Dali了,很少会有用到CPU Tensor的情况,就不管了……人生苦短。

接下来,就是给20系显卡安装Apex(10系没有必要,因为FP16只有1/64的FP32算力,比FP64还慢,根本跑不起来)。这个库本身没有什么坑,只是它需要nvcc,而conda安装的cudatools包只是一个子集,所以需要安装系统级别的cuda和cudnn。要注意Cuda版本要与Torch相符,cudnn版本与Cuda相符,驱动只要能支持你的Cuda就好了。Cuda/Cudnn的ISO流程就不细说了,直接上手Apex:

git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

编译安装的是带CPP和Cuda扩展的,实测比直接用pip装的(不带CPP)人眼可见的要快一点。

简简单单就是这样,AMD还是可以Yes的,毕竟花个1-2千元就有6核多卡平台了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值