Jetson Nano 部署YOLOv8并运行检测例子程序
目录
凌顺实验室(lingshunlab.com)
介绍了如何在Jetson Nano 上部署YOLOv8并运行简单的示例程序检测图像。这样就能玩更多人工智能的项目。
YOLOv8 文档:
https://docs.ultralytics.com/
YOLOv8 Github:
https://github.com/ultralytics/ultralytics
YOLO的Python版本需要时3.8或以上,
Jetson Nano jetpack的Python版本一般是3.6,
所以需要升级,或者在虚拟机中安装python3.8版本的python解析器
安装环境
硬件信息:
Jetson Nano 4G B01
软件信息:
Package: nvidia-jetpack
Version: 4.6.4-b39
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
Depends: nvidia-l4t-jetson-multimedia-api (>> 32.7-0), nvidia-l4t-jetson-multimedia-api (<< 32.8-0), nvidia-cuda (= 4.6.4-b39), nvidia-tensorrt (= 4.6.4-b39), nvidia-nsight-sys (= 4.6.4-b39), nvidia-cudnn8 (= 4.6.4-b39), nvidia-opencv (= 4.6.4-b39), nvidia-container (= 4.6.4-b39), nvidia-visionworks (= 4.6.4-b39), nvidia-vpi (= 4.6.4-b39)
R32 (release), REVISION: 7.4, GCID: 33514132, BOARD: t210ref, EABI: aarch64, DATE: Fri Jun 9 04:25:08 UTC 2023
Python 3.6.9
pip 21.3.1
虚拟环境下:
Python 3.8
pip 22.3.1
本文讲以在虚拟环境下安装YOLOv8的方式进行。
建立虚拟环境
我们首先要建立一个python3.8的虚拟环境,但在创建虚拟环境前,必须在主机上安装好python3.8的解析器。
安装python3.8解释器
输入以下命令,进系安装python3.8的解析器:
sudo apt-get install python3.8
安装完成后,并不影响系统原本自带的python3.6版本的解析器
通过以下命令,验证是否安装成功
python3.8
安装虚拟环境软件
使用以下命令进行安装:
pip install virtualenv
或者
python3 -m pip install virtualenv
创建指定Python版本的虚拟环境
例如,我们虚拟环境需要指定的Python版本是3.8,
则输入以下命令进行创建:
virtualenv -p python3.8 myenv
- myenv:是虚拟环境的名称,可以随你喜好定义
在当前目录使用ls
可以看到多了一个名为「myenv」的目录,这就是刚创建的虚拟环境的存放目录
进入虚拟环境
source myenv/bin/activate
这样就进入了名为「myenv」的虚拟环境。
命令行,输入「python」,就可以看到当前的python版本就是我们指定的版本。
退出当前虚拟环境的命令是
deactivate
。
在虚拟环境中部署YOLOv8
推荐使用Pip的安装方法,在命令行中输入:
# Install the ultralytics package using pip
pip install ultralytics
其他安装方法,例如Conda, Git clone,Docker请查看文档:
https://docs.ultralytics.com/quickstart/#install-ultralytics
安装过程中,可能遇到的问题
错误提示:Failed building wheel for psutil Failed to build psutil
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for psutil
Failed to build psutil
ERROR: Could not build wheels for psutil, which is required to install pyproject.toml-based projects
通过以下命令,可以解决:
sudo apt-get install python3.8-dev
安装完之后,继续运行之前的YOLOv8安装命令。
完成部署YOLOv8
安装完成,我们可以通过以下命令查看YOLOv8的版本信息:
pip show ultralytics
在Jupter-lab中添加虚拟环境的Python内核
保持在虚拟环境中,输入以下命令安装ipykernel:
pip install ipykernel
很快就完成安装,之后在命令行中输入以下命令,即可把内核添加到Jupyter-lab中:
python -m ipykernel install --user --name=myenv
重启Jupyter-lab,或者干脆重启机器。
重新打开Jupter-lab,即可见到新添加的虚拟环境内核:
运行YOLOv8程序——检测图像
from ultralytics import YOLO
# 加载的模型,如果首次使用,将会自动下载
model = YOLO('yolov8n.pt')
# 检测指定图片,save为true则会另外保存检测结果的图片
results = model('image.jpg', save=True)
输出的图片将会保存在程序的当前目录下的「 runs/detect/predict」中
Jupyter NoteBook的例程截图:
结果测试:
可能遇到的错误
错误提示:No module named ‘cpuinfo’
安装py-cpuinfo可以解决问题,在命令行输入以下命令:
pip install py-cpuinfo