Jetson nano部署Yolov8

本文详细指导了如何在JetsonNano上烧录官方系统,配置Python3.8环境,以及安装和使用ultralytics,包括解决OpenMP库缺失问题。作者分享了自己的学习经历和个人联系方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请添加图片描述

2024年1月27日完成第一版,机型为Jetson nano B01,此套设置不需要科学上网

建议准备一个U盘

1. 烧录官方的Jetson nano系统

1. 进入官网,点击Jetson nano开发者套件SD卡镜像完成下载

官网链接

注意下载完成后是压缩文件,要解压

请添加图片描述

2. 安装烧录工具Etcher

Etcher链接
请添加图片描述

3. 烧录说明

  1. 插入 microSD 卡
  2. 启动Etcher
  3. 单击“Select image”(选择镜像),然后选择先前下载的解压缩镜像文件
  4. 单击“Flash!”(闪存!)。Mac 或会提示输入用户名和密码,然后才允许 Etcher 继续操作。
  5. Etcher 操作完成后,Mac 可能会提示它不知如何读取 SD 卡。此时只需单击“Eject”(弹出),然后删除 microSD 卡。

2. 配置Python环境

由于ultralytics,需要在python>=3.8运行,而官方自带的python3为python3.6,需要我们安装python3.8。为了保证后期的开发方便,我创建了单独环境,命令如下。

1. 安装前期必备环境

cd ~
sudo apt update
sudo apt upgrade
sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev libffi-dev libc6-dev

2. 从 Python 官方网站下载 3.8 版的 Python 源代码

使用以下命令将其直接下载到 Jetson Nano

cd ~
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz

3. 通过运行以下命令解压缩下载的存档

cd ~
tar -xf Python-3.8.12.tar.xz
cd Python-3.8.12

4. 配置构建过程

注意步骤4~6都是在Python-3.8.12文件夹中,使用cd Python-3.8.12打开

./configure --enable-optimizations

5. 搭建python

make -j4

6. 编译完成后,通过运行以下命令来安装 Python

sudo make altinstall
python3.8 --version

7. 使用 python 3.8 创建一个单独的环境,并激活

在下面的操作中独立环境不能退出,退出请重新激活进入!!!

myenv是我们要创建的单独环境名字,可以改成自己喜欢的名字

cd ~
python3.8 -m venv myenv                                                
source myenv/bin/activate

在这个独立的环境中,我们下载的第三方库,默认在myenv/bin文件夹中

在本教程中myenv存储在根目录下也就是‘~’,使用cd ~可以打开根目录

source myenv/bin/activate 是激活独立环境的命令

deactivate 是退出当前独立环境

3. 安装ultralytics环境

1. 下载PyTorch 和 Torchvision

我们无法通过 pip 安装PyTorch 和 Torchvision,因为它们与基于ARM aarch64 架构的 Jetson 平台不兼容。因此,我们需要手动安装预编译的PyTorch pip wheel,并从源代码编译/安装 Torchvision。

由于美国制裁我们无法访问官方文档给出的网站,有VPN的小伙伴也需要开全局代理才行。我这里是将他提前下载下来上传到两个网盘,大家下载网盘就好。Google网盘不限速,建议使用而且不需要开全局代理。

Google网盘链接如下:

  • torch-1.10.0-cp36-cp36m-linux_aarch64.whl
https://drive.google.com/file/d/1ca-2bGmoPorhXgQujBjoA0jeVn4nF4ju/view?usp=sharing
  • torch-1.11.0a0+gitbc2c6ed-cp38-cp38-linux_ aarch64.whl
https://drive.google.com/file/d/1CQXSeo_TRtTcNOcGEIurUumdbqoQ5zwh/view?usp=sharing

百度网盘链接如下:

  • torch-1.10.0-cp36-cp36m-linux_aarch64.whl
链接: https://pan.baidu.com/s/1frHj5bRljIbRkWtYkMYeKw?pwd=a5ii 提取码: a5ii
  • torch-1.11.0a0+gitbc2c6ed-cp38-cp38-linux_ aarch64.whl
