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导包看是否报错。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL8.0.26-unbuntu版安装

MySQL8.0.26-ubuntu版安装 在这里会有一个坑,就是我在安装的时候,是按照另外一种版本的安装,报错没有rpm这个包,然后我就去下载,然后就报错 E: 无法定位软件包 ,害的我找了好久的资料,一直没有解决&#x…

VSCode中的任务什么情况下需要配置多个问题匹配器problemMatcher?多个问题匹配器之间的关系是什么?

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、简介 在 VS Code 中,tasks.json 文件中的 problemMatcher 字段用于定义如何解析任务输出中的问题(错误、警告等)。 problemMatcher是一个描述问题匹配器的接口&…

Vue 条件渲染 与 列表渲染

目录 一、条件渲染 1.简介 : 2.v-if实例 : 3.v-show实例 : 4.v-if与v-show的区别 : 二、列表渲染 1.基本用法 : 1.1 v-for遍历数组 1.2 v-for遍历对象 2.应用实例 : 一、条件渲染 1.简介 : (1) Vue提供了v-if 和 v-show条件指令来完成条件渲染/控制。 v-if指令用于条…

2.8 CSS 伸缩盒模型

1.模型简介 传统布局是指:基于传统盒状模型,主要靠: display 属性 position 属性float 属性。2009年,w3C提出了一种新的盒子模型——Flexible Box(伸缩盒模型,又称:弹性盒子)。它可以轻松的控制:元素分布方式、元素对齐方式、元素视觉顺序..…

人们常常下定决心“不改变”

"因为我的性格很悲观" 有的人会觉得一些事情发生,是自己性格使然,改变不了。 但其实性格是可以改变的。 这听起来似乎不太现实,自己的性格就是这样,怎么会改变? 那换种表达,我们看待世界的方式可…

【leetcode】17.04 消失的数字

目录 1. 思路2. 代码 题目链接:leetcode 17.04.消失的数字 题目描述: 1. 思路 要求算法复杂度为O(n),有两种方式: (1)利用异或交换律 与nums所有元素异或一遍;与0-n的值异或,n…

吴恩达《机器学习》5-6:向量化

在深度学习和数值计算中,效率和性能是至关重要的。一个有效的方法是使用向量化技术,它可以显著提高计算速度,减少代码的复杂性。接下来将介绍向量化的概念以及如何在不同编程语言和工具中应用它,包括 Octave、MATLAB、Python、Num…

【wp】2023鹏城杯初赛 Web web1(反序列化漏洞)

考点&#xff1a; 常规的PHP反序列化漏洞双写绕过waf 签到题 源码&#xff1a; <?php show_source(__FILE__); error_reporting(0); class Hacker{private $exp;private $cmd;public function __toString(){call_user_func(system, "cat /flag");} }class A {p…

SpringCloudTencent(上)

SpringCloudTencent 1.PolarisMesh介绍2.北极星具备的功能3.北极星包含的组件4.功能特性1.服务管理1.服务注册2.服务发现3.健康检查 2.配置管理 5.代码实战1.环境准备2.服务注册与发现3.远程调用 1.PolarisMesh介绍 1.北极星是腾讯开源的服务治理平台&#xff0c;致力于解决分…

高速缓存--直接映射

某高速缓存大小 256 字节&#xff0c;直接映射&#xff0c;块大小为 16 字节。定义 L 为数据装载命令&#xff0c;S 为存储&#xff0c;M 为数据修改。若每一数据装载(L)或存储(S)操作可引发最多 1次缓存缺失(miss)&#xff1b;数据修改操作(M)可认为是同一地址上 1 次装载后跟…

半导体芯片制造行业MES系统解决方案

半导体产业作为现代电子科技的重要支柱&#xff0c;驱动着电子设备和通信技术的飞速发展。随着技术不断演进&#xff0c;半导体制造企业面临着越来越多的挑战&#xff0c;如高度复杂的工艺流程、全球化的竞争、质量控制的要求以及能源效率等问题。 为了应对这些挑战&#xff0…

错误页 模板

下载链接&#xff1a;https://ext.dcloud.net.cn/plugin?id15229 http://下载链接&#xff1a;https://ext.dcloud.net.cn/plugin?id15229 如有问题可添加下方名片