Jetson Xavier NX

Jetson Xavier NX


`提示:记录学习过程,倘若有抄袭请原谅


前言

例如:小编作为智能专业学生,虽然现在工作嵌入式,但是玩转ai的心一直都有,所以手头有一块Jetson Xavier NX ,所以来玩玩。


一、安装系统

小编是从别人那里拿来的,当然我也用科学上网去下载过,一样的
这是Jetson NX 的镜像

链接:https://pan.baidu.com/s/1YSXiZFcMvNRpYnc5gKwifg
提取码:ages

这是Jetson nano b01的镜像

这里是引用

nano的镜像是小编处理过的,所以比较大,但是可以直接烧入进去

二、烧镜像

这里很简单 ,NX找个最少64G的内存卡,128g最佳,nano最低16G,小编分别用的是128G跟32G,
然后下载

链接:https://pan.baidu.com/s/1A0I-nVf68n7FnXYdBJDy-A
提取码:wpfa
上面是内存卡格式化工具跟烧入工具
格式化
在这里插入图片描述
烧入
在这里插入图片描述
这里时间比较久,建议打一局王者,或者该干嘛干嘛去,打完就会出现write successful

三、启动系统

nani跟nx都是内存卡启动,这里需要外接键盘跟显示器跟鼠标,对于初始化系统自己设置就行默认,然后就看到英伟达的标志界面,还是挺好看的对吧

在这里插入图片描述
在这里插入图片描述

打开风扇先

sudo sh -c “echo 150 > /sys/devices/pwm-fan/target_pwm”

四、配置VNC(此处借鉴)

VNC是啥,就是一款远程的方式,可以说软件,也可以说协议
这里我们为了方便我们用putty远程他们之间用wifi相连或者网线,然后ifconfig获取ip,
在这里插入图片描述
远程过去后我们先

sudo passwd root
输入的密码还可以跟以前的一样
su: Authentication failure
hiden@hiden:~$ sudo apt-get update
Reading package lists… Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
ps -A| grep apt
然后kill掉
因为有个apt在更新

sudo apt update ,先来更新下

接下来弄vnc,

sudo gedit /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

将以下内容添加进文件中,注意key的位置

<key name='enabled' type='b'>
    <summary>Enable remote access to the desktop</summary>
    <description>
      If true, allows remote access to the desktop via the RFB
      protocol. Users on remote machines may then connect to the
      desktop using a VNC viewer.
    </description>
    <default>false</default>
</key>

然后编译他

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

运行

/usr/lib/vino/vino-server

设置开机自启

mkdir -p ~/.config/autostart
cp /usr/share/applications/vino-server.desktop ~/.config/autostart/.

假如运行vnc出现以下情况

Unable to connect to VNC Server using your chosen security
setting. Either upgrade VNC Server to a more recent ersion from RealVNC, or select a weaker level of encryption.

运行

gsettings set org.gnome.Vino require-encryption false

五、安装中文输入法

首先先安装
sudo apt-get install ibus-pinyin
然后在右上角找到language support,有个下载,一定要点击安装
在这里插入图片描述
1.托住中文往上拉,虽然可能第一次拉不住,多拉几次
2.点击添加或者删除语言,找到中文
3.将键盘输入法系统旋转ibus
在这里插入图片描述

终端输入ibus_setup
在这里插入图片描述
点击输入法
选中123
在这里插入图片描述
ibus restart
reboot
在这里插入图片描述
你也可以选择其它输入法
谷歌输入法有个坑,没有候选,最后博主也遇到了,不过设置下就行了,忘记了

六、安装cuda

英伟达不拿来跑深度学习,浪费了,而cuda就是起搏器
小编提供的镜像是由cuda的

在这里插入图片描述
我们只要

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda

我们也可以存入bashrc,这每次打开终端,就会自动export

然后nvcc -V,就会发现我们的cuda的版本

七、安装pytorch跟torchvision

链接: link

torch	torchvision	python
main / nightly	main / nightly	>=3.8, <=3.11
2.0.0	0.15.1	>=3.8, <=3.11
1.13.0	0.14.0	>=3.7.2, <=3.10
1.12.0	0.13.0	>=3.7, <=3.10
1.11.0	0.12.0	>=3.7, <=3.10
1.10.2	0.11.3	>=3.6, <=3.9
1.10.1	0.11.2	>=3.6, <=3.9
1.10.0	0.11.1	>=3.6, <=3.9
1.9.1	0.10.1	>=3.6, <=3.9
1.9.0	0.10.0	>=3.6, <=3.9
1.8.2	0.9.2	>=3.6, <=3.9
1.8.1	0.9.1	>=3.6, <=3.9
1.8.0	0.9.0	>=3.6, <=3.9
1.7.1	0.8.2	>=3.6, <=3.9
1.7.0	0.8.1	>=3.6, <=3.8
1.7.0	0.8.0	>=3.6, <=3.8
1.6.0	0.7.0	>=3.6, <=3.8
1.5.1	0.6.1	>=3.5, <=3.8
1.5.0	0.6.0	>=3.5, <=3.8
1.4.0	0.5.0	==2.7, >=3.5, <=3.8
1.3.1	0.4.2	==2.7, >=3.5, <=3.7
1.3.0	0.4.1	==2.7, >=3.5, <=3.7
1.2.0	0.4.0	==2.7, >=3.5, <=3.7
1.1.0	0.3.0	==2.7, >=3.5, <=3.7
<=1.0.1	0.2.2	==2.7, >=3.5, <=3.7

在这里插入图片描述
这里小编用的是python3.8.x,这里要用到opencv,这里就仁者见仁智者见智了,

pip3 install opencv_python
pip3 install torch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0

剩下的就是哪个包缺少了用pip3 install xxx
但是有个遇到问题 ModuleNotFoundError: No module named ‘yaml’ 时, 注意的是安装的包名不是 yaml 而是 pyyaml,即 pip3 install pyyaml。

官网链接: link

依稀记得cuda跟torch是有版本对应关系的,torchvision跟torch也是有版本对应关系的, 因为系统自带的是python3.6,所以我们用1.7版本的torch,而torchvision我们用源码安装,小编以下的网盘也是可以的
直接按照会遇到numpy,我们可以升级pip3

pip3 install --upgrade pip

链接:https://pan.baidu.com/s/1y4sQJIrwbMj3-fGnIcuNZg
提取码:2xhg

或者以下源码安装

wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.7.0-cp36-cp36m-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev
pip3 install Cython
pip3 install numpy torch-1.7.0-cp36-cp36m-linux_aarch64.whl

在这里插入图片描述
按照torchvision

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch <version> https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
python3 setup.py install --user
cd ../  # attempting to load torchvision from build dir will result in import error
pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.8.0 https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
//git clone --branch v0.9.0 https://gitee.com/rchen1997/torchvision torchvision

cd torchvision
export BUILD_VERSION=0.9.0  # where 0.x.0 is the torchvision version  
python3 setup.py install --user
cd ../  # attempting to load torchvision from build dir will result in import error
pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

下载可能会断,毕竟在外边,有路的朋友自己搭路。安装torchvision中间小编遇到了以下问题,直接安装就行,安装时间还是比较久的

libmpi_cxx.so.20
sudo apt-get install libopenmpi2
libopenblas.so.0
sudo apt-get install libopenblas-dev

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-build

也可以小编的那里来

链接:https://pan.baidu.com/s/1n8YQOGEapF1vJ7h71kl-nw
提取码:mtfq
在这里插入图片描述

八、试试,以nandet试试

此处感谢lgp大佬的分享链接: link
https://github.com/guo-pu/NanoDet-PyTorch

下载下来,然后
‘’‘目标检测-图片’‘’ python detect_main.py image --config ./config/nanodet-m.yml --model model/nanodet_m.pth --path street.png ‘’‘目标检测-视频文件’‘’ python detect_main.py video --config ./config/nanodet-m.yml --model model/nanodet_m.pth --path test.mp4 ‘’‘目标检测-摄像头’‘’ python detect_main.py webcam --config ./config/nanodet-m.yml --model model/nanodet_m.pth --path 0

python3 detect_main.py image --config ./config/nanodet-m.yml --model model/nanodet_m.pth --path  street.png

在这里插入图片描述
这种包缺啥就直接 pip3 install xxx
然后再次运行
在这里插入图片描述

九、其它扩展-安装ros

准备写完的链接: link

十、格式化NX跟nano的sd卡

由于英伟达的系统的分区设置跟树莓派不一样,所以他的插入进去后pc识别不了,这里有三种方法,推荐第二种

1.拿一个红米1s那种年代的手机,插进去,会提示格式化

2.follow 小编,插入电脑但是电脑是识别不了,只能识别到usb块储存设备,此时我们打开计算机管理
在这里插入图片描述
我们可以通过磁盘管理看到sd的磁盘2.具体看个人的电脑硬盘,可以插拔看现象,就可以知道了,然后我们电机磁盘2每个分区右键然后删除,全部删除后会剩下一个空卷,然后我们再右击,点击新建简单卷,新建完就可以看到电脑能将sd卡识别成sd卡了。。。。。。。

在这里插入图片描述

3.我们插入sd卡后win+R打开终端,
输入diskpart
然后输入list disk我们可以看到我们的磁盘,当然,还是磁盘2
我们输入select disk 2,2代表磁盘几,对其进行选中
输入clean
最后一步create partition primary,也可以通过上面的方法进行新建卷
然后我们就可以看到了
在这里插入图片描述