图像识别-YOLO V8安装部署-window-CPU-Pycharm

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第1张图片

前言

安装过程中发现,YOLO V8一直在更新,现在是2023-9-20的版本,已经和1月份刚发布的不一样了。

eg: 目录已经变了,旧版预测:在ultralytics/yolo/v8/下detect

新版:ultralytics/models/yolo/detect/predict.py

1.安装

1.1下载源码

下载地址:

GitHub - ultralytics/ultralytics: NEW - YOLOv8 in PyTorch > ONNX > OpenVINO > CoreML > TFLite

ps:有时候可能打不开,多试几次

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第2张图片

点击code 下载zip包

1.2.下载后解压,在pycharm中打开

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第3张图片

1.3.安装依赖

在pycharm中Terminal 中执行:

pip install -r requirements.txt

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第4张图片

在 Interpreter 中重点看下,有没有 ultralytics 包

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第5张图片

1.4 下载模型权重文件

下载地址:

https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt

或者从我上传的下载(不要积分!)

https://download.csdn.net/download/hzp666/88359929

下载好放到ultralytics/models/yolo/detect 目录下

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第6张图片

模型权重当然有很多版本,在readme中有讲解,回头可以再看。

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第7张图片

至此环境基本上,大功告成!

(不要搞什么conda了,简单就完了,费啥牛鼻子劲!!!)

2.使用

找到 ultralytics/models/yolo/detect 目录

增加一个文件,写个main 方法

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第8张图片

main 文件内容(就1行!):

from ultralytics import YOLO as yolo

if __name__ == '__main__':
    yolo().predict(model='yolov8n.pt',source='../../../assets/video(1).mp4',save=True)

ps:model 就是指定模型权重文件,  source 就是指定 图片/视频路径(项目自带了2个图片)

save :就是要报存下来,不然就只返回list,如下图 4person  1 bus  ...(就这个save参数,搞劳资半天,艹)

运行main 函数:

输出结果:图像识别-YOLO V8安装部署-window-CPU-Pycharm_第9张图片

当你看到saved to  那恭喜你成功了。

然后到save目录,查看检测结果图片。

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第10张图片

补充:

什么是 TorchScript?

PyTorch 无疑是现在最成功的深度学习训练框架之一,是各种顶会顶刊论文实验的大热门。比起其他的框架,PyTorch 最大的卖点是它对动态网络的支持,比其他需要构建静态网络的框架拥有更低的学习成本。PyTorch 源码 Readme 中还专门为此做了一张动态图:

图像识别-YOLO V8安装部署-window-CPU-Pycharm_第11张图片
对研究员而言, PyTorch 能极大地提高想 idea、做实验、发论文的效率,是训练框架中的豪杰,但是它不适合部署。动态建图带来的优势对于性能要求更高的应用场景而言更像是缺点,非固定的网络结构给网络结构分析并进行优化带来了困难,多数参数都能以 Tensor 形式传输也让资源分配变成一件闹心的事。另外由于图是由 python 代码构建的,一方面部署要依赖 python 环境,另一方面模型也毫无保密性可言。

而 TorchScript 就是为了解决这个问题而诞生的工具。包括代码的追踪及解析、中间表示的生成、模型优化、序列化等各种功能,可以说是覆盖了模型部署的方方面面。今天我们先简要地介绍一些 TorchScript 的功能,让大家有一个初步的认识,进阶的解读会陆续推出~

你可能感兴趣的:(机器学习,PRD,python,YOLO,CV,计算机视觉,图片识别)