避雷:自己用的,复制过来发现图片全都没了
笔记在这:https://waiting-carol-542.notion.site/Jetson-nano-yolov5-6b27ef50ae7f4f4082561af118e72594
环境配置
步骤 1: 下载镜像文件
首先,从 NVIDIA 开发者网站下载 Jetson Nano 镜像文件。建议使用至少32GB的SD卡。
下载完成后,解压镜像文件。
官网教程https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#intro
步骤 2: 下载烧写工具
下载 Etcher,这是一个用于将镜像写入SD卡的工具。
步骤 3: 格式化SD卡
使用 SD Card Formatter 工具对SD卡进行格式化。
步骤 4: 烧录镜像
使用 Etcher 工具将下载的镜像文件写入SD卡。这个过程可能需要大约20分钟。
步骤 5: 启动 Jetson Nano
将SD卡插入 Jetson Nano,连接HDMI线,然后上电。初次启动可能会比较慢。
备忘:姓名hs,密码1
(笔者觉得多加一个键盘和鼠标太麻烦了,接下来步骤是研究如何用vnc远程登录)
- 下载vnc-viewer:Download VNC Viewer | VNC® Connect
(这个网站跟盗版一样)
之后参考这个博客:Jetson Nano的使用(一):镜像烧录、VNC远程连接配置及系统环境配置_英伟达nano烧录环境,联网,vnc-优快云博客 vnc&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-117968818.142^v93^koosearch_v1&spm=1018.2226.3001.4187
这个也可以:玩转Jetson Nano(一) 开机准备与远程连接设置_jetson配置静态ip-优快云博客
延时太高了,还是用ssh吧
SSH 远程登录
- 在外接显示屏上查看设备的IP地址(IPv4地址)并记下来。然后在终端中启动 OpenSSH。
- 现在,您可以使用VSCode或其他SSH客户端远程登录到设备。如果需要无密码登录,将本地计算机的公钥复制到设备的.ssh文件夹中的authorized_keys文件中。您还可以尝试运行
service sshd restart
以解决任何SSH连接问题。
解决重新登录问题
如果您在一个月后尝试重新登录时无法连接,可能是因为SSH服务配置问题。请查看以下解决方法:
Jetson Nano 环境配置
步骤 1: 下载和安装 DeepStream
- 从提供的链接下载 DeepStream 6.0 SDK 的 .deb 文件。
- 按照 NVIDIA 官方的 DeepStream 安装指南进行安装。
按照指南操作即可。
做到这里就可以了(先不运行deepstream)
sudo apt update
sudo apt install -y python3-pip
pip3 install --upgrade pip
步骤 2: 克隆 YOLOv5 仓库
使用以下命令来克隆 YOLOv5 仓库,该仓库来自 GitHub 上的 Ultralytics。
git clone <https://github.com/ultralytics/yolov5>
然后,进入 yolov5 目录并切换到 v7.0 分支:
cd yolov5
git checkout v7.0
步骤 3: 安装依赖项
在 yolov5 文件夹中,更新 requirements.txt 文件:
注意:torch和torchvision暂时不包括在内,因为它们稍后会安装。
opencv要编译很久,记得千万要换成
pip3 install opencv-python==4.3.0.38
注意:opencv版本也要修改
注意:torch和torchvision暂时不包括在内,因为它们稍后会安装。 安装必要的软件包:
sudo apt-install-y libfreetype6-dev
安装依赖项:
pip3 install -r requirements.txt
安装 numpy 1.19.4:
pip3 install --force-reinstall --no-cache-dir numpy==1.19.4
步骤 4: 安装 PyTorch
首先安装 PyTorch v1.10.0。以下命令将帮助您完成此操作:
cd ~
sudo apt-get install -y libopenblas-base libopenmpi-dev
wget <https://nvidia.box.com/shared/static/fjtbno0vpo676a25cgvuqc1wty0fkkg6.whl> -O torch-1.10.0-cp36-cp36m-linux_aarch64.whl
pip3 install torch-1.10.0-cp36-cp36m-linux_aarch64.whl
步骤 5: 安装 TorchVision
使用以下命令安装 TorchVision:
sudo apt install -y libjpeg-dev zlib1g-dev
git clone --branch v0.11.1 <https://github.com/pytorch/vision> torchvision
cd torchvision
sudo python3 setup.py install
三线开工:
YOLOV5实例运行
-
DeepStream Configuration for YOLOv5
cd ~ git clone <https://github.com/marcoslucianops/DeepStream-Yolo> git checkout e7c77ee9fe78d8b82caa5b01574792af429fe923 cp DeepStream-Yolo/utils/gen_wts_yoloV5.py yolov5 cd yolov5 wget <https://github.com/ultralytics/yolov5/releases/download/v6.1/yolov5s.pt> python3 gen_wts_yoloV5.py -w yolov5s.pt
-
Copy the generated cfg and wts files into the DeepStream-Yolo folder
cp yolov5s.cfg ~/DeepStream-Yolo
cp yolov5s.wts ~/DeepStream-Yolo
- Open the DeepStream-Yolo folder and compile the library
cd ~/DeepStream-Yolo
CUDA_VER=11.4 make -C nvdsinfer_custom_impl_Yolo # for DeepStream 6.1
CUDA_VER=10.2 make -C nvdsinfer_custom_impl_Yolo # for DeepStream 6.0.1 / 6.0 (Used this one in my case)
-
Edit the config_infer_primary_yoloV5.txt file according to your
[property]
...
custom-network-config=yolov5s.cfg
model-file=yolov5s.wts
...
-
Edit the deepstream_app_config file
...
[primary-gie]
...
config-file=config_infer_primary_yoloV5.txt (CHECK THIS USUALLY THE DEFAULT VALUE IS DIFFERENT)
- Change the video source in deepstream_app_config file. Here a default video file is loaded as you can see below
...
[source0]
...
uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4
Run the Inference
deepstream-app -c deepstream_app_config.txt
要等一会儿,最后就可以跑了