Jetson-Xavier-NX刷机+pytorch环境配置+yolov5运行

本文档详细记录了在英伟达Jetson Xavier NX上配置环境的过程,包括烧录镜像、远程连接、环境更新、Miniforge安装、conda环境配置、PyTorch与torchvision的安装,以及YOLOv5的环境搭建和运行。通过这篇教程,读者可以了解如何在Jetson Xavier NX上从零开始构建适用于机器视觉的开发环境。
部署运行你感兴趣的模型镜像

前言:最近在使用英伟达的Jetson-Xavier-NX板子,主要用于机器视觉,将配置的过程在这里记录一下。

目录

一、镜像烧录

1.下载镜像

2.写入镜像

3.开机

4.远程连接

二、环境配置

1.更新源

2.安装Miniforge(Anaconda的arm代替版)

3.配置国科大conda环境

4.添加环境变量

5.配置pytorch环境

5.1创建虚拟环境

5.2安装pytorch

5.3安装torchvision

三、安装yolov5环境并运行

1.安装环境

2.运行


一、镜像烧录

1.下载镜像

nx板子的镜像都保存在TF卡中,所以使用nx板子之前需要将镜像烧录到TF卡中,镜像是在英伟达官网下载的,地址是:Jetson 下载中心 | NVIDIA Developer

百度网盘链接:https://pan.baidu.com/s/1T6XIMQERzkMJDCoELcapNw   提取码:5ukg 

2.写入镜像

镜像下载好后,需要用读卡器将TF卡与笔记本连接,使用软件进行烧录,我使用的是balenaEtcher进行烧录,烧录镜像分为两步,第一步是格式化TF卡,第二步是写入,balenaEtcher会完成这两步操作。

balenaEtcher百度网盘链接:https://pan.baidu.com/s/1EHlA0o5kT-lfeaPPuFkpWQ   提取码:j3tq 

Select image:自己选择下载好的镜像文件(sd-blob.img)

Select drive: 软件会自动选择已插入的TF卡

烧录镜像时会把原先的TF卡分成很多卡(F、G、H、I...不必惊慌,出现以下提示框,点右上角×就行)

接下来按照提示操作就行,下图红框无需点击。

3.开机

开机前的准备:显示器1个、键盘1个、鼠标1个,NX板子电源线连接即可开机,开机过程中会有一个类似Windows的开机设置,按照提示操作就行,系统语言默认选择English,NX板子自带wifi模块,开机过程中会提示你连接wifi,连接即可。

4.远程连接

使用远程连接软件可以连接NX板子,方便操作,前提是在同一网络下,开机后打开终端(ctrl+alt+t),输入ifconfig查看看wlan下地址。

远程连接软件我使用的是Xshell和Xftp,如果无法连接,先尝试一下是否能ping通,一般而言,默认都是能ping通的。

二、环境配置

1.更新源

打开终端输入:(一步一步来,网速慢的话时间会长一点)

sudo apt-get update
sudo apt-get full-upgrade


有不理解的,可以参考一下亚博的教程:Jetson Xavier NX ,教程中关于cuda、cudnn的配置可以稍后再弄。

2.安装Miniforge(Anaconda的arm代替版)

由于NX板子Ubuntu系统是arrch64架构的,不支持Anaconda,所以选择MInifore进行安装,使用xftp远程连接NX板子(操作与Xshell连接一样),连接后你会看到以下界面,新建或选择一个文件夹将Miniforge的安装包拖入即可。

Miniforge下载地址 Releases · conda-forge/miniforge · GitHub

百度网盘链接:https://pan.baidu.com/s/1AkRRz95XSKsVXpI7edy9cg   提取码:cbzz 

cd进入Miniforge存放的文件夹,输入以下命令:

sh Miniforge-pypy3-4.10.3-5-Linux-aarch64.sh

安装过程并不是自动的,有些地方会让你按Enter确认,好好看看提示,基本上就没什么问题了。

3.配置国科大conda环境

conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

4.添加环境变量

首先输入以下命令

vim ~/.bashrc

按 ↓ 直到文本底部,再按 i 对文本进行编辑,将以下内容粘贴到最下方

# Miniforge环境变量
export PATH=/home/moemil/miniforge-pypy3/bin:$PATH
# cuda环境变量
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/usr/local/cuda

添加完成后按esc,然后输入冒号(shift+回车左边按键),输入wq!,再按回车,强制保存退出

