提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
概览- 1.前言
- 2.配置版本
- 3.主环境的配置
- 4.配置过程中的坑,及对应解决方法
- 4.1.问题1
- (1)原因分析
- (2)解决方案
- 4.2.问题二
- (1)原因分析
- (2)解决方法
- 5.如何在AGX装anaconda
- 5.1创建虚拟环境
- 6.如何在AGX装Pycharm
1.前言
花了一天配置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__)
4.配置过程中的坑,及对应解决方法
4.1.问题1
示例:安装完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)原因分析
主要还是版本不对应问题。因为接到工程代码时我需要配置的环境为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
(2)解决方案就是卸载1.4.0版本,装对应cuda10.2版本的torch
示例:调用pytorch,出现Illegal instruction (core dumped)
import torch Illegal instruction (core dumped)(1)原因分析
当时装了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
5.如何在AGX装anacondaXavier是安装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
5.1创建虚拟环境conda create -n (命名空间) python=(预装版本)
conda create -n torch_1.6 python=3.6.9
激活对应环境
conda activate torch_1.6
安装方法跟主环境一样
6.如何在AGX装Pycharm若直接在官网下载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吧~



