Jetson xavier 刷机与配置环境详细教程,并运行系统提供的Demo(小小小白教程)

    这个教程详细记录了我配置Jetson Xavier NX过程,自用,踩了很多坑所以贴出来分享给大家。这个教程有时效性,可能你装的时候,界面不完全一样,只要不报错,每一步就是没问题的,这个文档有结合Jetson群里一些文档,与GPUS公司的一些教程,我会在文后或者文中贴出来

PS:再次强调我没说明的步骤,只要你执行完不报错,就是没问题的!!!

一.刷机

安装xavier官方OS映像,这个网上一堆刷机教程,这里附一个链接,若失效,可自行百度

1.刷机教程:https://blog.csdn.net/u013963960/article/details/106194620

2.官方下载jetpack链接:https://developer.nvidia.com/embedded/downloads

 

二.关于更新源

使用 Jetson Nano 的默认源进行更新。更新过程很漫长,大家可以执行完命令,做其他事吧。以下两个操作建议一定在做 AI 的项目前执行,否则安装一些库会找不到安装地址,导致后面频繁出错。依次输入以下两个命令:

sudo apt-get update

sudo apt-get full-upgrade

在过程中输入 Y 确认更新。第二个过程时间根据网络情况可能会花 2 个小时左右,请耐心等待(这个地方我装的很快,因人而异)

 

三.检查已经安装的系统组件

Jetson Xavier NX 的 OS 镜像已经自带了 JetPack,cuda,cudnn,opencv 等都已经安装好,并有例子

(1) 检查 CUDA

Jetson Xavier NX 中已经安装了 CUDA10.2 版本,但是此时你如果运行 nvcc -V 是不会成功的, 需要你把 CUDA 的路径写入环境变量中。OS 中自带 Vim 工具 ,所以运行下面的命令编辑环境变量

sudo vim ~/.bashrc

在最后添加下面三行(这里需要你对linux命令有一点点了解,小白可以百度练习,改错了就再重新来,楼主就是这样开始):

export CUDA_HOME=/usr/local/cuda-10.0

export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH

export PATH=/usr/local/cuda-10.0/bin:$PATH

注意:如果添加上面三句还是显示 nvcc not found,首先,查看 cuda 的 bin 目录下是否有 nvcc: cd /usr/local/cuda/bin ,如果存在,vim ~/.bashrc 进入配置文件,把上面三句减少为下面两句(我得经验是,第一步一般不行,直接错了就改成两行)

export PATH=/usr/local/cuda/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 

然后保存退出(长按esc,再按:wq!)

然后需要 source 下生效下。

source ~/.bashrc (这里如果报错,就自己手动输入,不要复制粘贴那两行代码)

 source 后,此时再执行 nvcc -V    执行后界面应该这样

Jetson xavier 刷机与配置环境详细教程,并运行系统提供的Demo(小小小白教程)

2)检查 OpenCV

Jetson Xavier NX 中已经安装了 OpenCV4.1.1 版本,可以使用命令检查 OpenCV 是否安装就绪 :pkg-config opencv --modversion

如果 OpenCv 安装就绪,会显示版本号

注意:如果此条命令无法查看,可以在终端输入 python 进入 python 编程环境,然后添加输入一下两段代码极客查看 opencv 版本

import cv2

cv2.__version__

 Jetson xavier 刷机与配置环境详细教程,并运行系统提供的Demo(小小小白教程)

(3)检查 cuDNN(这一步其实也可以略过,如果cuda没问题,这个一般也没问题)

Jetson-nano 中已经安装好了 cuDNN,并有例子可供运行,我们运行一下例子,也正好验证上面的 CUDA

cd /usr/src/cudnn_samples_v8/mnistCUDNN/            #进入例子目录

sudo make                                         #编译一下例子

./mnistCUDNN                                      # 执行

如果以上无法运行可添加权限: sudo chmod a+x mnistCUDNN

 

四.USB外接摄像头(一般默认接CSI摄像头,如果你是接CSI摄像头此步可以跳过)

(1)输入: ls /dev/video*

如果没有插 CSI 摄像头则应该是 video0

(2)测试摄像头:使用应用程序茄子(cheese)

输入:sudo apt-get install cheese

装好后,用命令: cheese                #打开摄像头

 

五.安装各种包和GPU

(1)安装pip

因为 Jetson Xavier NX 中已经安装了 Python3.6 版本,所以安装 pip 还是比较简单的 ,输入命令:sudo apt-get install python3-pip python3-dev

安装后 pip 是 9.01 版本,需要把它升级到最新版,输入命令:

python3 -m pip install --upgrade pip                #升级 pip

升级后 pip 版本为 20.2.4。这里面升级后会有一个小 Bug,需要手动改一下              

sudo vim /usr/bin/pip3                               #打开 pip3 文件

将原来的

from pip import main

if __name__ == '__main__':

sys.exit(main())

改成(两个下划线,如果修改后有问题,看看是不是你修改错了,这里对按这个对几遍)

from pip import __main__

if __name__ == '__main__':

sys.exit(__main__._main())

修改结束后保存。运行 pip3 -V 成功后显示

Jetson xavier 刷机与配置环境详细教程,并运行系统提供的Demo(小小小白教程)

