Jetson Xavier NX 部署Yolov5

2023-05-16

大部分过程非原创,写这篇文章主要是因为设备不同出的问题也各不相同,需要到处去找解决方法,因此我把配置过程中遇到的全部问题以及解决方法记录在此。

注:该博客原文来自Jetson nano/NX 部署Yolo v5过程记录

一、配置cuda环境

烧录Jetpack时已经内置好了cuda,但需要配置环境变量才能调用

打开终端:

gedit ~/.bashrc

打开后在最底部添加:

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

保存退出并查看cuda是否配置成功
终端依次输入:

source ~/.bashrc
nvcc -V

输出以下即可:
在这里插入图片描述

二、安装pip3并配置需要的库

sudo apt-get update
sudo apt-get install python3-pip python3-dev -y
sudo apt-get install build-essential make cmake cmake-curses-gui -y
sudo apt-get install git g++ pkg-config curl -y
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y
sudo apt-get install libhdf5-serial-dev hdf5-tools -y
sudo apt-get install nano locate screen -y

三、安装所需的依赖

sudo apt-get install libfreetype6-dev -y
sudo apt-get install protobuf-compiler libprotobuf-dev openssl -y
sudo apt-get install libssl-dev libcurl4-openssl-dev -y
sudo apt-get install cython3 -y

四、安装opencv的系统级依赖和一些编解码的库

sudo apt-get install build-essential -y
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install ffmpeg -y

五、更新CMake

这一步是必须的,因为ARM架构的很多东西都要从源码编译,这里我遇到点小问题,具体看下面

下载并解压:

wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/

进入文件夹:

cd cmake-3.13.0/

编译:

./bootstrap --system-curl	
make -j4 

添加环境变量:

echo 'export PATH=~/cmake-3.13.0/bin/:$PATH' >> ~/.bashrc

更新.bashrc:

source ~/.bashrc

我遇到的问题:
在CMake上找不到CURL(缺少:CURL_LIBRARY CURL_INCLUDE_DIR)
其实是前面下载依赖和库的时候少了下面这些,补上就好了:

sudo apt-get install curl
sudo apt-get install libssl-dev libcurl4-openssl-dev

一个小提示:
Jetson设备会出现大容量设备无法挂载的情况,一条安装命令解决

sudo apt-get install exfat-utils

六、安装pytorch

失去显卡的开发板算力暴跌!这里的pytorch以及接下来的torchvision等包都需要安装Nvidia官网给出的版本

1.下载pytorch1.8

https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048

或借用博主:IamYZD的链接:

#BaiDu
https://pan.baidu.com/s/1Nfm9w1DfE2k_cZQ1zTykMQ
提取码:zpsa

#CSND
https://download.csdn.net/download/IamYZD/21027946

2.安装pytorch1.8

进入pytorch-torchvison,在里面执行

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

七、安装torchvision 0.9.0版本

注:pytorch和torchvision版本是需要对应的!

1.提前打上我们需要的依赖(是我踩过的大坑没错了)

sudo apt-get install libopenmpi2
sudo apt-get install libopenblas-dev
sudo apt-get install libjpeg-dev zlib1g-dev

2.安装

这里我按照其他教程执行“python3 setup.py install”出现了illegal instruction(core dumped)的错误。
错误原因是没有添加系统变量因为jetson系列板块核心架构非常规。

终端打开:

gedit ~/.bashrc

将下面这段加到最底部:

export OPENBLAS_CORETYPE=ARMV8

退出并更新:

source ~/.bashrc

进入到torchvision这个包:

cd torchvision	

执行:

export BUILD_VERSION=0.9.0
python3 setup.py install --user

3.检验一下是否成功安装

python3
import torch
import torchvision
print(torch.cuda.is_available())	  # 这一步如果输出True那么就成功了!
quit()	                              # 最后退出python编译

注:若出现跟pillow有关的错误,应该是当前版本过高
可执行卸载命令 (慎重)

pip3 uninstall pillow

重新安装需要的版本

sudo pip3 install pillow==8.4.0

八、下载yolov5-5.0源码

再借博主:IamYZD的链接:

#BaiDu
https://pan.baidu.com/s/1UGJX7d2sSx04whjbQb3RTA
提取码:q0f3

九、安装yolov5需要的包

sudo pip3 install matplotlib==3.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip3 install --upgrade Cython	                            #更新一下这个包

numpy有些特殊,已经自带了,但是是apt-get安装的,所以先卸掉原来的,也方便之后包的管理

sudo apt-get remove python-numpy
sudo pip3 install numpy==1.19.4
sudo pip3 install scipy==1.4.1.	     # 巨慢,二十多分钟好像

