Jetson AGX Xavier 使用教程

  • Post author:
  • Post category:其他

jetson agx Xavier刷机教程

  • 刷机可以参考该博主的文章
    注意的是在step3步骤连接完机子开始烧录的时候,进度在14左右的时候显示与硬件断开连接,大概率是主机的python版本不对,先将主机默认的python版本更改为3.6,重启后重新开始以上刷机的步骤。
sudo rm /usr/bin/python  #删除原有的python连接
sudo ln -s /usr/bin/python3.6 /usr/bin/python  #系统自带的是3.6所以就连接到3.6,如果是3.5就连接到3.5就行
PATH=/usr/bin:$PATH   #把路径/usr/bin/加入环境变量PATH中:

在Xavier配置好重启后,建议马上更换软件源,不然后面可能出现安装失败

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak  #备份源

修改sources.list

sudo gedit /etc/apt/sources.list

将文件中的源删除干净,将下面任意一个的源更换进去
清华源

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted

中科大

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main universe restricted 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main universe restricted

更改默认python版本
!注意!:在step3安装的时候可能出现cuda等的安装失败提示,多次重安装还是失败,然后我在xavier上将默认的python改为3.6,重新安装就行了(这一步我现在也不太清楚,有点玄学)。还有就是主机和Xavier必须在同一个局域网,可以用手机开热点。
按照以上步骤亲测可行。
在这里插入图片描述

开启风扇

sudo nvpmodel --query  							 #查看当前的模式,默认为2, 功耗15W
sudo nvpmodel -m 0   			  			     #设置满功率运行,MAX
sudo  ~/jetson_clocks.sh 		  			     #强制风扇启
sudo jetson_clocks --show   	  			     #查看设置
sudo jetson_clocks --store   	   				 #把设置值保存到 /home/用户名/l4t_dfs.conf
sudo gedit /home/用户名/l4t_dfs.conf        
#在l4t_dfs.conf最后面加入下面这段,速度(0-250)
/sys/devices/pwm-fan/target_pwm:200 		     #200的转速不会太吵而且散热也快
sudo jetson_clocks --restore   			 		 #执行完这个命令就可以开启风扇
#设置开机自动开启风扇
sudo gedit ~/.bashrc
#在最后面插入下面这个命令
sudo jetson_clocks --restore

保存完退出,下次开机风扇就自动启动啦。

pytorch环境搭建

  1. 安装python环境和依赖包
sudo apt-get install git cmake python3-dev
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev
  1. 配置python环境
sudo apt-get install python3-pip
sudo pip3 install -U pip testresources setuptools
  1. anaconda
    因为xavier是arm63架构的,所以不能直接安装anaconda,这里我找了一篇很好的
    博客
    ,步骤如下:
    miniforge的.sh release下载地址
    在这里插入图片描述
    通过执行如下命令进行安装,安装完成后,就和anaconda的使用方式一样。
sh Miniforge-pypy3-4.8.3-4-Linux-aarch64.sh

在终端中运行以下命令修改镜像源,可以明显加速安装,使用国科大conda镜像。

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

执行完以上命令会在当前用户目录下生成一个.condarc文件,运行cat ~/.condarc命令查看文件内容(个人建议把- defaults删除掉):(这一步可能会有人开不起来,只要重启一下xavier就行)

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - defaults
show_channel_urls: true

创建新的虚拟环境,环境名字是second

conda create -n second python=3.6

进入环境命令如下:

conda activate second
  1. 安装pytorch和torchvision
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
sudo pip3 install mpi4py
sudo pip install Cython

我在安装Cython的时候出现了权限的警告,如下图
解决方案:

cd /home
sudo chmod -R 777 username   #username改为自己的用户名

可以直接在官网下载安装包
以下是在Jetson上安装这些PyTorch轮子的命令。从上面的所需PyTorch下载中替换URL /文件名。
(python3.6)

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
pip3 install Cython
pip3 install numpy torch-1.5.0-cp36-cp36m-linux_aarch64.whl

注意:我刷环境的时候刷的是4.4dp版的,所以可以使用pytorch1.3-1.5版本的,要看好自己刷的环境和python版本,否则会一片红的报错(下图是我错刷1.6报错示例)
在这里插入图片描述
以下是pytorch和torchvision的版本对应

PyTorch v1.0-Torchvision v0.2.2
PyTorch v1.1-Torchvision v0.3.0
PyTorch v1.2-Torchvision v0.4.0
PyTorch v1.3-Torchvision v0.4.2
PyTorch v1.4-Torchvision v0.5.0
PyTorch v1.5-Torchvision v0.6.0
sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch <version> https://github.com/pytorch/vision torchvision   
#我torchvision对应的版本是0.6,所以使用的命令是git clone --branch v0.6.0 https://github.com/pytorch/vision torchvision 
cd torchvision
python setup.py install			

这个地方需要注意一下,nvidia官方用的命令是sudo python setup.py install,但是我在使用该命令的时候会出现如下的错误,我试着将sudo去掉就可以运行了(这个地方应该是和conda隔离的环境有关吧,这个点我还没搞清楚)
在这里插入图片描述
然后这个过程略长,中间可能会出现很多警告什么的,不用中断,继续执行完就行。

验证pytorch,要验证系统上是否已正确安装PyTorch,请从终端启动交互式Python解释器(pythonPython 2.7或python3Python 3.6的命令),然后运行以下命令:

>>> 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__)

在这里插入图片描述
到这就大功告成了,后面我会再出一篇在这个环境下跑通一些代码的笔记。感谢以上提及的所有博客博主的解决方案!


版权声明:本文为weixin_42743099原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。