(2)安装那些机器学习领域非常重要的包(报错是网络问题,多尝试)

sudo apt-get install python3-numpy    #numpy

sudo apt-get install python3-scipy      #scipy

sudo apt-get install python3-pandas    #pandas

sudo apt-get install python3-matplotlib  #matplotlib(这里中途需要输入一个Y)

sudo apt-get install python3-sklearn    #sklearn(这里中途需要输入一个Y)

a确认 CUDA 已经被正常安装,输入命令 :nvcc -V

 

如果能看到 CUDA 版本号,即为正确安装

b安装所需要的包


sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran

如果按y还是一直报错,那就修改命令行如下,在后面加个-y

sudo apt-getinstalllibhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran -y

如果还有错误,请手动输入,复制粘贴可能存在错误。    

(3)安装 TensorFlow GPU   (不建议在线,会出很多错误)

 1.在线安装:

sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow

 

2.离线安装(我上传资源在我主页,可以找到)

可以自行百度下载tensorflow的whl文件,也可以找我要百度云链接,下载后放入home文件夹下,然后输入指令:

pip3 install tensorflow-2.2.0+nv20.6-cp36-cp36m-linux_aarch64.whl

(这里的版本号按你下载的版本修改,下载途中可能也会需要在线安装一些软件包直接Y通过,如果出现一动不动的情况,多试几次,可能是网络问题,或者出现报错,大概率也是网络原因,不厌其烦多试几次总能成功的)

(4)安装 Keras

sudo pip3 install keras

(报错多尝试几次,可能是网络原因)

 

六.配置DEMO运行环境并运行。实行实时监测【这一节我是参考GPUS公司网站,链接会贴在文末,配置环境可参考,调用摄像头命令不是那个】

(1)安装 git 和 cmake

sudo apt-get install libpython3-dev python3-numpy
sudo apt-get install git cmake

接着git 上克隆 jetson-inference 库:

git clone https://github.com/dusty-nv/jetson-inference

 

注意:可能会出现 error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.这个原因是由于 git 默认缓存大小不足导致的,使用下面的命令增加缓存大小 

git config --global http.postBuffer 5242880000

如果还是不行可能是网速慢,配置 git 的最低速度和最低速度时间

git config --global http.lowSpeedLimit 0

git config --global http.lowSpeedTime 999999

(2)安装jetson-inference

cd jetson-inference                           #进入jetson-inference

git submodule update --init                     #取得代码更新版本

 

在进入cmake前,需要调整镜像,输入下面两行命令:(这里其实是换源,不然无法下载)

sed -in-place -e 's@https://nvidia.box.com/shared/static@https://bbs.gpuworld.cn/mirror@g' tools/download-models.sh 

sed -in-place -e 's@https://nvidia.box.com/shared/static@https://bbs.gpuworld.cn/mirror@g' tools/install-pytorch.sh

接着进行cmake

mkdir build                                   #创建 build 文件夹

cd build                                      #进入 build

cmake ../                                    #运行 cmake

正常情况下会下载很多模型,这里如果没能*,请手动下载然后放到上面提到的路径 data/networks

注意:可能会出现个弹框出现说时候安装 pytorch,这个根据个人需要选择。(一直按yes就好,这里如果报错,也是网络原因,多试几次,如果你愿意,半夜装最好)

如果环境备注正确的话,最后会出现下图最后一行“Build files have been written to: xxxxx/build” 的信息,否则就会出现错误信息。如果出现错误,建议把 build 目录产生的内容全部清空(在 build 目录下执行 rm -rf *),然后重新 cmake ..(建议直接从home里删除jetson-inference文件夹全部重新开始)下面是配置好的界面。

 Jetson xavier 刷机与配置环境详细教程,并运行系统提供的Demo(小小小白教程)

配置好后继续执行以下命令:

make -j4                   #使用 4 个 CPU 核同时编译
sudo make install               #要写入系统目录去

Jetson xavier 刷机与配置环境详细教程,并运行系统提供的Demo(小小小白教程)

这就完成了所有配置过程,过程会将执行档存在jetson-inference/buidl/aarch64/bin 下,请自行更换到该目录,然后执行调用命令./imagenet-console ./images/bird_0.jpg output.jpg

找到对应目录下查看 output.jpg 如下,会在图片上端显示识别结果(建议直接实时检测,这个命令用的时候我第二次有问题了,可以自行查jetson-inference文件夹下的代码说明

 (3)调用摄像头实时检测(记得在前面提供的bin目录下执行命令)

命令:

./detectnet.py /dev/video0

说明:这个命令你看到的时候,不一定就是这个了,楼主第三次重刷系统时,之前那个命令就没法用了,如果你这里输入命令出现报错,就去readme文件里查看每个功能的说明文件,这里楼主是在detect net-camera.md文件里找到了说明。这里我调用的python代码

 Jetson xavier 刷机与配置环境详细教程,并运行系统提供的Demo(小小小白教程)

 GPUS运行Demo:http://www.gpus.cn/gpus_list_page_techno_support_content?id=52

jetson群号:725916205(群主跟群里的人都很友好,欢迎大家加入交流)

 

 

 

 

 

上一篇:深度学习——Xavier初始化方法


下一篇:flir相机在xavier上安装教程