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

2023-09-20 15:25:46

前言

安装过程中发现,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:有时候可能打不开,多试几次

点击code 下载zip包

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

1.3.安装依赖

在pycharm中Terminal 中执行:

pip install -r requirements.txt

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

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 目录下

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

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

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

2.使用

找到 ultralytics/models/yolo/detect 目录

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

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 函数:

输出结果:

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

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

补充:

什么是 TorchScript?

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


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

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

更多推荐

Layui快速入门之第七节 表格

目录一:基本用法基本案例:二:静态表格三:模板配置渲染四:静态表格转换五:已知数据渲染六:自定义模板API渲染一:基本用法表格组件table是Layui中使用率极高的一个组件,它以表格的承载方式对数据进行渲染、重载、排序、统计、分页等等一系列交互操作,并提供了丰富的API用于扩展,基本涵盖了日常业务所涉及的大部分需求基

【pytorch】模型常用函数(conv2d、linear、loss、maxpooling等)

1、二维卷积函数——cnv2d():'''in_channels(int):输入通道数out_channels(int):输出通道数kernel_size(intortuple):卷积核大小stride(intortuple,optional):步长Default:1padding(int,tupleorstr,opt

驱动开发 作业 day9 9/20

基于platform实现head.h#ifndef__HEAD_H__#define__HEAD_H__//构建LED开关的功能码,不添加ioctl第三个参数#defineLED_ON_IO('l',1)#defineLED_OFF_IO('l',0)#endiftest.c#include<stdlib.h>#inc

docker 获取Nvidia 镜像 | cuda |cudnn

本文分享如何使用docker获取Nvidia镜像,包括cuda10、cuda11等不同版本,cudnn7、cudnn8等,快速搭建深度学习环境。1、来到dockerhub官网,查看有那些Nvidia镜像https://hub.docker.com/r/nvidia/cuda/tags?page=2&name=11.3这

Spring Cloud Eureka:服务注册与发现

💗wei_shuo的个人主页💫wei_shuo的学习社区🌐HelloWorld!SpringCloudEureka:服务注册与发现SpringCloudEureka是SpringCloud生态系统中的一个组件,它是用于实现服务注册与发现的服务治理组件。在微服务架构中,服务之间存在复杂的依赖关系,而SpringCl

安防监控/视频汇聚/云存储/AI智能视频分析平台EasyCVR下级海康设备无法级联是什么原因?

安防视频监控平台/视频集中存储/云存储/磁盘阵列EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。有用户反馈,在使用下级平台的海康设备级联到视频监控EasyCVR平台

游戏服务器搭建过程中Maven多模块编译遇到的一些问题

目录1、多模块的创建1.1父模块的创建1.2删除垃圾文件1.3修改pom.xml1.4创建子模块继承2、子模块之间的互相引用3、多个模块间版本的管理3.1dependencis3.2dependencyManagement4、依赖执行5、在SpringBoot项目中加载依赖项目的组件有几种常用的方法5.1.使用@Com

ip地址怎么改网速快

在当今高度依赖互联网的时代,快速稳定的网络连接对于人们的生活和工作至关重要。然而,有时我们可能会遇到网络速度缓慢的问题。虽然更改IP地址并不能直接影响网络速度,但它可以成为改善网络连接的一种策略之一。虎观代理小二二将探讨如何通过更改IP地址来尝试提升网络速度,并提供一些实用的方法与建议。请注意,网络速度受多个因素影响,

MongoDB简介以及安装

文章目录1.MongoDB简介2.NoSQL简介3.MongoDB安装1.MongoDB简介MongoDB是一种NoSQL数据库,采用了文档数据库模型。它以BSON(BinaryJSON)格式存储数据,支持动态模式和灵活的查询语言。MongoDB具有以下特点:文档存储:MongoDB以文档(Document)的形式存储

传统生产者和消费者问题,Sychronized版和Lock版

1.生产者和消费者问题Synchronized版面试:单例模式、排序算法、生产者消费者、死锁packagecom.kuang.pc;/***线程之间的通信问题,生产者和消费者问题!等待唤醒,通知唤醒*线程交替执行AB操作同一个变量num=0*Anum+1;*Bnum-1;*/publicclassA{publicsta

MongoDB差异数据对比的快速指南

MongoDB是一种非关系型数据库,它以灵活的JSON-like文档的形式存储数据,这种特性使其在处理大量数据和实现快速开发时更具有优势。而由于其灵活的数据模型和强大的性能,MongoDB被广泛应用在各种业务场景中。随着业务的发展和数据的增长,如何准确快速地完成MongoDB数据对比成为了一个重要的问题。如何准确快速地

热文推荐