TX2安装pytorch1.00 心得总结
由于导师的项目要求,作为小白的我被安装pytorch困扰了几天,以下是我总结的心得。
本篇是基于python3.6、cuda9.0和cudnn7.1版本
cuda、cudn和python版本号
由于TX2是基于ARM,cuda和cudn必须是ARM版本,版本号的查询如下:
查看 CUDA 版本
cat /usr/local/cuda/version.txt
查看 CUDNN 版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
wheel安装心得
个人一开始用wheel的方式来安装torch和torchvision,但是发现跑代码的时候,用不了torch。
有博主可以直接用wheel方式成功安装,你们也可以试试参考链接如下:
源码安装心得
1.下载pytorch
在终端上输入以下命令,即可安装pytorch
git clone http://github.com/pytorch/pytorch
但是,直接复制安装的是最新的pytorch版本,并且下载速度满,个人推荐在github直接下载需要的pytorch文件,我需要下载的是pytorch1.0.0版本,操作如下。
具体的源码安装可以参考下面这位大佬
链接
2.pytorch安装成功后,运行代码出现“too many resources requested for launch at /home/nvidia/pytorch/aten/src/THCUNN/generic/SpatialUpSamplingBilinear.cu:66”错误
经过数小时的编译后,发现pytorch文件的占用空间多大13g,直接将tx2的存储空间占满,并且直接跑代码时,会出现以下错误。
RuntimeError: cuda runtime error (7) : too many resources requested for launch at /home/nvidia/pytorch/aten/src/THCUNN/generic/SpatialUpSamplingBilinear.cu:66
解决方法,对在aten/src/THCUNN/generic/SpatialUpSamplingBilinear.cu进行修改:
line 62:
const int num_threads = comment out THCState_getCurrentDeviceProperties(state)->maxThraedsPerBlock;
//替换成
const int num_threads = 512;
Around line 97
const int num_threads = comment out THCState_getCurrentDeviceProperties(state)->maxThraedsPerBlock;
//替换成
const int num_threads = 512;
同时,打开aten/src/ATen/cuda/detail/KernelUtils.h
line 15:
constexper int CUDA_NUM_THREADS = 256;
打开aten/src/THCUNN/common.h
line 12:
const int CUDA_NUM_THREADS = 256;
修改完后,再次编译,会发现pytorch文件的占用空间变少了很多,哪位大佬可以解答一下。
line 12:
sudo python3 setup.py install