【YOLO8系列】(二)YOLOv8环境配置,手把手嘴对嘴保姆教学
目录
一. 准备环境
1.Anaconda下载
2.创建yolov8虚拟环境
3.pytorch安装
4.CUDA下载
5.CUDNN下载
二、yolov8模型下载
1.clone模型
2.pycharm配置
①解释器配置
②终端配置
3.安装必要库
4.下载训练模型
三、 环境验证
四、总结
YOLOv8 是 YOLO 系列最新的目标检测模型,具有高效性和高准确度。本文将详细介绍如何在本地环境中配置 YOLOv8,包括环境搭建、依赖安装、模型下载和基本使用示例。
本系列其他文章
【YOLOv8系列】(一)YOLOv8介绍:实时目标检测的最新突破-CSDN博客
一. 准备环境
1.Anaconda下载
Anaconda 是一个开源的 Python 和 R 语言的发行版,致力于简化数据科学、机器学习、人工智能和大数据的包管理和部署。它包含了大量流行的数据科学包,并且通过 Conda 包管理器提供了便捷的包安装、更新和管理方式。
Download Anaconda Distribution | AnacondaDownload Anaconda's open-source Distribution today. Discover the easiest way to perform Python/R data science and machine learning on a single machine.https://www.anaconda.com/download
选择适合自己系统的Anaconda软件下载,然后按照步骤安装在除C盘以外的磁盘。
注意:在这一步骤需要勾选以上选项,其他步骤默认点击next安装即可
2.创建yolov8虚拟环境
在电脑左下角搜索Anaconda,点击打开Anaconda Prompt
创建新的虚拟环境yolov8
conda create -n yolov8 python=3.8
激活yolov8环境
conda activate yolov8
3.pytorch安装
Win+R
输入cmd命令弹出对话框后。输入命令,nvidia-smi自己电脑是否有GPU,如果有,CUDA版本是多少。
nvidia-smi
进入PyTorch官网,查看对应自己电脑情况的安装命令PyTorch
https://pytorch.org/
4.CUDA下载
打开CUDA Toolkit Archive | NVIDIA Developer官网
CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit-archive 选择自己电脑版本的CUDA,例如CUDA Toolkit 11.6.1
依次选择系统等信息,然后点击下载到电脑。默认安装即可,记录下安装路径。
安装完成后,【右击此电脑】—>【属性】—>(界面右边)【高级系统设置】—>【环境变量】—>点击【系统变量】里的path进去查看环境变量。需要有一下环境变量,若没有安装默认安装路径自行添加。
5.CUDNN下载
https://developer.nvidia.com/rdp/cudnn-archivehttps://developer.nvidia.com/rdp/cudnn-archive
将下载解压后将所有文件拷贝
到CUDA目录里,例如CUDA默认路径为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
二、yolov8模型下载
1.clone模型
GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLiteNEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite - ultralytics/ultralyticshttps://github.com/ultralytics/ultralytics
可以直接下载zip压缩文件,或者安装Git输入以下命令克隆ultralytics项目
git clone https://github.com/ultralytics/ultralytics.git
下载完了之后目录如下:
2.pycharm配置
①解释器配置
将下载下来的ultralytics文件夹使用pycharm打开,进入文件 —> 设置界面,找到解释器选项。选择你希望使用的 Anaconda 环境作为解释器,并进行配置。
点击添加本地解释器—>现有—>yolov8虚拟环境下的python.exe
②终端配置
打开Anaconda Prompt所在文件,右键属性查看目标位置,复制cmd.exe以及后面的内容。
同样地,文件—>设置—>工具—>终端,将以上复制的路径填入shell路径。
3.安装必要库
在pycharm终端输入pip安装命令等待安装完成。
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install yolo-i https://pypi.tuna.tsinghua.edu.cn/simple
4.下载训练模型
在GitHub项目仓,README往下翻可以看见预测、分类、分割等模型,点击即可下载。https://github.com/ultralytics/ultralyticshttps://github.com/ultralytics/ultralytics
或者如果网络不太好,可以使用脚本下载。首先需要新建一个model.txt,包含需要下载模型的地址。
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-pose.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-pose.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-pose.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-pose.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n-seg.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-seg.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s-cls.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8m-cls.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-cls.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-cls.pt
https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt
然后运行以下python脚本进行下载。
#!usr/bin/env python
# encoding:utf-8
from __future__ import divisionimport os
import time
import logging
import subprocess
import urllib
import requests
import torch
import random
from pathlib import Pathdef autoDownload(filePath, downloadDir):if not os.path.exists(downloadDir):os.makedirs(downloadDir)while True:with open(filePath) as f:lists = [one.strip() for one in f.readlines() if one.strip()]count = 0for downloadUrl in lists:print("模型下载地址: ", downloadUrl)try:tmpFile = downloadDir + downloadUrl.split("/")[-1].strip()print("下载文件路径: ", tmpFile)if not os.path.exists(tmpFile):torch.hub.download_url_to_file(downloadUrl, str(tmpFile))else:print("当前训练模型文件已经下载完成!")count += 1except Exception as e:print("Exception: ", e)time.sleep(random.randint(1, 5))print("下载数量为: ", count)if count == len(lists):breakif __name__ == "__main__":autoDownload(filePath="model.txt", downloadDir="model/")
等待.pt模型下载完毕即可
三、 环境验证
在终端输入以下命令进行预测,打开runs/detect/predict查看预测结果
yolo predict model=./model/yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
可以看到yolov8的效果是非常棒的,除了person以及bus,甚至连stop sign都检测出来了。
四、总结
通过以上步骤,你应该已经成功配置好YOLOv8的环境。接下来你可以进行模型训练和推理,期待你在目标检测任务中取得好成绩!如果有任何问题,欢迎在评论区讨论。
如果以上内容对您有帮助,可以三连打赏订阅本专栏哦, 谢谢~
相关文章:

