Jetson Orin Nano下部署 Yolo v5

news2025/1/14 2:20:35

       在网上找了好多关于Jetson Nano部署Yolo v5的帖子,由于每个人的环境和版本都不同,过程也都有所不同,因此在Jetson Orin Nano CLB上安装Yolo v5也有必要记录一下过程,以便后续无脑重装,让我们开始。 

       由于我这个Jetson Orin Nano CLB是固态硬盘的形式,没有SD卡槽,因此不能按Nvidia官方采用SD卡进行系统烧录的方式。

一、烧录

1. 由于之前虚拟机的系统是22.04很多东西都太新了,导致按教程安装有问题,懒得降级,这里在VMware虚拟机里直接安装64位ubuntu18.04系统并保持apt-get update 和 grade到最新,如果太慢就换源。

 2. 安装烧录环境,分别执行以下命令。

sudo apt-get install qemu-user-static

sudo apt-get install python

直到输入python -V能显示python 2.7就OK。

 3. 将Jetson Orin Nano CLB套件客户资料文件夹下的这两个文件拷贝到ubuntu的某个文件夹下。

4. cd到这两个文件所在目录下,分别执行以下命令解压缩文件,这两个解压缩时间都很久,要耐心等候。

tar xf Jetson_Linux_R35.3.1_aarch64.tbz2
sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2 -C Linux_for_Tegra/rootfs/

 以上是参考Nvidia官网的烧录教程

Quick Start — Jetson Linux Developer Guide documentation

 如果遇到下图所示的错误信息,说明文件有错误,解压失败。那就需要到官网Jetson Linux Archive | NVIDIA Developer重新下载固件并执行以上操作。

官网固件下载指引见下图: 

 

 5. 配置

cd 到Linux_for_Tegra目录下,分别执行以下命令:

sudo ./apply_binaries.sh
./tools/l4t_flash_prerequisites.sh

6. 烧录

短接FC_REC和GND(这个角度看,是从上往下第二个和第三个引脚),接上TypeC接口,保证虚拟机的USB设置兼容USB3.1,否则连接不上,完了之后上电。

确保NVIDIA APX被勾选 

如果没有,并且连接显示为灰色。请移步到这位兄台的页面下

VMware能识别usb设备,但无法连接(灰色)的问题解决办法_虚拟机显示所有usb输入设备灰色_黑刀夜的博客-CSDN博客

cd 到Linux_for_Tegra目录下,分别执行以下命令开始烧写,需要耐心等待,中间有一步会显示以上画面,要及时选择"连接到虚拟机",才能正常烧录进去:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
  -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \
  --showlogs --network usb0 jetson-orin-nano-devkit internal

直到出现以下信息,烧录完毕,拔掉跳线,重新上电即可。

二、CUDA环境安装

1. 安装pip3

sudo apt-get install python3-pip
sudo pip3 install -U pip

2. 安装Jtop

sudo pip3 install -U jetson-stats

安装好之后,就可以输入命令打开jtop,看到Libraries没有安装。

sudo jtop

 3. 安装Library

sudo apt-get install nvidia-jetpack

完成之后再来看jtop,库已经装好了,并且能显示版本。

4. 连接并测试摄像头(这个角度看,排线黑色一面朝里,金手指朝外)

git clone https://github.com/jetsonhacks/CSI-Camera

 cd到CSI-Camera文件夹下,执行以下命令以启动测试程序,检测摄像头显示是否正常。

python3 simple_camera.py


三、安装pytorch与torchvision

由jtop的信息中可以得知Jetpack的版本为Jeppack 5.1.1。根据Nvidia官网链接 以及PyTorch链接可知对应的pytorch和torchvision版本如下:

 但实际上,Jetpack 5.1.1可用的版本组合是 pytorch 1.14.0,而torchvision对应的版本为torchvision 0.15.1

先安装依赖库

sudo apt-get -y install autoconf bc build-essential g++-8 gcc-8 clang-8 lld-8 gettext-base gfortran-8 iputils-ping libbz2-dev libc++-dev libcgal-dev libffi-dev libfreetype6-dev libhdf5-dev libjpeg-dev liblzma-dev libncurses5-dev libncursesw5-dev libpng-dev libreadline-dev libssl-dev libsqlite3-dev libxml2-dev libxslt-dev locales moreutils openssl python-openssl rsync scons python3-pip libopenblas-dev;

Nvidia官网里Jetpack对应的torch和torchvision 这里选v51/pytorch/里的最后一个

下载whl文件后安装torch

pip3 install torch-1.14.0a0+44dac51c.nv23.02-cp38-cp38-linux_aarch64.whl

使用下面的命令行从源码安装torchvision 0.15.1及其依赖库:

sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
pip3 install --upgrade pillow
wget https://github.com/pytorch/vision/archive/refs/tags/v0.15.1.zip
unzip v0.15.1.zip
cd vision-0.15.1
export BUILD_VERSION=0.15.1
python3 setup.py install --user

这个过程有点慢,需耐心等候,如果失败,再多试几次 。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/444051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【IT成神路之我在起点学网络~】

什么是网络,一开始我以为是能刷刷剧,让我看到心仪idol,坐在家中看祖国大好河山就是网络。 长时间浸泡在网络上,不得不让我思索我为什么能看到高清不卡顿的精彩视频。 于是乎……我开始大肆搜索网络的资料内容。 IT嘛&#xff0…

OCR技术大揭秘:纸质文档数字化的新选择

引言 OCR(Optical Character Recognition)即光学字符识别技术,是一种将纸质或电子文档中的印刷文字转化为可编辑和可搜索的数字文本的技术。随着数字化和信息化的快速发展,OCR 技术逐渐成为处理大量纸质或电子文档的主要手段之一…

