jetsonTX2 nx配置yolov5和D435I相机,完整步骤

转载一篇问题解决博客:问题解决

一、烧录系统

使用SDK烧录

二、安装archiconda3

JETSON TX2 NX的架构是aarch64,与win10,linxu不同,所以不能安装Anaconda,这里安装对应的archiconda。

1. 安装

wget https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh
bash Archiconda3-0.2.3-Linux-aarch64.sh

2. 配置环境变量

sudo gedit ~/.bashrc
# 在文档最后一行添加
export PATH=~/archiconda3/bin:$PATH

3. 创建虚拟环境

# 创建python3.6的torch1虚拟环境,注意安装python版本为3.6,这样才有对应的torch版本
conda create -n torch1 python=3.6  

其他相关命令(来源:相关命令)

conda update -n base conda  # update最新版本的 conda
conda create -n xxxx python=3.X  # 创建python3.X的xxxx虚拟环境
conda activate xxxx  # 开启xxxx环境
conda deactivate  # 关闭环境
conda env list   # 显示所有的虚拟环境
conda info -e   # 显示所有的虚拟环境
conda install -c channel/path //  # 下载包
conda remove --n env_name  package_name  # 卸载包
pip uninstall  package_name  # 先进入环境然后卸载包
conda remove -n env_name --all  # 删除虚拟环境
conda deactivate  # 退出当前conda环境
rm -rf anaconda3 # 卸载conda

换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

安装成功截图
安装成功截图

三、安装torch和torchvision

注意cuda,torch,torchvision版本对应关系,以及自己jetson板子的jetpack版本。
在这里插入图片描述
在这里插入图片描述
1. 安装torch
英伟达官网下载torch:torch下载链接
这里我jetpack版本是4.6.4,我下载的是torch1.8.0,可以根据自己需求下载其他版本。
在这里插入图片描述

2. 安装torchvision
torchvision下载与torch不一样,jetson系统架构是aarch64的,这里需要去github上下载:torchvision下载链接。下载官方repo,自己编译安装。

sudo apt-get install libjpeg-dev zlib1g-dev
git clone -b v0.9.0 https://github.com/pytorch/vision torchvision  # 版本可以自己选择
cd torchvision
sudo python3 setup.py install

也可以直接下载编译好的包,进行pip安装,本文也是采用这种方式。百度网盘链接 提取码:zsrv
下载完成后直接pip安装

pip install torchvision-0.9.0a0+01dfa8e-cp36-cp36m-linux_aarch64.whl

3. 测试
输入python进入python命令行,安装如下代码进行测试,返回版本信息代表安装成功。

在这里插入图片描述
4. 相关问题

  • 使用pip install安装时,报错 非法指令 核心已转储,我的解决方法,重新安装了archiconda3的0.2.2版本,然后创建虚拟环境,进入虚拟环境,执行sudo apt-get install python-pippip install --upgrade pip,再重新安装torch和torchvision后解决。(这里一般是numpy包的问题,numpy包要小于1.20,反复尝试后我安装的1.19.5)
  • conda安装包一直卡在solving environment,换一个源(建议中科大的源),或者更换为默认源。
  • 运行python代码报非法指令,需要在创建的虚拟环境中输入 export OPENBLAS_CORETYPE=ARMV8(临时解决)

四、配置YOLOv5

先去github下载YOLOv5的源码:yolov5下载链接
本文下载的是6.0版本,源码内的requirements.txt文件,把torch和torchvision注释了。
输入命令安装下载编译一般很慢,容易误认为卡死,用–verbose 进行安装命令跟踪安装过程,可以显示详情。

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose 

安装完成截图
在这里插入图片描述

五、配置D435i pyrealsense2包

python调用D435i需要安装pyrealsense2包,但是Jetson中不能直接pip安装,因为系统核心是arrch的,所以需要自己下载源码构建安装。参考文章:链接1
链接2 链接3
1. 下载源码
先去github上下载源码,pyrealsense2源码下载链接,下载zip后解压。
解压后进入到解压后的文件夹内,后续操作基于此。

