jetson nano(jetpack4.6)跑通jetson-inference(Hello AI World)

本文章作为笔记所用


环境
jetson nano 4GB,jetpack4.6,L4T 32.6.1,TensorRT 8.0.1,cuDNN 8.2.1,CUDA 10.2,OpenCV 4.1.1

按照官方文档的步骤安装:

先下载jetson-inference

$ sudo apt-get update
$ sudo apt-get upgrade  ---> 选择Automatically restart Docker daemon? -> Yes
$ sudo apt-get install git cmake libpython3-dev python3-numpy
$ git clone --recursive https://github.com/dusty-nv/jetson-inference

当执行到git clone这一句时会报错:

fatal: unable to access 'https://github.com/dusty-nv/jetson-inference': gnutls_handshake() failed: The TLS connection was non-properly terminated.

解决方法:将https 改成git,参考文章

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

但是发现里面有部分文件下载不全,主要原因是因为所下载的项目仓库的一些子模块是通过链接的方式链接到主项目目录上的(即要下载的工程带有子模块)。而这些子模块的仓库是单独建立在另外的目录下,且地址都以https开头,故还是会报相同的错误,所以clone不全

解决方法有二:https://blog.csdn.net/Sunchanghaosch/article/details/103947156
方法一:
手动找那些子模块是三方模块,然后从主项目仓库点进去,手动下载到主项目相应目录下。
方法二:
cd到git clone之后的项目主目录下,执行下述命令即可。(个人感觉其实就是再重新把子模块再git clone一次,还是会报同样的错误)

$ git submodule update --init --recursive
# 可能还要先执行
$ git init

如果还是没用,个人的解决方法:启发文章

可以将该项目fork到自己账号的仓库中,然后在自己仓库中修改.gitmodules文件里的信息,可以将子模块库的url里的https替换成git,然后再直接git自己仓库的项目

# 这是我的,但不保证是最新版本
$ git clone --recursive git://github.com/anbai1223/jetson-inference.git

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

下载好jetson-inference后,继续

因为网络问题,下载模型会很慢,还有可能下载不了,所以先注释掉下载模型的语句,后面我们可以按需下载模型,再将模型放到jetson-inference/data/networks目录下,可以参考这位博主的文章,里面有各个模型的下载方式:https://blog.csdn.net/baidu_26678247/article/details/109025873

$ cd jetson-inference
$ vim CMakePreBuild.sh
# 注释掉运行下载模型的那句代码:“./download-models.sh $BUILD_INTERACTIVE”

在这里插入图片描述


编译jetson-inference:

在jetson-inference目录下创建build文件夹,在build里编译:

$ mkdir build
$ cd build
$ cmake ../

模型下载脚本(download-models.sh)和pytorch安装脚本(install-pytorch.sh)都在tools文件夹下,在build目录下执行cmake …/时,会将这两个文件复制至build目录下并执行。

在下载torch时失败:
在这里插入图片描述
所以这里需要我们自行下载pytorch,但在下载之前需要确定下载版本,(注意:先读脚本(install-pytorch.sh),确认你的jetpack版本和L4T版本,看脚本原来会帮你下载哪个版本的pytorch,这里是jetpack4.6,L4T R32.6.1的,所以脚本会下载pytorch1.6.0的)

$ dpkg-query --showformat='${Version}' --show nvidia-l4t-core   # 查L4T版本

在这里插入图片描述
在这里插入图片描述
自行下载torch-1.6.0-cp36-cp36m-linux_aarch64.whl
参考:https://blog.csdn.net/baidu_26678247/article/details/109025873
网上一个博主已经下好在gitee,可以git clone下来

git clone https://gitee.com/XPSWorld/pytorch1.6.0.git

然后解压zip文件,得到whl文件
然后运行

sudo pip3 install torch-1.6.0-cp36-cp36m-linux_aarch64.whl

安装pytorch成功后

在jetson-inference/tools目录编辑install-pytorch.sh,将下载pytorch的几句语句注释掉,并且将下载pytorch的函数中的git clone的https替换成git。(在build目录下执行cmake …/时,会将模型下载脚本(download-models.sh)和pytorch安装脚本(install-pytorch.sh)这两个文件复制至build目录下并执行。)

注:这是对应我的jetpack和L4T版本,该脚本会执行这个函数
在这里插入图片描述
在这里插入图片描述

再次编译

$ cd ~/jetson-inference/build/
$ cmake ../
$ make -j$(nproc)    # 使用-j(nproc)可以最大限度使用cpu核,加速编译
$ sudo make install   # 要将编译结果写入系统文件所以要用到sudo
$ sudo ldconfig     # 立即让编译的结果生效

编译完成!


测试

$ cd ~/jetson-inference/build/aarch64/bin/
# 运行测试程序,会在当前目录生成一张图片output_0.jpg
$./imagenet-console images/orange_0.jpg output_0.jpg

在这里插入图片描述


至此,可以跑通hello ai world案例







参考文章:
https://github.com/dusty-nv/jetson-inference
https://github.com/dusty-nv/jetson-inference/blob/master/docs/building-repo-2.md
https://blog.csdn.net/baidu_26678247/article/details/109025873

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值