链接: https://pan.baidu.com/s/18ry8GMHmlTYti1n9tV8VHQ?pwd=59g4 提取码: 59g4

2. 安装PyTorch 和 Torchvision

  1. 将下载好的两个安装包移动到独立环境的bin目录下

    这里假设是在自己电脑上下好了传输到U盘里,现在将U盘插入Jetson nano中,点开U盘。

    在空白处右击,选择在terminal中打开

    注意终端中,按Tab键可以快速补全命令,在下面的命令中可以体会到便捷

mv torch-1.11.0a0+gitbc2c6ed-cp38-cp38-linux_aarch64.whl ~/myenv/bin
mv torch-1.10.0-cp36-cp36m-linux_aarch64.whl ~/myenv/bin

补充:如果U盘是ExFAT格式可能无法直接读取,需要在终端输入

sudo apt-get install exfat-fuse exfat-utils
  1. 执行安装命令

    注意要提前激活独立环境,已经激活的话请忽略

source myenv/bin/activate
cd myenv/bin
python3.8 -m pip install torch-*.whl torchvision-*.whl

3. 安装ultralytics

​ 注意要提前激活独立环境,已经激活的话请忽略

source myenv/bin/activate
pip install ultralytics

安装完成,我们可以通过以下命令查看YOLOv8的版本信息

pip show ultralytics

至此,我们已经完成Yolov8在Jetson nano上的部署。

4. 使用说明

1. 每次进行测试的时候我们需要打开单独的环境:

source myenv/bin/activate

2. 第一次运行我们的工程可能会遇到以下报错:

Traceback (most recent call last):
  File "predict_one.py", line 1, in <module>
    from ultralytics import YOLO
  File "/home/canlan/myenv/lib/python3.8/site-packages/ultralytics/__init__.py", line 5, in <module>
    from ultralytics.data.explorer.explorer import Explorer
  File "/home/canlan/myenv/lib/python3.8/site-packages/ultralytics/data/__init__.py", line 3, in <module>
    from .base import BaseDataset
  File "/home/canlan/myenv/lib/python3.8/site-packages/ultralytics/data/base.py", line 15, in <module>
    from torch.utils.data import Dataset
  File "/home/canlan/myenv/lib/python3.8/site-packages/torch/__init__.py", line 198, in <module>
    _load_global_deps()
  File "/home/canlan/myenv/lib/python3.8/site-packages/torch/__init__.py", line 151, in _load_global_deps
    ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
  File "/usr/local/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libomp.so.5: cannot open shared object file: No such file or directory

这个错误表明在环境中缺少名为 libomp.so.5 的共享库文件。这通常是由于缺少 OpenMP 库引起的,而 libomp.so.5 是 OpenMP 库的一部分。要解决这个问题,得安装 OpenMP 库:

sudo apt-get install libomp5

5. 个人介绍

1. 学习经历

小学:08级肥西官亭中心小学

初中:14级合肥滨湖寿春中学,自主招生考入

数学课代表、数学竞赛

高中:17级合肥168中学,自主招生考入

机器人社团核心成员、小组组长、地理竞赛国三、通过南方科技大学机考面试(高考601,分不够遂止)

本科:20级海南大学(211项目),智能科学与技术专业

EI论文一篇

数学竞赛和数学建模均为省二

大学生创新训练大赛国家级

全国大学生计算机设计大赛国家三等奖

百度Paddle、大疆RoboMaster、Phytium Technology校园负责人

阿里巴巴专家博主

三段实习,总时长近2年

放弃保研资格,选择出国留学,截止 2024年1月28日获得录取通知书:

杜伦大学计算机专业、

悉尼大学计算机专业、大数据科学专业、

布里斯托大学机器人专业、

曼彻斯特大学机器人专业、

新加坡国立大学机器人专业、

奥克兰大学信息技术专业、

香港理工大学人工智能和大数据专业、

昆士兰大学计算机科学专业、

研究生:2024级 新加坡国立大学 机器人学

2. 联系方式

技术分享平台:CSDN主页

社交平台:小红书、抖音号:365057661

代码仓库:GiteeGithub

邮箱📮:ac20311@163.com

微信: ac20311

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳城S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值