cd libalsense

2. 执行许可证脚本

./scripts/setup_udev_rules.sh

3. 创建build文件夹,并在build下进行cmake编译

mkdir build && cd build  # 创建build文件并进入
cmake ../ -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3.6 #重新编译并安
sudo make uninstall
sudo make clean
make
sudo make install

编译完成之后,可以在/usr/local/lib下发现编译生成的librealsense2动态库文件,值得注意的是,很多教程上会在python3的库包存放位置/usr/local/lib/python3.6/pyrealsense2还看到另外再生成的pyrealsense2相关的动态库文件,但我们在此并没有相关库包。浏览编译的过程,可以看到另外的相关动态库文件生成地址,在OFF文件夹中,将此路径配置到.bashrc文件中。

export PYTHONPATH=SPYTHONPATH:/usr/local/lib:/usr/local/OFF

4. 验证结果
source一下.bashrc文件,运行python3,import pyrealsense2导包看是否报错。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第16期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练 Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…

VMware——VMware17设置WindowServer2012R2环境静态IP及关闭防火墙

目录 一、VMware17设置WindowServer2012R2环境静态IP1.1、工具栏虚拟机的设置步骤1.2、工具栏编辑的设置步骤1.3、静态IP的设置步骤 二、VMware17关闭WindowServer2012R2环境防火墙 一、VMware17设置WindowServer2012R2环境静态IP 1.1、工具栏虚拟机的设置步骤 打开VMware虚拟…

box-shadow

0 参数解释 box-shadow:inset offset-x offset-y blur-radius spread-radius color; **inset:**有inset 则为内阴影,没有insert 则为外阴影,默认为外阴影 **offset-x:**横向阴影的大小。正值阴影在右边;负值阴影在左边…

基于深度学习的目标检测算法 计算机竞赛

文章目录 1 简介2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 1 简介 &#x1f5…

linux查看文件夹使用情况以及查看文件大小

1、ls ls 命令是 Linux 中最常用的文件和目录列表命令之一。它可以显示文件的各种属性&#xff0c;包括文件大小。 ls -l <文件名>上述命令会显示文件的详细信息&#xff0c;其中包括文件的大小。文件大小以字节为单位显示&#xff0c;并且在输出中的第 5 列。4096 表示…

【实战Flask API项目指南】之六 数据库集成 SQLAlchemy

实战Flask API项目指南之 数据库集成 本系列文章将带你深入探索实战Flask API项目指南&#xff0c;通过跟随小菜的学习之旅&#xff0c;你将逐步掌握 Flask 在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧&#xff01; 前言 在上一篇文章中&#xff0c;我们实现了…

出海营销必看:如何避免邮件被识别为垃圾邮件

对于现在的商业环境来说&#xff0c;邮件通信已经成为企业与客户、合作伙伴以及员工之间沟通和交流的重要方式。然而&#xff0c;尽管企业发送的邮件通常都是正常的、合规的&#xff0c;有时候却会被系统错误地标记为营销邮件。这个情况给企业带来了很多困扰。 如果企业的邮件…

FMC子卡解决方案:FMC214-基于FMC兼容1.8V IO的Full Camera Link 输出子卡

FMC214-基于FMC兼容1.8V IO的Full Camera Link 输出子卡 一、板卡概述   基于FMC兼容1.8V IO的Full Camera Link 输出子卡支持Base、Middle、Full Camera link信号输出&#xff0c;兼容1.8V、2.5V、3.3V IO FPGA信号输出。适配xilinx不同型号开发板和公司内部各FMC载板。北…

Langchain-Chatchat项目:4.1-P-Tuning v2实现过程