退出后输入以下命令,激活环境变量。

source ~/.bashrc

输入以下命令可以进入Miniforge的base环境下:

source activate

5.配置pytorch环境

5.1创建虚拟环境

输入以下命令,其中的“pytorch”为环境名称,可以根据自己喜好修改。

conda create -n pytorch python=3.6

命令运行过程跟使用Anaconda配置虚拟环境一致,中途输入y继续。

安装完成后输入,进入pytroch虚拟环境。

conda activate pytorch #再强调一遍pytorch为自己设定的环境名称

5.2安装pytorch

依次运行以下命令,torch的下载地址是:PyTorch for Jetson - version 1.10 now available - Jetson Nano - NVIDIA Developer Forums

百度网盘链接:https://pan.baidu.com/s/1rBoUXE4f2wZtzq6H1Jv6Xg   提取码:5uo3 

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
pip3 install Cython
pip3 install numpy
pip3 install torch-1.7.0-cp36-cp36m-linux_aarch64.whl

测试是否安装成功,输入python,然后在输入以下命令。

import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
b = torch.randn(2).cuda()
print('Tensor b = ' + str(b))
c = a + b
print('Tensor c = ' + str(c))

5.3安装torchvision

上面安装的pytorch是1.7.0,对应 torchvision 版本是0.8.1,选择一个文件夹cd进入,输入以下命令,文件将clone到当前文件夹。

# torch1.7.0--torchvision0.8.1
git clone --branch v0.8.1 https://github.com/pytorch/vision torchvision
# 网不好的话使用下面的命令进行进行clone
git clone --branch v0.8.1 https://gitee.com/rchen1997/torchvision torchvision

下载成功后, cd进入torchvision,输入以下命令。

export BUILD_VERSION=0.8.1
sudo python3 setup.py install 

如果出现下图的错误,对setup.py文件进行修改,输入以下命令:

vim setup.py

在这里插入图片描述找到 if has ffmpeg,修改后保存退出

if has ffmpeg 改为 if False

然后再次执行命令:(其实命令也不用那么严谨,python setup.py install照样能运行)

sudo python3 setup.py install

在这里非常感谢Geek L 的分享,让我的问题得以解决。Nvidia Jetson XAvier NX开发套件从装机到pytorch环境搭建YoloV5+DeepSort+TensorRT_m0_46339652的博客-优快云博客_jetson nx yolov5目录1. 刷机与装机1.1 准备VMware工作站和linux的unbuntu16.04虚拟机:2.将SD上的系统移动至SSD3. SSH配置4. 查看Jetpack版本2. 深度学习环境配置2.1 python环境配置2.1.1 安装Miniforge(Conda的Arm代替版)2.2 配置Miniforge——伪conda环境2.3 pytorch环境配置2.3.1 查看cuda版本2.2 pytorch虚拟环境创建2.2 安装pytorch-gp2.3 安装torchvision二级目录三级目录1.https://blog.youkuaiyun.com/m0_46339652/article/details/119875117?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164406519016780274194697%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164406519016780274194697&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-119875117.pc_search_insert_ulrmf&utm_term=jetson+nx+xavier%E8%BF%90%E8%A1%8Cyolov5&spm=1018.2226.3001.4187

三、安装yolov5环境并运行

1.安装环境

在运行yolov5之前,也需要安装其所需要的包,具体按照requirements.txt安装即可,我将我安装的命令写在下面:

pip install opencv-python==4.1.2
pip install tqdm==4.41.0 
pip install Pillow==7.1.2
pip install PyYAML==5.3.1
pip install requests==2.23.0
pip install scipy==1.4.1
pip install pandas==1.1.4
pip install seaborn==0.11.0 #安装时附带安装matplotlib,直接安装matplotlib不成功,玄学了
pip install scikit-build==0.11.1
pip install thop
pip install pycocotools==2.0.4

我安装matplotlib的时候一直失败,就先安装了其他包,没想到安装seaborn的时候附带将matplotlib装上了,大家安装的时候可以先安装seaborn试试。

conda list # 可以查看已安装的包

2.运行

所有包安装完成后,进入yolov5文件夹,输入以下命令,测试是否能成功运行。