这之后的一些包我在安装时都没有指定版本,这里的指令是根据之后pip3 list补上的(需执行)
安装以下时间会很长,耐心等

sudo pip3 install tqdm==4.61.2
sudo pip3 install seaborn==0.11.1
sudo pip3 install scikit-build==0.11.1	        # 安装opencv需要这个包
sudo pip3 install opencv-python==4.5.3.56	    # 不出意外也是一个相当漫长的过程
sudo pip3 install tensorboard==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip3 install --upgrade PyYAML	           # 我升级到了5.4.1 也可以sudo pip3 install PyYAML==5.4.1
sudo pip3 install thop
sudo pip3 install pycocotools

注:若出现protobuf requires Python ‘>=3.7‘ but the running Python is 3.6.9的情况, 执行

python3 -m pip install --upgrade pip 

或者

python -m pip install --upgrade pip 

最后

经过以上配置,不出意外的话各位的Jetson Xavier NX上已经可以正常跑yolov5了
在源码的detect.py同目录下

python3 detect.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetson Xavier NX 部署Yolov5 的相关文章

  • jetson nano 编译pyrealsense2 运行t265

    在win10 的环境下 xff0c 安装pyrealsense2 xff0c 只需要简单的pip就可以了 xff0c 没想到在jetson nano下却花了那么多时间和精力 其实解决方案网上都有 xff0c 但是比较零碎 xff0c 只能遇
  • YOLO-darknet-on-Jetson-TX2

    YOLO darknet on Jetson TX2 https github com Alro10 YOLO darknet on Jetson TX2 software https blog csdn net cherry dr art
  • 在Jetson Nano上编译FastDeploy

    1 C 43 43 库的编译 span class token function git span clone https github com PaddlePaddle FastDeploy git span class token bu
  • 4.jetson更换python版本

    问题与背景 jetson自带的python版本是3 6 9 xff0c 太老旧了 xff0c 希望更换python版本 尝试替换成python3 7的版本 但是在未替换之前 xff0c 已经装了pip3了 xff0c 是否pip3会与pyt
  • 英伟达Jetson Nano 开发(2)、Jupyter-Lab配置

    英伟达Jetson Nano 开发 xff08 2 xff09 Jupyter Lab配置 前言安装JupyterLab设置密码生成Jupyter lab配置文件设置配置文件远程开启JupyterLab后记 前言 本篇继续jetson na
  • jetson镜像克隆到固态再扩容简单方法

    jetson克隆方法很多 xff0c 我是自己把之前的sd镜像克隆做成img镜像了 然后烧写后之前是64g的后续烧写都是64g的不能把新的储存设备占满 这里有一个扩容和移植到固态的方法 主要分三步 xff1a 镜像克隆和烧录到sd卡使用固态
  • 干货-YOLOv5检测烟火

    火灾是一种常见的自然灾害和事故 经常给人们的生命财产安全带来威胁 在人力无法及时发现火灾的情况下 火势可能迅速扩散 造成不可挽回的损失 因此 及时发现火灾并采取有效的救援措施至关重要 利用计算机视觉技术检测火灾具有以下意义 提高火灾检测效率
  • yolov5代码--注释

    yolov5目录结构 yolov5 detect py代码详解 https blog csdn net CharmsLUO article details 123422822 spm 1001 2014 3001 5506 yolov5 t
  • dockerfile

    当我在dockerfile里面想安装torchvision WORKDIR vision 0 8 1 WORKDIR相当于cd 进入文件夹执行 RUN python3 setup py install user 想要安装时 报错 Trace
  • 阿里天池比赛——街景字符编码识别

    文章目录 前言 一 街景字符编码识别 1 目标 2 数据集 3 指标 总结 前言 之前参加阿里天池比赛 好久了 一直没有时间整理 现在临近毕业 趁论文外审期间 赶紧把东西整理了 5月底学校就要让我们滚蛋了 哭哭哭 大运会的牺牲品 一 街景字
  • 解决:Jetson系列python3 import 报错 “Illegal instruction core dumped “

    解决 Jetson系列python3 import 报错 Illegal instruction cpre dumped 解决方法 解决方法 编辑环境变量 sudo gedit bashrc 在最后一行添加 export OPENBLAS
  • 睿智的目标检测56——Pytorch搭建YoloV5目标检测平台

    睿智的目标检测56 Pytorch搭建YoloV5目标检测平台 学习前言 源码下载 YoloV5改进的部分 不完全 YoloV5实现思路 一 整体结构解析 二 网络结构解析 1 主干网络Backbone介绍 2 构建FPN特征金字塔进行加强
  • YOLOV5摔倒检测识别

    一 摔倒检测的实际意义 摔倒检测是一种人工智能技术 可用于监测和识别可能发生在老年人 幼儿 体育运动员等群体中的摔倒事件 在实际应用中 摔倒检测技术可以帮助本文 及时发现摔倒事件 通过监测设备和传感器 及时发现摔倒事件 可以避免因为无人发现
  • 使用cocotools对yolov5 6.1的检测结果进行评估(其他模型类似,只需要调整数据格式为coco的就行)

    介绍 本博客是讲如何使用yolov5对测试集进行检测 然后使用cocotools进行评估 增加COCOeval的每个类别ap显示 5 0版本模型看这个博客 代码 5 0版链接 6 1版链接 环境 pytorch只需要保证能跑起来yolov5
  • 基于Yolov5目标检测的物体分类识别及定位(一) -- 数据集原图获取与标注

    从本篇博客正式开始深度学习项目的记录 实例代码只会放通用的代码 数据集和训练数据也是不会全部放出 系列文章 基于Yolov5目标检测的物体分类识别及定位 一 数据集原图获取与标注 基于Yolov5目标检测的物体分类识别及定位 二 yolov
  • Yolov5目标检测环境搭建过程(Cuda+Pytorch+Yolov5)

    本文介绍了如何搭建yolov5目标检测代码的环境 详细记录了python虚拟环境 安装pytorch 加载yolov5项目以及运行检测程序的全过程 完成了本文的yolov5项目搭建后 可以查看本文下一篇文章 使用yolov5训练自己的数据集
  • 纯代码干货-Python基于YOLOv5的车辆检测并计数

    首先 你需要安装YOLOv5 可以通过官方文档了解安装步骤和相关依赖 接着 你需要准备训练好的车辆检测模型和测试图片或视频 1 导入库 import cv2 import torch from models experimental imp
  • nvidia tx/xavier/orin硬件平台上添加开机启动程

    概述 随着NVIDIA的xavier及orin系列硬件平行推出 自动驾驶车端处理器也逐渐频繁开发及使用 开机脚本使用 etc profile 通常在系统登录时 会执行 多次登录 多次执行 xavier上增加开机启动脚本 不能在 etc pr
  • 清晰、幽默、轻松地深入理解YOLOv5网络结构和一些细节(查阅无数资料文献总结)

    最近的一篇关于YOLOv5检测小目标博客的点击量很高 没想到YOLOv5还是很有影响力的 既然这样 今天本人就本着幽默 清晰 轻松的风格带大家深入了解一下YOLOv5那倾倒众生的网络结构 和它较之其他算法的改进之处 还是一句话 希望我的不经
  • AssertionError:标签类 15 超出 data/coco128.yaml 中的 nc=1。可能的类标签是 0-0

    最近几天我一直在构建 yolov5 环境并尝试运行它 我使用以下代码来测试我的设置是否成功 python train py img 640 data data coco128 yaml cfg models yolov5s yaml wei

