NVIDIA Jetson AGX Xavier 配置pytorch环境,anaconda,Pycharm

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

概览

  • 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。最后还是直接使用主环境配置成功。

2.配置版本

torch 为1.6.0
torchvision 0.7.0
AGX linux 为4.4.1版本
(其他版本的torch方法都是雷同)

3.主环境的配置

主环境的话首先是下载torch whl.文件 官网点击这里下载,可能需要
如果网络不好,我下载了几个版本,存至百度云,点击-------》下载 提取码:2233
NVIDIA Jetson AGX Xavier 配置pytorch环境,anaconda,Pycharm_第1张图片

然后按步骤安装:
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。
NVIDIA Jetson AGX Xavier 配置pytorch环境,anaconda,Pycharm_第2张图片
卸载torch,并下载下载对应torch whl包安装

pip3 uninstall torch
pip3 install torch<中间为版本号>-linux_aarch64.whl

如果是pyhon2.多改为pip

(2)解决方案

就是卸载1.4.0版本,装对应cuda10.2版本的torch
NVIDIA Jetson AGX Xavier 配置pytorch环境,anaconda,Pycharm_第3张图片

4.2.问题二

示例:调用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的,装的不匹配。

(2)解决方法

'''修改环境变量'''
sudo gedit /etc/profile 

把 export OPENBLAS_CORETYPE=ARMV8 加入最后面一行,然后保存

'''更新环境变量'''
source /etc/profile)

或者还是直接Pip3下载好的whl,python2的为pip

5.如何在AGX装anaconda

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

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吧~

你可能感兴趣的:(Jetson,AGX,Xavier,pytorch,pycharm,深度学习,linux)