python detect.py

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think>好的,我需要帮助用户在Jetson Xavier NX上部署和使用YOLOv8。根据用户提供的引用内容,我需要整合这些信息,并确保回答结构清晰,符合用户的要求。 首先,用户提到的引用[1]提到了在Jetson Xavier NX上部署YOLOv8并使用TensorRT加速,达到50+FPS。这涉及到导出ONNX文件和使用TensorRT-Alpha的源码。引用[4]提到了刷机和TF卡启动的问题,可能需要先处理系统环境。引用[2]和[3]则涉及YOLOv5的部署问题,但用户问的是YOLOv8,不过可能部分步骤类似,比如环境配置和TensorRT的使用。 我应该先按照步骤分解部署流程。首先可能需要准备系统环境,包括刷机和设置TF卡启动,如引用[4]所述。然后安装必要的依赖,比如JetPack、CUDA、cuDNN等。接下来是导出YOLOv8模型到ONNX格式,这一步可能需要使用Ultralytics的YOLOv8库。然后将ONNX模型转换为TensorRT引擎,可能需要用到TensorRT的工具或者像引用[3]提到的tiny-tensorrt这样的库。最后是运行和测试模型,可能需要参考引用[1]中的C++或Python代码。 需要注意用户提到的错误,比如ModuleNotFoundError: No module named 'tensorrt',这可能需要在Python环境中正确安装TensorRT的Python包,或者设置环境变量。此外,确保所有步骤中的路径和版本兼容性,特别是YOLOv8和TensorRT的版本是否匹配。 用户可能需要优化性能,比如使用FP16或INT8量化,如引用[1]提到的加速方法。同时,部署后的应用场景可能包括实时目标检测,结合跟踪算法等,这也是需要提及的。 相关问题部分需要围绕部署步骤、常见问题、性能优化和应用扩展来设计。例如,如何转换模型到TensorRT,如何处理依赖问题,如何优化推理速度等。 需要确保回答中使用正确的中文术语,数学公式和代码块格式正确。例如,代码块需要用三个反引号包裹,并指定语言。同时,引用标识应自然地添加在引用内容的末尾,如[^1]、[^4]等。 最后,检查是否覆盖了所有用户提供的引用内容,并确保步骤逻辑清晰,用户能够逐步跟随操作。如果有不确定的部分,比如具体的命令是否需要sudo权限,可能需要进一步确认,但根据引用内容,尽量保持准确。</think>在Jetson Xavier NX上部署YOLOv8需要结合模型转换、TensorRT加速和硬件适配,以下是具体步骤: --- ### 1. 系统准备与刷机 - **TF卡系统启动**:由于NX的eMMC存储仅16GB,建议将系统安装在TF卡中。需安装TF卡驱动并将Jetson Linux系统镜像写入TF卡,修改启动项为TF卡优先[^4]。 - **JetPack安装**:确保系统已安装JetPack 5.1以上版本,包含CUDA、cuDNN和TensorRT组件。 --- ### 2. 依赖环境配置 ```bash # 安装Python依赖 sudo apt-get install python3-pip libopenblas-dev libpython3-dev pip3 install numpy cython # 安装PyTorch for Jetson(需匹配JetPack版本) wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl pip3 install torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl # 安装Ultralytics YOLOv8 pip3 install ultralytics ``` --- ### 3. 模型导出与转换 - **导出ONNX模型**: ```python from ultralytics import YOLO model = YOLO("yolov8n.pt") # 加载预训练模型 model.export(format="onnx") # 生成best.onnx文件 ``` - **转换为TensorRT引擎**: ```bash /usr/src/tensorrt/bin/trtexec --onnx=best.onnx --saveEngine=best.engine --fp16 # 启用FP16加速 ``` --- ### 4. 部署与推理 - **使用TensorRT-Alpha**:下载源码并编译C++推理程序[^1] ```bash git clone https://github.com/xxx/TensorRT-Alpha.git cd TensorRT-Alpha/yolov8 && mkdir build && cd build cmake .. && make ./yolov8_detect --engine=best.engine --input=test.jpg ``` - **Python推理示例**: ```python import tensorrt as trt # 加载引擎并执行推理(需实现反序列化和后处理)[^3] ``` --- ### 5. 性能优化 - **量化加速**:使用`trtexec`的`--int8`参数启用INT8量化,提升推理速度 - **多线程处理**:通过C++绑定多线程实现更高FPS(参考[^3]的线程优化方法) --- ### 常见问题解决 - **TensorRT模块缺失**:需添加环境变量`export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/aarch64-linux-gnu`[^2] - **CUDA内存不足**:减小模型输入尺寸或使用`--workspace`参数限制显存占用 ---
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值