Nvidia Jetson nano 安装Archiconda、gpu版torch、踩坑记录
jetson nano 属于aarch64架构,不同于一般的x86_64的linux系统架构,而torch官网上面 https://download.pytorch.org/whl/torch_stable.html 提供的aarch64架构的torch版本都是cpu版本的,在nano上安装cpu版本的torch便失去了这个硬件其本身的意义。不过Nvidia官网提供了gpu版本的torch,只是目前只支持python3.6版本。
一:首先下载ubuntu镜像,英伟达官方地址:https://developer.nvidia.com/embedded/downloads
二:下载好之后使用官方提供的工具 balenaEtcher写入镜像:
(1):flash from file 选择下载好的文件(下载的文件不需要解压)
(2):select target 选择需要写入的SD卡。
注:烧写的时候可能会遇到something went wrong ,if it is a compressed image……这个错误,可能是你下载的压缩文件受损,重新下载一次就好了。
(3)烧写完成,将SD卡插入Jetson nano,开机即可。
三:检查已安装的系统组件
(1)系统已经自带cuda10.2,cudnn,opencv,可使用如下命令查看:
查看cuda版本:
cat /usr/local/cuda/version.txt
查看cudnn版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
查看opencv版本:
pkg-config opencv --modversion
(2)cuda路径写入环境变量:sudo vim ~/.bashrc 进入配置文件。
(3)在最后面添加:
export PATH=/usr/local/cuda/bin:$PATH
export LDLIBRARYPATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/usr/local/cuda
(4)执行source ~/.bashrc 后生效
(5)执行nvcc -V检查cuda版本信息,确认安装无误。
四:安装Archiconda
Anaconda不支持aarch64架构,因此Jetson Nano开发板无法成功安装Anaconda。Archiconda是用于64位ARM平台的Conda发行版,下载地址:https://github.com/Archiconda/build-tools/releases 。
安装conda之后如果找不见,需要添加环境变量,方法如下:
(1):sudo vim ~/.bashrc
(2):export PATH=~/archiconda3/bin:$PATH
创建虚拟环境(python版本只能是3.6 环境位置默认会在当前目录下)
(1)创建命令:conda create -p XXXXX python=3.6
(2)查看命令:conda env list
(3)激活命令:conda activate XXXXX(XXXXX是查看命令后的一个位置)
(4)删除命令:conda remove -p XXXXX --all
五:apt、pip换源:
ubuntu 更换apt源(清华):
(1)切换到root:
sudo su
(2)备份源文件:
cd /etc/apt
mv sources.list sources.list_bak
(3)新建sources.list
vim sources.list
(4)拷贝以下内容
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
(5)更新配置
sudo apt-get update
ubuntu 更换pip3源(清华):
(1)切换root:
sudo su
(2)安装pip3
apt install python3-pip
(3)创建文件
mkdir ~/.pip
vim ~/.pip/pip.conf
(4)拷贝以下内容
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
六:查看jetpack版本并下载对应的torch版本:
(1)查看jetpack版本:
sudo pip install jetson-stats
sudo jtop
(2)下载torch:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-8-0-now-available/72048
(3)切换到刚刚创建的虚拟环境,安装下载好的whl文件:
pip install -------------------------------.whl
(4)进入python,import torch看看是否会出错。
(5)可能会报“非法指令(核心已转储)”
的错误,这个问题找了半天没发现解决办法,最后还是在官网的issue里找到的,作者这么回答:
解决方法如下:将 export OPENBLAS_CORETYPE=ARMV8 添加到环境变量即可。
sudo vim ~/.bashrc
export OPENBLAS_CORETYPE=ARMV8
(6)安装torchvision:
可下载对应的torchvision版本,同样pip install 即可 https://github.com/Qengineering/PyTorch-Raspberry-Pi-64-OS/blob/main/README.md
七:下载arm版的vscode:
由于Jetson Nano arm64结构,导致市面上主流的IDE并不能适配,在网上看过很多资料之后,终于找到使用VsCode作为IDE在Jetson nano上的安装方式,现已分享到网盘:
链接:https://pan.baidu.com/s/1xxzuWNV6Fyjkex6SAyjY9Q
提取码:3pxz
复制这段内容后打开百度网盘手机App,操作更方便哦
下载好之后运行如下命令即可安装:
sudo dpkg -i code-oss_1.32.3-arm64.deb
八:结语:
现在就可以舒服的敲代码了。第一次写文章,不足之处请指正。参考如下链接:
https://blog.csdn.net/weixin_48131397/article/details/111309758