前言:最近在使用英伟达的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.运行
nx板子的镜像都保存在TF卡中,所以使用nx板子之前需要将镜像烧录到TF卡中,镜像是在英伟达官网下载的,地址是:Jetson 下载中心 | NVIDIA Developer
百度网盘链接:https://pan.baidu.com/s/1T6XIMQERzkMJDCoELcapNw 提取码:5ukg
镜像下载好后,需要用读卡器将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...不必惊慌,出现以下提示框,点右上角×就行)
接下来按照提示操作就行,下图红框无需点击。
开机前的准备:显示器1个、键盘1个、鼠标1个,NX板子电源线连接即可开机,开机过程中会有一个类似Windows的开机设置,按照提示操作就行,系统语言默认选择English,NX板子自带wifi模块,开机过程中会提示你连接wifi,连接即可。
使用远程连接软件可以连接NX板子,方便操作,前提是在同一网络下,开机后打开终端(ctrl+alt+t),输入ifconfig查看看wlan下地址。
远程连接软件我使用的是Xshell和Xftp,如果无法连接,先尝试一下是否能ping通,一般而言,默认都是能ping通的。
打开终端输入:(一步一步来,网速慢的话时间会长一点)
sudo apt-get update sudo apt-get full-upgrade
有不理解的,可以参考一下亚博的教程:Jetson Xavier NX ,教程中关于cuda、cudnn的配置可以稍后再弄。
由于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确认,好好看看提示,基本上就没什么问题了。
-
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
首先输入以下命令
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
输入以下命令,其中的“pytorch”为环境名称,可以根据自己喜好修改。
conda create -n pytorch python=3.6
命令运行过程跟使用Anaconda配置虚拟环境一致,中途输入y继续。
安装完成后输入,进入pytroch虚拟环境。
conda activate pytorch #再强调一遍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))
上面安装的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之前,也需要安装其所需要的包,具体按照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