常见参数高效微调方法(Parameter-Efficient Fine-Tuning&#xff0c;PEFT)有哪些呢&#xff1f;主要是Prompt系列和LoRA系列。本文主要介绍P-Tuning v2微调方法。如下所示&#xff1a; Prompt系列比如&#xff0c;Prefix Tuning(2021.01-Stanford)、Prompt Tuning(2021.09-Goo…

图片去水印不伤原图快来试试这些方法

也许很多朋友都曾经历过和我相似的困扰。费尽心思找到心仪的图片&#xff0c;却发现下载的图片大多都带有水印。尝试了各种方法想要消除图片上的水印&#xff0c;但效果不尽如人意&#xff0c;反而让画面变得更加凌乱模糊&#xff0c;那么&#xff0c;有什么方法可以图片去水印…

点击跳到详情页

父页面 <template><view class"order-list"><cu-custom bgColor"bg-gradual-blue" :isBack"true"><block slot"content">荒料管理</block></cu-custom><view class"" ><!-- 订…

物流小程序制作教程:从零到有,详细解析

随着互联网的快速发展&#xff0c;物流行业也逐渐实现了数字化转型。为了满足消费者对更加便捷、高效的服务需求&#xff0c;许多物流企业选择制作自己的小程序。本文将通过乔拓云网后台&#xff0c;带你轻松搭建物流小程序&#xff0c;主要分为以下几个部分&#xff1a; 一、进…

Github 自动化部署到GitHub Pages

1.准备工作 新建仓库 新建项目 配置 vite.config.ts base: ./,部署应用包时的基本URL&#xff0c;例&#xff1a;vue-cli 5.x 配置 publicPath 推送到远程仓库 2.配置 GitHub Token 点击 Settings -> Actions -> General 找到 Workflow permissions&#xff0c;选中第…

名称空间,作用域,global和nonlocal

一、名称空间 加载顺序&#xff1a; 1、内置命名空间 2、全局命名空间 3、局部命名空间 取值顺序&#xff1a; 1、局部命名空间 2、全局命名空间 3、内置命名空间 二、作用域 三、global python之闭包https://blog.csdn.net/Python_1981/article/details/133636994 四…

串口通信(8)串口中断“边接收边解析数据“的通信程序

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

JavaScript 基础

文章目录 JavaScript初识JavaScriptJavaScript 的组成第一个程序 语法变量的使用动态类型基本数据类型number 数字类型string 字符串类型转义字符求长度字符串拼接 boolean 布尔类型undefined 未定义数据类型null 空值类型 运算符数组数组的遍历函数 对象使用 字面量 创建对象 …

openGauss学习笔记-112 openGauss 数据库管理-管理用户及权限-行级访问控制

文章目录 openGauss学习笔记-112 openGauss 数据库管理-管理用户及权限-行级访问控制 openGauss学习笔记-112 openGauss 数据库管理-管理用户及权限-行级访问控制 行级访问控制特性将数据库访问控制精确到数据表行级别&#xff0c;使数据库达到行级访问控制的能力。不同用户执…

ZYNQ实验---IQ调制实现SSB PART2

一、前言 本文实验在ZYNQ实验—IQ调制实现SSB PART1的基础上进行优化完善。 下图为IQ调制实现SSB PART1中设想实现设计框图 该图设计存在的几个问题&#xff1a; PC-PS的UDP传输存在丢包中断控制发包实际不适合流数据的传输采用的BRAM模块可以存储的空间较小&#xff0c;PC…

正则表达式续篇

位置锚定&#xff1a; ^:行首锚定&#xff0c;表示以什么为开头 例如&#xff1a; $:行尾锚定&#xff0c;表示以什么为结尾 例如&#xff1a; ^&#xff1a;匹配的是空行 例如&#xff1a; ^root$&#xff1a;匹配整行&#xff0c;而且整行只能有这一个字符串 实验&#x…

“第五十八天”

这里c语言的强制类型转换&#xff0c;大小端的问题在之前C语言中都提过了。 这里之前提过的边界对齐在补一点东西。 现代计算机通常是按字节编址&#xff0c;即每个字节对应一个地址&#xff1b;通常也支持按字、按半字、按字节寻址&#xff1b; 之前提过&#xff0c;字和字节…