提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
花了一天配置torch环境,趁还热乎,赶紧记录下。
在实际装的过程中,主要比较坑的就是版本对应问题。还有就是是否需要配置anaconda 环境。如果需要配置虚拟环境的话,就用anaconda,因为我装的AGX4.4.1版本中,python版本为3.6.9(符合我需要),而且主要也只做一个工程项目,所以我直接在主环境中配置,也会讲解anaconda 的配置。说起来都是一把泪,当初想在虚拟环境中配置,但是就一直因为python版本不对应而无法调用torch。最后还是直接使用主环境配置成功。
torch 为1.6.0
torchvision 0.7.0
AGX linux 为4.4.1版本
(其他版本的torch方法都是雷同)
主环境的话首先是下载torch whl.文件 官网点击这里下载,可能需要
如果网络不好,我下载了几个版本,存至百度云,点击-------》下载 提取码:2233
然后按步骤安装:
1.安装torch
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip install Cython
pip install numpy torch-1.6.0-cp36-cp36m-linux_aarch64.whl
验证,若无报错则可以继续安装torchvision
python3
import torch
安装tochvision
sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch v0.7.0-rc2 https://github.com/pytorch/vision torchvision
cd torchvision
sudo python3 setup.py install
测试
import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
print('cuDNN version: ' + str(torch.backends.cudnn.version()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
b = torch.randn(2).cuda()
print('Tensor b = ' + str(b))
c = a + b
print('Tensor c = ' + str(c))
import torchvision
print(torchvision.__version__)
示例:安装完pytorch1.4.0后,想要调用调用torchvision时报错, libcudart.so.10.0: cannot open shared object file: No such file or directory。
import torchvision
ImportError: libcudart.so.10.0: cannot open shared object file: No such file or directory
主要还是版本不对应问题。因为接到工程代码时我需要配置的环境为1.4.0 pytorch,cuda10.2,所以我也理想当然去配置了1.4.0。但是AGX4.4.1,对应的cuda版本是10.2,查阅下方表格后事发现1.4.0只支持9.2,与10.1。
卸载torch,并下载下载对应torch whl包安装
pip3 uninstall torch
pip3 install torch<中间为版本号>-linux_aarch64.whl
如果是pyhon2.多改为pip
就是卸载1.4.0版本,装对应cuda10.2版本的torch
示例:调用pytorch,出现Illegal instruction (core dumped)
import torch
Illegal instruction (core dumped)
当时装了anaconda ,版本对应时3.7的,我是创了虚拟环境torch_1.4
(python=3.6.9)conda install pytorch==1.4.0, 因为AGX是基于ARM的,装的不匹配。
'''修改环境变量'''
sudo gedit /etc/profile
把 export OPENBLAS_CORETYPE=ARMV8 加入最后面一行,然后保存
'''更新环境变量'''
source /etc/profile)
或者还是直接Pip3下载好的whl,python2的为pip
Xavier是安装miniforge, 功能与anaconda无差别
sh 下载地址
如果下载的版本为Miniforge-pypy3-4.10.3-6-Linux-aarch64.sh
则输入
sh Miniforge-pypy3-4.10.3-6-Linux-aarch64.sh
sh Miniforge-pypy3-xxx-Linux-aarch64.sh
conda create -n (命名空间) python=(预装版本)
conda create -n torch_1.6 python=3.6.9
激活对应环境
conda activate torch_1.6
安装方法跟主环境一样
若直接在官网下载linux版本的pycharm版本是无法安装的,pycharm需要java jdk,但是支持arm64的只有open-jdk,所以需要先安装open-jdk。最新的pycharm仅支持openjdk11。
JDK:开发JAVA程序的开发包,JDK里面有JAVA的运行环境(JRE),包括client和server端。
OpenJDK:openjdk只包含最精简的JDK,OpenJDK源代码不完整。
SDK:就是指可以为第三方开发者提供特定的软件包、软件框架、硬件平台、操作系统等创建应用软件开发工具的集合,并且SDK还能简单的为某个程序设计语言提供应用程序接口API的一些文件。
接下里安装pycharm如下:
apt-cache search openjdk
sudo apt-get install openjdk-11-jdk
java -version
which java
配置环境变量:
sudo gedit ~/.bashrc
将这个至于下方
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存后source
source ~/.bashrc
具体可以参考----->这里
让我们愉快的开启Pycharm吧~