【YOLO8系列】(二)YOLOv8环境配置,手把手嘴对嘴保姆教学
目录 一. 准备环境 1.Anaconda下载 2.创建yolov8虚拟环境 3.pytorch安装 4.CUDA下载 5.CUDNN下载 二、yolov8模型下载 1.clone模型 2.pycharm配置 ①解释器配置 ②终端配置 3.安装必要库 4.下载训练模型 三、 环境验证 四、总结 YOLOv8 是 YOLO 系列最新的目标…...

MFC常见问题解决
文章目录 1. 单文档程序初始化显示设置问题解决方案 2. MFC中控件响应出错 1. 单文档程序初始化显示设置 问题 在Microsoft Foundation Classes (MFC) 中,单文档应用程序(SDI)的初始化时默认并不设置为最大显示。但你可以通过编程方式在程序…...

学生管理系统 | python
1. 题目描述 ****************************** 欢迎使用学生管理系统 ****************************** 1. 添加学生 2. 查看学生列表 3. 查看学生信息 4. 删除学生 5. 退出系统 1 请输入学生姓名: zhangsan 请输入学生学号: 10010 请输入学生班级: 3 请输入学生成…...

opencv读取视频文件夹内视频的名字_时长_帧率_分辨率写入excel-cnblog
看视频的时候有的视频文件名贼长。想要翻看,在文件夹里根本显示不出来,缩短又会丢失一些信息,所以我写了一份Python代码,直接获取视频的名字,时长,帧率,还有分辨率写到excel里。 实际效果如下图…...
js对象的方法速览---数组的静态方法,实例方法和属性合集,各包含一个示例
tip: 本文仅作为查找和基本使用的展示,需要深入了解这些方法的使用请参考:Object - JavaScript | MDN (mozilla.org) 可以通过目录快速锁定需要查找的方法和查看它的使用 目录 tip: 新建一个对象 实例属性 实例方法 hasOwn…...

Redis基础教程(十四):Redis连接
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝Ὁ…...

GraphRAG——一个基于图的检索增强生成的开源项目【送源码】
GraphRAG 最近几天,微软团队开源了GraphRAG,这是一种基于图(Graph)的检索增强生成方法。 先说说RAG吧,检索增强生成,相当于是从一个给定好的知识库中进行检索,接入LLM模型,让模型生…...

什么是 VueQuill(前端的富文本编辑器)?
什么是 VueQuill? 1. 简介 VueQuill 是 Vue.js 的一个富文本编辑器插件,它基于 Quill 编辑器构建,提供了简洁且功能强大的富文本编辑功能。Quill 是一个现代化的富文本编辑器,提供丰富的文本编辑能力,支持多种格式和…...

从海上长城到数字防线:视频技术在海域边防现代化中的创新应用
随着全球化和科技发展的加速,海域安全问题日益凸显其重要性。海域边防作为国家安全的第一道防线,其监控和管理面临着诸多挑战。近年来,视频技术的快速发展为海域边防场景提供了新的解决方案,其高效、实时、远程的监控特点极大地提…...

《信息技术与信息化 》是什么级别的期刊?是正规期刊吗?能评职称吗?
问题解答 问:《信息技术与信息化 》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《信息技术与信息化 》级别? 答:省级。主管单位:山东省科学技术协会 主办单…...