随机推荐

  • linux系统实现tcp协议通讯

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 一 tcp通讯的链接二 使用步骤1 引入库2 读入数据 注意 提示 xff1a 以下是本篇文章正文内容 xff0c 下面案例可供
  • 无人机拉力测试台-无人机拉力、扭矩、转速测试教学

    无人机动力系统 测试实验实训教学课程 amp nbsp 实验课程3 xff1a 动力系统基础测试参数测试实验 课程内容 xff1a 1 amp nbsp 无人机动力系统基础测试参数解读 2 amp nbsp 无人机动力系统基础参数测试实验
  • 无人机拉力测试台-无人机动力系统匹配试验

    无人机动力系统 测试实验实训教学课程 amp nbsp 实验指引 一 实验开设背景 人社部2020年8月27号在 新职业 无人机装调检修工就业景气现状分析报告 中说明 xff0c 预计未来五年无人机装调检修工需求量约350万人 无人机装调检
  • 无人机动力测试-无人机电机、螺旋桨、电调测试

    无人机动力系统 测试实验实训教学课程 实验课程4 xff1a 动力系统基本参数测量与验证 课程内容 xff1a 1 amp nbsp 动力系统性能参数及性能特性曲线 2 amp nbsp 动力系统性能参数及性能特性曲线测试实验 实验器材 x
  • ubuntu18.04环境搭建

    1 ubuntu安装make xff1a sudo apt install make sudo apt install make guile 2 ubuntu上安装git xff1a 运行Ubuntu的主机 打开终端 xff0c 输入 su
  • 从0到1!Ubuntu上搭建Kubernetes Cluster

    目录 一 环境准备 二 初始化工作 1 设置root用户密码 2 使用xshell连接三台主机 3 设置主机名和修改hosts文件 4 安装依赖软件以及关闭停用不需要使用的软件 5 时间的同步与时区设置 6 关闭swap分区 7 在 kub
  • 傅立叶变换和拉普拉斯变换的区别

    傅立叶变换可以看做拉普拉斯变换的特殊形式 拉氏变换就是将原时域函数乘上一个与o相关的衰减 子 因为傅氏变换要求绝对可积 xff0c 但实际上很多函数不满足 xff0c 乘上衰减因子之后就基本都可以 了 之后做傅氏变换得来 假如这个为0就还是
  • 一篇让你完全弄懂GPIO的8种配置模式

    前言 配置GPIO口是我们软件开发中必须要掌握的 xff0c 每个模式的作用效果也是需要清楚的 如果连gpio应该配置成什么模式都不懂 xff0c 是无法进行后面的开发的 1 输入模式 1 1 浮空输入模式 I O端口的电平信号进入输入数据
  • 上位机与下位机的通讯

    一 概念 上位机 xff1a 是指人可以直接发出操作命令的计算机 xff0c 一般指PC 人机界面等 发出的命令首先给下位机 xff0c 下位机再根据命令解释成相应的时序信号 xff0c 直接控制相应设备 下位机 xff1a 直接控制设备获
  • OptiTrack Motive 使用教程

    相机标定 最近在使用Quanser的地面车做实验 xff0c 需要用到OptiTrack系统进行定位 xff0c 记录一下使用过程 xff0c 供需要的人参考 本文参考了以下博客 xff1a https blog csdn net banz
  • 一种int型、float型转char型以及回转方法

    摘要 xff1a 本文讲述一种可以在STM32F103C8T6上面运行的一种int型 float型转char型以及回转方法 xff0c 一般用于计算好的数据输入到传感器中或物联网器件中 xff1b 把传感器中的数据提取出来计算等等 实验时间
  • Ubuntu18 python多版本管理切换

    一 背景 Ubuntu18 04电脑 xff0c 安装有python2 7和python3 6 9两个python版本 xff0c 目前像安装另一款软件 xff0c 依赖要求是python gt 61 3 7 xff0c 但又不想删除pyt
  • 解决“E: Package ‘libqtgui4‘ has no installation candidate”无法安装qt4

    使用场景 xff1a Ubuntu20 4 xff0c VMware16pro 笔者在安装Ubuntu下的网络调试助手NetAssist xff0c 遇到了 E Package libqtgui4 has no installation c
  • 时序数据插值,对GPS采样数据进行线性插值

    此篇为上一篇的接续 xff0c 对时序数据进行插值 上篇文章 解析kml文件 xff0c 提取经纬度信息存入csv 将kml里面的信息提取了出来 xff0c 但是有些数据间隔太大 xff0c 甚至几十秒才一个采样点 xff0c 需求对这样的
  • Jetson nano/NX安装Opencv Cuda版

    一 卸载系统自带的opencv sudo apt span class token operator span get purge libopencv span class token operator span python span c
  • Jetson Xavier NX-EMMC重装系统

    Jetson xavier NX EMMC版本重装系统相对比较麻烦 xff0c 以下方法本人已经试过多次 xff0c 基本没有出现什么问题 一 安装虚拟机 安装虚拟机的步骤我们不多过述 xff0c 网上有许多博客讲述虚拟机安装 我们这里主要
  • JTAG、JLINK、ULINK、ST-LINK

    一 JTAG JTAG用的计算机的并口 xff0c JTAG也是一种国际标准测试协议 xff08 IEEE 1149 1兼容 xff09 xff0c 主要用于芯片内部测试 现在多数的高级器件都支持JTAG协议 如DSP FPGA器件等 标准
  • ubuntu18.04安装Ros(详细)

    Ubuntu18 04安装Ros本人已试过多次 xff0c 安装过程基本没出现问题 xff0c 而且该方法也可用在Jetson nano NX 上 一 设置软件源 xff1a 清华源 xff1a sudo sh c 39 etc lsb r
  • Jetson Xavier NX安装Mavros

    Px4飞控通过USB线连接Jetson Xavier NX xff0c 如果需要进行软连接 xff0c 即通讯 xff0c 需要下载Mavros功能包 xff0c 并通过启动命令进行连接 安装Mavros sudo apt install
  • Jetson Xavier NX 部署Yolov5

    大部分过程非原创 xff0c 写这篇文章主要是因为设备不同出的问题也各不相同 xff0c 需要到处去找解决方法 xff0c 因此我把配置过程中遇到的全部问题以及解决方法记录在此 注 xff1a 该博客原文来自Jetson nano NX 部