文章目录

  • Jetson Xavier NX
  • 前言
  • 一、安装系统
  • 二、烧镜像
  • 三、启动系统
  • 打开风扇先
  • 四、配置VNC(此处借鉴)
  • 五、安装中文输入法
  • 六、安装cuda
  • 七、安装pytorch跟torchvision
  • 八、试试,以nandet试试
  • 九、其它扩展-安装ros
  • 十、格式化NX跟nano的sd卡


前言

例如:小编作为智能专业学生,虽然现在工作嵌入式,但是玩转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 上面是内存卡格式化工具跟烧入工具 格式化

NX打包镜像 nx镜像在哪_python


烧入


NX打包镜像 nx镜像在哪_linux_02


这里时间比较久,建议打一局王者,或者该干嘛干嘛去,打完就会出现write successful

三、启动系统

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

NX打包镜像 nx镜像在哪_linux_03


NX打包镜像 nx镜像在哪_linux_04

打开风扇先

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

四、配置VNC(此处借鉴)

VNC是啥,就是一款远程的方式,可以说软件,也可以说协议

这里我们为了方便我们用putty远程他们之间用wifi相连或者网线,然后ifconfig获取ip,

NX打包镜像 nx镜像在哪_linux_05


远程过去后我们先

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,有个下载,一定要点击安装

NX打包镜像 nx镜像在哪_服务器_06


1.托住中文往上拉,虽然可能第一次拉不住,多拉几次

2.点击添加或者删除语言,找到中文

3.将键盘输入法系统旋转ibus

NX打包镜像 nx镜像在哪_运维_07

终端输入ibus_setup

NX打包镜像 nx镜像在哪_NX打包镜像_08


点击输入法

选中123

NX打包镜像 nx镜像在哪_服务器_09


ibus restart

reboot

NX打包镜像 nx镜像在哪_linux_10


你也可以选择其它输入法

谷歌输入法有个坑,没有候选,最后博主也遇到了,不过设置下就行了,忘记了

六、安装cuda

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

NX打包镜像 nx镜像在哪_python_11


我们只要

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

NX打包镜像 nx镜像在哪_linux_12


这里小编用的是python3.8.x,这里要用到opencv,这里就仁者见仁智者见智了,

python3 -m pip install --upgrade pip
pip3 install unicorn


pip3 install opencv_python
不行的话得 sudo apt-get install python3-opencv(这个比较好用)
若是出现Illegal instruction (core dumped)
在 sudo vim ~/.bashrc 加入 export OPENBLAS_CORETYPE=ARMV8
pip3 install torch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0

python3.6 -m pip install launchpadlib
剩下的就是哪个包缺少了用pip3 install xxx
但是有个遇到问题 ModuleNotFoundError: No module named ‘yaml’ 时, 注意的是安装的包名不是 yaml 而是 pyyaml,即 pip3 install pyyaml。
matplot 3.2.2.
官网链接: 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

NX打包镜像 nx镜像在哪_NX打包镜像_13


按照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

NX打包镜像 nx镜像在哪_服务器_14


判断torch有没有用,有的话是true

import torch
print(torch.__version__)
print(torch.cuda.is_available())

八、试试,以nandet试试

记得安装requstment
此处感谢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

如果安装matplotlib出现问题例如error: command ‘aarch64-linux-gnu-gcc’ failed with exit status 1

https://blog.csdn.net/ged123456/article/details/132092753?ops_request_misc=&request_id=&biz_id=102&utm_term=%20%20%20%E5%AE%89%E8%A3%85matplotlib%20error:%20command&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-132092753.142v100pc_search_result_base8&spm=1018.2226.3001.4187

看这里

大概就是某些依赖没有安装‘
sudo apt-get install libpng-dev
sudo apt-get install zlib1g-dev

其次就是按照错误提示,需要安装 Freetype,
参考链接: https://www.ywnz.com/linuxjc/2365.html
Freetype网址 freetype-2.9.1.tar.gz
https://download.savannah.gnu.org/releases/freetype/ ./configure --without-zlib
make
make install
其实就是numpy兼容问题
import 报错 “Illegal instruction[cpre dumped]”
在.bashrc加入

export OPENBLAS_CORETYPE=ARMV8

NX打包镜像 nx镜像在哪_服务器_15


这种包缺啥就直接 pip3 install xxx

然后再次运行

NX打包镜像 nx镜像在哪_NX打包镜像_16

九、其它扩展-安装ros

准备写完的链接: link

十、格式化NX跟nano的sd卡

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

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

2.follow 小编,插入电脑但是电脑是识别不了,只能识别到usb块储存设备,此时我们打开计算机管理

NX打包镜像 nx镜像在哪_运维_17


我们可以通过磁盘管理看到sd的磁盘2.具体看个人的电脑硬盘,可以插拔看现象,就可以知道了,然后我们电机磁盘2每个分区右键然后删除,全部删除后会剩下一个空卷,然后我们再右击,点击新建简单卷,新建完就可以看到电脑能将sd卡识别成sd卡了。。。。。。。

NX打包镜像 nx镜像在哪_linux_18

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

NX打包镜像 nx镜像在哪_python_19