1. 环境准备与Miniconda安装
在ARM架构的Linux开发板上部署深度学习模型,环境配置是第一步也是最关键的一步。我使用的是旭日X3派的无桌面版本系统,通过MobaXterm进行远程连接。这种无桌面环境节省了系统资源,但同时也带来了一些挑战,特别是依赖库的安装和配置。
首先需要安装Miniconda环境,这是管理Python环境的利器。由于旭日X3派是ARM架构,必须选择aarch64版本的安装包。我直接从官网下载了适用于Python 3.8的Miniconda版本:
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-aarch64.sh
下载完成后,通过bash命令执行安装脚本:
bash Miniconda3-py38_4.9.2-Linux-aarch64.sh
安装过程中需要一直按Enter阅读许可协议,然后输入yes同意条款。安装完成后,务必将conda添加到环境变量中。如果输入conda -V没有显示版本信息,需要手动编辑bashrc文件:
vim ~/.bashrc
在文件末尾添加:
export PATH=$PATH:/home/sunrise/miniconda3/bin
保存退出后执行source ~/.bashrc使配置生效。接下来创建专门的虚拟环境用于YOLOv10项目:
conda create -n yolo python=3.8
conda activate yolo
虚拟环境可以隔离项目依赖,避免与系统自带的Python环境产生冲突。这一步虽然简单,但为后续的依赖管理打下了坚实基础。
2. PyTorch与OpenCV安装
在ARM架构上安装PyTorch需要特别注意版本兼容性。经过多次测试,我发现直接使用conda安装是最稳定的方式:
conda install -c pytorch pytorch
这个命令会自动选择适合ARM架构的PyTorch版本。安装完成后,务必验证是否安装成功:
import torch
print(torch.__version__)
print(torch.cuda.is_available()) # 虽然ARM板没有GPU,但检查一下也无妨
接下来安装OpenCV,这是计算机视觉项目的基础依赖。由于ARM架构的编译较慢,建议使用清华源加速下载:
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
安装过程中可能会提示缺少一些依赖库,比如libgtk2.0-dev等,这些可以通过apt安装:
sudo apt update
sudo apt install libglib2.0-0 libsm6 libxrender1 libxext6
有时候opencv-python在ARM架构上编译会失败,这时可以尝试安装预编译的版本,或者使用opencv-python-headless版本,它不包含GUI相关的功能,在无桌面环境下更加轻量。
验证OpenCV安装:
import cv2
print(cv2.__version__)
如果遇到"ImportError: libGL.so.1"错误,需要安装额外的依赖:
sudo apt install libgl1-mesa-glx
3. YOLOv10模型部署
YOLOv10是Ultralytics公司最新的目标检测模型,相比YOLOv8在精度和速度上都有提升。在ARM开发板上部署YOLOv10需要特别注意模型格式转换和优化。
首先安装ultralytics库:
pip install ultralytics
安装完成后,可以测试一下基础功能:
from ultralytics import YOLO
model = YOLO('yolov10n.pt') # 使用nano版本,适合ARM设备
由于ARM开发板的计算资源有限,建议使用较小的模型版本,如yolov10n或yolov10s。在部署前,最好将PyTorch模型转换为ONNX格式,这样可以获得更好的推理性能:
from ultralytics import YOLO
# 加载模型
model = YOLO('yolov10n.pt')
# 导出为ONNX
model.export(format='onnx', opset=11, simplify=True)
ONNX格式的模型可以在不同的推理引擎上运行,提供了更好的兼容性。在ARM设备上,我们还可以使用ONNX Runtime进行推理,它针对ARM架构进行了优化:
pip

1599

被折叠的 条评论
为什么被折叠?