【Zblog建站】搭建属于自己的博客网站,并内网穿透实现公网访问

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕…

基于Java+Springboot+vue网上商品订单转手系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

机器学习(一)K近邻算法(KNN)原理剖析及python源码

本篇介绍第一个机器学习算法:k-近邻算法,它非常有效而且易于掌握。首先,我们将探讨k-近邻算法(KNN)的基本理论,以及如何使用距离测量的方法分类物品;其次我们将使用Python从文本文件中导入并解析…

【C++】你知道为什么在写C++代码之前要在开头写上using namespace std吗?

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

如何设计一个高并发系统

目录 如何理解高并发系统 1. 分而治之,横向扩展 2. 微服务拆分(系统拆分) 3. 分库分表 4. 池化技术 5. 主从分离 6. 使用缓存 7. CDN——加速静态资源访问 8. 消息队列——削锋 9. ElasticSearch 10. 降级熔断 11. 限流 12. 异步…

算法刷题总结 (八) 前缀和

算法总结8 前缀和 一、前缀和的概念1.1、什么是前缀和?1.2、常见类型1.2.1、求数组前i个数之和1.2.2、求数组的区间和 二、经典例题2.1、求数组前i个数之和560. 和为 K 的子数组 - 前缀和哈希表525. 连续数组 2.2、求数组的区间和303. 区域和检索 - 数组不可变643. …

学系统集成项目管理工程师(中项)系列06b_信息系统安全管理(下)

1. 物理安全管理 1.1. 计算机机房与设施安全 1.1.1. 计算机机房 1.1.1.1. 机房场地选择 1.1.1.2. 机房空调、降温 1.1.1.2.1. 基本温度要求 1.1.1.2.1.1. 应有必要的空调设备,使机房温度达到所需的温度要求 1.1.1.2.2. 较完备空调系统 1.1.1.2.2.1. 应有较完…

C语言——隐式转换

目录 前言 隐式转换 1.整型提升 2.算数转换 前言 这里小编给大家简单的补充一下,一些有关C语言的知识点 隐式转换 由于转换形式的不同类型转换这里一共分为整型提升和运算转换两种形式 1.整型提升 在了解整型提升之前,这里我们需要先了解一下截断…

自媒体助手软件开发需具备哪些功能?

自媒体助手软件开发需具备哪些功能? 1、多平台多账号管理。 用户可以在单独的平台上管理其他平台的账号,不需要登录多个平台,为用户减少了大量的时间,与此同时可以记忆账号和密码,提供分组管理&#xff…

【C进阶】详解预处理指令

文章目录 预定义符号#define#define定义标识符#define定义宏#define替换规则#和##带副作用的宏参数宏和函数对比#undef命令行定义 条件编译文件包含头文件被包含的方式嵌套文件包含 其他预处理指令总结 预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DA…

解码星地一体农机导航:无网作业,极致

星地一体系列农机导航最强大之处是在全国任何地方都拥有信号,即使是在偏远的戈壁滩也能作业,因为星地一体系列导航采用星地融合技术,彻底解决信号问题,通过卫星播发差分信号的服务,在中国,只要可见卫星&…

Windows下如何查看某个端口被谁占用被杀死占用进程

开发时经常遇到端口被占用的情况,这个时候我们就需要找出被占用端口的程序,然后结束它,本文为大家介绍如何查找被占用的端口。 1、打开命令窗口(以管理员身份运行) 开始—->运行—->cmd,或者是 windowR 组合键,…

Win10桌面我的电脑怎么调出来?最简单方法教学

Win10桌面我的电脑怎么调出来?有用户发现自己的电脑桌面没有我的电脑这个程序图标,每次要访问磁盘的时候,开启都非常的麻烦。那么怎么将这个图标设置到桌面显示呢?接下来我们一起来看看以下的解决方法吧。 方法一: 在开…

论文中参考文献的引用

论文中参考文献的引用 写在最前面删除特定格式的数字(带小中大括号等等)效果如下 设置参考文献格式设置编号格式设置段落格式效果 使用交叉引用去引用这些编号在需要插入参考文南引用的地方使用“交叉引用”快捷键进阶:为“交叉引用”设置快捷键 写在最前…

maven安装及配置IDEA

文章目录 下载下载完成后 解压可以得到如下的目录项 配置环境变量输入下列命令 出现 maven版本表示环境变量配置成功 配置本地仓库、镜像仓库、jdk版本配置本地仓库配置镜像仓库配置jdk版本 IDEA配置maven配置当前项目的maven配置其他项目的maven 下载 https://maven.apache.o…

威联通NAS文件共享 - 搭建SFTP服务并内网穿透实现在外远程访问

文章目录 前言1. 威联通NAS启用SFTP2. 测试局域网访问3. 内网穿透3.1 威联通安装cpolar内网穿透3.2 创建隧道3.3 测试公网远程访问 4. 配置固定公网TCP端口地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址4.3 测试使用固定TCP端口地址远程连接威联通SFTP 转载自远程内…

Java web 项目 和 java 项目的区别

一、Java Web项目 和 java项目区别 1. Java Web项目是基于Java EE类的;而Java项目是基于Java应用程序的。 2. Java Web项目是网页的编码,像jsp,servlet,struts这类的,而java项目是AWT,SWING这类的编码。 3. Java Web项目中的JAVA文件是tomcat…

【CocosCreator入门】CocosCreator组件 | Layout(布局)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中的Layout组件是一种用于实现节点自适应布局的重要组件。它可以根据不同的布局方式,自动调整子节点的位置和大小,从而实现节点的自适应布局。 目录 一、组件介绍…