NVIDIA Jetson Xavier NX入門(3)——安裝miniforge和Pytorch


1 安裝miniforge

1.1 miniforge簡介

conda是一個開源的包、環境管理器,可以用於在同一個機器上安裝不同版本的軟件包及其依賴,並能夠在不同的環境之間切換。搞深度學習的應該都十分熟悉anaconda,但是NVIDIA Jetson Xavier NX是arm架構的,anaconda及其精簡版miniconda並不支持arm64架構。現在主流的CPU架構分為Intel的x86/x64架構和ARM的ARM/ARM64兩種,平常用的電腦大部分都是x86/x64的(蘋果除外),Xavier使用的是ARM64,所以很多在x86/x64上能用的的東西到了它這里就不能用了。這一點請謹記,如果你在Jetson上遇到什么奇奇怪怪的例如“No such file or directory”之類的問題,第一時間要考慮是不是版本不是ARM64的版本
在ARM64上的anaconda替代品是miniforge,miniforge與miniconda的區別在於miniforge的下載通道是conda-forge,其他基本沒什么不同。

1.2 miniforge安裝教程

(1)先到miniforge的官方下載地址下載對應的sh文件:https://github.com/conda-forge/miniforge/releases
別下錯了,例如我下載的是Miniforge-pypy3-4.10.3-3-Linux-aarch64.sh,代表適用於arrch64架構下的Linux系統。(ARM64對應32位和64位分為arrch32和arrch64)
(2)進入到miniforge的sh文件所在目錄,右鍵打開Terminal,輸入以下命令進行安裝:

sh Miniforge-pypy3-4.10.3-3-Linux-aarch64.sh

(3)安裝完畢后,添加環境變量,否則會出現bash:conda Command not found的錯誤。順便提一下vim編輯器按a是進入編輯模式,編輯完畢后按ESC退出編輯模式,再輸入:wq!是保存並退出。總感覺有人不知道。

# 編輯環境變量
vim ~/.bashrc
# 增加環境變量, 將<username>換成你的用戶名
export PATH=/home/<username>/miniforge-pypy3/bin:$PATH
# 激活環境變量
source ~/.bashrc
# 顯示(base)
source activate

(4)更換下載源為清華源

conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

(5)更換pip源
創建並進入pip.conf文件

mkdir ~/.pip
cd ~/.pip
vim pip.conf

在pip.conf 文件中添加

[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple/

安裝完畢。

2 安裝PyTorch

2.1 安裝新的虛擬環境

這個教程是在miniforge上安裝PyTorch的,如果你不想裝在虛擬環境上,可以參考這篇博客
安裝完miniforge后,打開終端,命令行前面應該有個(base),表示base環境,就像下圖一樣。如果沒有,那就輸入:source activate激活miniforge。

輸入以下命令創建一個虛擬環境,輸入y繼續。這里推薦的python版本是3.6,因為英偉達官方提供的PyTorch安裝包是python3.6的,如果選擇其他版本就要自己去找安裝包了。 ```bash conda create -n pytorch python=3.6 ``` 激活該環境 ```bash conda activate pytorch ```

2.2 PyTorch 1.8

直接輸入命令安裝PyTorch,pip3是python3的pip,如果沒裝,就換成pip

pip3 install -U future psutil dataclasses typing-extensions pyyaml tqdm seaborn
wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.8.0-cp36-cp36m-linux_aarch64.whl 
pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

如果網絡不好的話,也可以先把PyTorch的whl文件下載下來,NVIDIA官方網址是:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048

將對應的.whl放到Xavier上,cd進入目錄,輸入
pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

安裝完畢后可以在終端輸入以下命令檢驗PyTorch是否正確安裝:

python3 -c 'import torch; print(torch.cuda.is_available())'

正常來說,會返回True

排錯1

如果出現 Illegal instruction (core dumped)的錯誤,這是由於numpy 1.19.5和OpenBLAS沖突引起的,修改其中一項即可。選擇以下兩種做法之一:
(1)降低numpy版本

pip3 install -U "numpy==1.19.4"

(2)設置OpenBLAS

vim ~/.bashrc

加入

export OPENBLAS_CORETYPE=ARMV8

然后激活.bashrc

source ~/.bashrc

2.3 torchvision v0.9.0

Pytorch除了torch包之外還需要安裝對應的torchvision才能運行,兩者的版本對應關系如下圖:

PyTorch 1.8對應的是torchvision v0.9.0 輸入以下命令完成安裝
sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
pip3 install --upgrade pillow
git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.9.0
python3 setup.py install --user
cd .. # running torch from torchvision/ will fail

之后可以嘗試跑自己的代碼測試PyTorch功能了。

參考博客

https://blog.csdn.net/qq_39567427/article/details/109158918
https://cognitivexr.at/blog/2021/03/11/installing-pytorch-and-yolov5-on-an-nvidia-jetson-xavier-nx.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM