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

Posted Endlessnight7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jetson-Xavier-NX刷机+pytorch环境配置+yolov5运行相关的知识,希望对你有一定的参考价值。

前言:最近在使用英伟达的Jetson-Xavier-NX板子,主要用于机器视觉,第一次接触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.下载镜像

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的博客-CSDN博客_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.csdn.net/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

在运行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 # 可以查看已安装的包

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

python detect.py

 该博客是我配置完环境后写的,可能有些地方写的不好,日后想起来会进行补充。

以上是关于Jetson-Xavier-NX刷机+pytorch环境配置+yolov5运行的主要内容,如果未能解决你的问题,请参考以下文章

联想Z5有flymi的刷机包么

EMB-3500刷机教程

爱思助手刷机到19不动了红色

苹果6手机上刷机教程图解法

乐视电视怎么刷机?

苹果4s刷机不是原装电池怎么刷机 刷机到三分之二就出现错误29