Jetson Nano 配置YOLOX(保姆级教程)
文章目录
一、版本说明
JetPack 4.6——2021.8
pytorch——1.8.0
二、配置CUDA
打开终端输入
sudo gedit ~/.bashrc
在打开的文档的末尾添加如下内容:
export CUDA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH
保持并退出,执行
source ~/.bashrc
nvcc -V #如果配置成功可以看到CUDA的版本号
三、修改Nano板显存
1.打开终端输入:
sudo gedit /etc/systemd/nvzramconfig.sh
2.修改nvzramconfig.sh文件
修改mem = $((("${totalmem}"/2/"${NRDEVICES}")*1024))
为mem = $((("${totalmem}"*2/"${NRDEVICES}")*1024))
3.重启Jetson Nano
4.终端中输入:
free -h
可查看到swap已经变为7.7G
三、配置Pytorch1.8
1.下载torch-1.8.0-cp36-cp36m-linux_aarch64.whl
下载地址:nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl
网盘分享:链接:https://pan.baidu.com/s/1tS51E3a-a-w9_OdCNraoAg
提取码:30qr
说明:建议在电脑上下载后拷贝到Jetson Nano的文件夹下,因为该网站的服务器在国外,可能下载比较慢或网页加载不出来,可以打开VPN进行下载。
2.安装所需的依赖包及pytorch
打开终端输入:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
因为下面用pip指令安装时用默认选用的国外源,所以下载比较费时间,建议更换一下国内源,我这里使用的是阿里源。具体步骤如下:
打开终端输入:
mkdir ~/.pip
sudo gedit ~/.pip/pip.conf
在空白文件中输入如下内容保存并退出:
以下为豆瓣源
[global]
timeout=6000
index-url=https://pypi.doubanio.com/simple
trusted-host=pypi.doubanio.com
以下为阿里源
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
以下为清华源
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=https://pypi.tuna.tsinghua.edu.cn
终端输入:
pip install --upgrade pip
pip3 install Cython
pip3 install numpy
pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl #注意要在存放该文件下的位置打开终端并运行
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision #下载torchvision,会下载一个文件夹
cd torchvision #或者进入到这个文件夹,右键打开终端
export BUILD_VERSION=0.9.0
python3 setup.py install --user
#验证torch和torchvision这两个模块是否安装成功
python3
import torch
print(torch.__version__) #注意version前后都是有两个横杠
#如果安装成功会打印出版本号
import torchvision
print(torchvision.__version__)
#如果安装成功会打印出版本号
四、搭建yolox环境
YOLOX官方下载地址: https://github.com/Megvii-BaseDetection/YOLOX.git
网盘分享地址:链接:https://pan.baidu.com/s/1u3ExDjpHeyO2SKjjBqKGEQ
提取码:6jyg
git clone https://github.com/Megvii-BaseDetection/YOLOX.git #不科学上网很容易下载失败,上面分享了yolox的网盘地址
#将下载好yolox后拷贝到jetson nano中,放入某一文件夹下
unzip YOLOX-main.zip
cd YOLOX-main
#打开requirements.txt,对scikit-image,onnx,onnx-simplifier前加#注释掉,保存退出,后面会单独安装这几个包.
pip3 install -r requirements.txt
pip3 install scikit-image==0.17.1 -vv #安装scikit-image
pip3 install onnx==1.8.1 -vv #安装onnx可不配置,onnx-simplifier暂未配置成功,如果未用到onnx转模型,则不影响yolox使用
pip3 install -v -e . #因为pip源的问题,可能这一步会报错,错误及解决办法在下方。
pip3 install 'git+https://gitee.com/wsyin/cocoapi.git#subdirectory=PythonAPI' #官方指令为pip3 install cython; pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI',但是由于科学上网的原因,需要更换国内源,成功后会看到Successfully installed pycocotools-2.0
问题1:运行pip3 install -v -e . 出现如下错误
ERROR:Command errored out with exit status -4: python setup.py egg_info check the logs for full command output.
解决:将换成的pip国内源换成原始的
sudo gedit ~/.pip/pip.conf
#将该文档内的内容清空,保存并退出
pip3 install -U pip
pip3 install -v -e . #如果成功会看到Successfully installed yolox-0.1.0
到这里,运行yolox的环境就搭建成功了,接下来进行测试。
五、测试yolox
1.下载权值文件
YOLOX-Nano
官方地址:https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_nano.pth
网盘分享地址:链接:https://pan.baidu.com/s/1Sqp0GFEkp0Z-Huy3jmA16Q
提取码:tzcw
YOLOX-S
官方地址:https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_tiny.pth
网盘分享地址:链接:https://pan.baidu.com/s/1Q0Kv_7qFV4Eao6Ba98yCBA
提取码:upqa
2.测试
①图片测试
python tools/demo.py image -n yolox-nano -c /path/to/your/yolox_nano.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu #调用yolox-nano.pth检测
在YOLOX_outputs/nano下可以看到
②视频检测
测试视频下载地址:链接:https://pan.baidu.com/s/10TFhK-19Hihuq-2augJWCw
提取码:89ey
python tools/demo.py video -n yolox-nano -c /path/to/your/yolox_nano.pth --path /path/to/your/video --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu
③调用摄像头
python tools/demo.py webcam -n yolox-nano -c /path/to/your/yolox_nano.pth --camid 0 --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu
源代码中是把摄像头检测的效果存储成了mp4文件,同样在YOLOX_outputs/nano下可以看到