【最新版】手把手Claude 3.5 Sonnet 详细步骤注册方法!
目录 01 Claude 3.5 Sonnet 是什么 02 Claude 3.5 Sonnet 注册方法 Step1:注册 Wildcard Step2:注册Claude3.5 Step3:接收并输入验证 03 使用Claude 3.5 Sonnet 04 升级Claude 3 Opus 05 结语 01 Claude 3.5 Sonnet 是什么 蛰伏了三…...
代理模式和Java中的动态代理【开发实践】
文章目录 一、代理模式基础1.1 代理模式1.2 静态代理1.3 动态代理 二、静态代理的实现三、JDK动态代理3.1 JDK动态代理概述3.2 invoke方法介绍3.3 JDK动态代理的使用 四、CGLIB动态代理3.1 CGLIB动态代理概述3.2 CGLIB动态代理的使用 五、对比5.1 代理实现与使用对比5.2 使用条…...

【Linux】进程间通信——匿名管道
目录 为什么要进行进程间通信? 匿名管道的具体实现 pipe创建内存级文件形成管道 pipe的简单使用 匿名管道的四种情况和五种特性 四种情况 五种特性 PIPE_BUF 命令行管道 | 功能代码:创建进程池 为什么要进行进程间通信? 1.数据传输&…...
React Native与React Native Web:跨平台开发的新选择
React Native和React Native Web是两种基于React框架的跨平台开发技术,它们分别针对原生移动应用和Web应用的开发,但都提供了统一的开发体验和代码复用能力。 React Native 概述 React Native允许开发者使用React的组件化思想和JavaScript编写原生级别…...

【从零开始实现stm32无刷电机FOC】【理论】【3/6 位置、速度、电流控制】
目录 PID控制滤波单独位置控制单独速度控制单独电流控制位置-速度-电流串级控制 上一节,通过对SVPWM的推导,我们获得了控制电机转子任意受力的能力。本节,我们选用上节得到的转子dq轴解耦的SVPWM形式,对转子受力进行合理控制&…...

使用MySQLInstaller配置MySQL
操作步骤 1.配置High Availability 默认选项Standalone MySQL Server classic MySQL Replication 2.配置Type and Networking ◆端口默认启用TCP/P网络 ◆端口默认为3306 3.配置Account and Roles 设置root账户的密码、添加其他管理员 4.配置Windows Service ◆配置MySQL Serv…...

命令执行(RCE)面对各种过滤,骚姿势绕过总结
1、什么是RCE RCE又称远程代码执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 2、RCE产生原因 服务器没有对执行命令的函数做严格的过滤,最终导致命令被执行。 3、命令执行函数 PHP代码执行函数…...
复杂的数仓项目,涵盖了从数据采集、处理、存储到可视化的整个流程
一个复杂的数仓项目,涵盖了从数据采集、处理、存储到可视化的整个流程。以下是对您提供信息的梳理和解释: 1. **项目架构**: - 包含实时流、离线流和配置流三条数据流。 - 数据源使用MySQL,开启binlog日志。 2. **数据采集…...
三相感应电机的建模仿真(3)基于ABC相坐标系Level2 S-Fun以及定子串不对称电抗起动过程仿真分析
1. 概述 2. 三相感应电动机状态方程式 3. 基于Level2 S-Function的仿真模型建立 4. 动态分析实例 5. 总结 6. 参考文献 1. 概述 三相感应电机自然坐标系下的数学模型是一组周期性变系数微分方程(其电感矩阵是转子位置角的函数,转子位置角随时间按正弦规律变化),将其用…...
了解Adam和RMSprop优化算法
优化算法是机器学习和深度学习模型训练中至关重要的部分。本文将详细介绍Adam(Adaptive Moment Estimation)和RMSprop(Root Mean Square Propagation)这两种常用的优化算法,包括它们的原理、公式和具体代码示例。 RMS…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...

uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...

动态规划-1035.不相交的线-力扣(LeetCode)
一、题目解析 光看题目要求和例图,感觉这题好麻烦,直线不能相交啊,每个数字只属于一条连线啊等等,但我们结合题目所给的信息和例图的内容,这不就是最长公共子序列吗?,我们把最长公共子序列连线起…...

LeetCode - 148. 排序链表
目录 题目 思路 基本情况检查 复杂度分析 执行示例 读者可能出的错误 正确的写法 题目 148. 排序链表 - 力扣(LeetCode) 思路 链表归并排序采用"分治"的策略,主要分为三个步骤: 分割:将链表从中间…...

在MobaXterm 打开图形工具firefox
目录 1.安装 X 服务器软件 2.服务器端配置 3.客户端配置 4.安装并打开 Firefox 1.安装 X 服务器软件 Centos系统 # CentOS/RHEL 7 及之前(YUM) sudo yum install xorg-x11-server-Xorg xorg-x11-xinit xorg-x11-utils mesa-libEGL mesa-libGL mesa-…...

【Axure高保真原型】图片列表添加和删除图片
今天和大家分享图片列表添加和删除图片的原型模板,效果包括: 点击图片列表的加号可以显示图片选择器,选择里面的图片; 选择图片后点击添加按钮,可以将该图片添加到图片列表; 鼠标移入图片列表的图片&…...