【YOLO8系列】(二)YOLOv8环境配置,手把手嘴对嘴保姆教学

embedded/2024/9/18 12:10:21/ 标签: YOLO, 深度学习, 人工智能, 目标检测

目录

一. 准备环境

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.icon-default.png?t=N7T8https://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官网,查看对应自己电脑情况的安装命令PyTorchicon-default.png?t=N7T8https://pytorch.org/

4.CUDA下载

打开CUDA Toolkit Archive | NVIDIA Developer官网

CUDA Toolkit Archive | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/cuda-toolkit-archive 选择自己电脑版本的CUDA,例如CUDA Toolkit 11.6.1

 依次选择系统等信息,然后点击下载到电脑。默认安装即可,记录下安装路径

安装完成后,【右击此电脑】—>【属性】—>(界面右边)【高级系统设置】—>【环境变量】—>点击【系统变量】里的path进去查看环境变量。需要有一下环境变量,若没有安装默认安装路径自行添加。

5.CUDNN下载

https://developer.nvidia.com/rdp/cudnn-archiveicon-default.png?t=N7T8https://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/ultralyticsicon-default.png?t=N7T8https://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/ultralyticsicon-default.png?t=N7T8https://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的环境。接下来你可以进行模型训练和推理,期待你在目标检测任务中取得好成绩!如果有任何问题,欢迎在评论区讨论。 

如果以上内容对您有帮助,可以三连打赏订阅本专栏哦, 谢谢~


http://www.ppmy.cn/embedded/58326.html

相关文章

Qt实现检测软件是否多开

Qt实现检测软件是否多开 在桌面软件开发中,软件通常要设置只允许存在一个进程,像一些熟知的音乐软件,QQ音乐这种。而这些软件在限制只有一个进程的同时,通常还会有双击桌面图标唤醒已运行的后台进程的功能。关于双击桌面唤醒已运…

华为机考真题 -- 游戏分组

题目描述: 部门准备举办一场王者荣耀表演赛,有 10 名游戏爱好者参与,分为两队,每队 5 人。每位参与者都有一个评分,代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把 10 名参赛者分为实力尽量相近的两…

记录一次Nginx的使用过程

一、Docker安装配置nginx 1.拉取镜像 docker pull nginx2.创建挂载目录 启动前需要先创建Nginx外部挂载目录文件夹 主要有三个目录 conf:配置文件目录log:日志文件目录html:项目文件目录(这里可以存放web文件) 创建挂…

详细解读COB显示屏使用的共阴技术原理

倒装COB显示屏技术中采用的共阴技术是一种旨在提升能效并且减少驱动功耗的LED驱动方式,常规LED显示屏一般采用共阳极或者独立驱动的方式,而共阴技术就有所不同了,其基本原理如下: 一、基本概念:   共阴技术是指在LED…

Apache Seata tcc 模块源码分析

本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 一 .导读 spring 模块分析中讲到,Seata 的 spring 模块会对涉及到分布式业务的 b…

MATLAB—— 流程语句(1)

一、if elseif else end 语句 例子 x 88; % x表示成绩 if x>90 && x < 100 dj 1; % 等级为1级 elseif x>80 && x < 90 dj 2; % 等级为2级 elseif x>60 && x < 80 dj 3; % 等级为…

实例分割:深度学习在图像识别中的突破

标题&#xff1a;实例分割&#xff1a;深度学习在图像识别中的突破 实例分割是计算机视觉领域中的一项高级任务&#xff0c;它不仅识别图像中的多个对象&#xff0c;还精确地定位每个对象的边界。这项技术是目标检测和语义分割的结合&#xff0c;能够区分同类对象中的个体差异…

KVM宿主上查看虚拟机的IP及桥接网卡

1、查看虚拟的IP地址 注&#xff1a;在virt-manager版本4.0以上&#xff0c;在网卡的图形界面也可以看虚拟机的IP地址。 1.1查看运行的虚拟机 [rootlocalhost img]# virsh list 1.2确认虚拟机mac地址 virsh dumpxml 虚拟机名称&#xff0c;查看服务器对应的mac地址。 [root…

【高性能服务器】select模型

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 IO多路复用就是复用…

Centos7删除MariaDB

在 CentOS 7 上删除 MariaDB 可以通过 yum 包管理器来完成。以下是一步一步的指导&#xff1a; 打开终端&#xff1a;首先&#xff0c;你需要打开你的 CentOS 7 系统的终端。 停止 MariaDB 服务&#xff08;如果正在运行&#xff09;&#xff1a;在卸载 MariaDB 之前&#xff…

Type-C接口快充取电技术的实现

Type-C接口快充取电技术的实现 Type-C接口快充取电技术主要通过USB PD&#xff08;Power Delivery&#xff09;协议实现。这种技术利用了Type-C接口的物理特性和PD协议的智能性&#xff0c;实现了高效、安全、快速的充电过程。具体实现过程如下&#xff1a; 接口连接与检测&a…

阿里发布大模型发布图结构长文本处理智能体,超越GPT-4-128k

随着大语言模型的发展&#xff0c;处理长文本的能力成为了一个重要挑战。虽然有许多方法试图解决这个问题&#xff0c;但都存在不同程度的局限性。最近&#xff0c;阿里巴巴的研究团队提出了一个名为GraphReader的新方法&#xff0c;通过将长文本组织成图结构&#xff0c;并利用…

Java面试八股之MySQL的pconenct和connect有什么区别

MySQL的pconenct和connect有什么区别 在PHP中&#xff0c;mysql_pconnect() 和 mysql_connect() 是用来建立与MySQL数据库服务器连接的两个函数&#xff0c;它们的主要区别在于连接的持久性。 mysql_connect(): 这个函数每次调用都会尝试创建一个新的数据库连接。 当PHP脚本…

MOJO语言中的字典和哈希表:数据结构的灵活性与效率

MOJO是一种编程语言&#xff0c;它以其独特的语法和对现代编程范式的支持而闻名。在MOJO中&#xff0c;字典&#xff08;也称为哈希表或散列表&#xff09;是一种非常重要的数据结构&#xff0c;它允许开发者以键值对的形式存储和检索数据。本文将深入探讨MOJO语言中的字典和哈…

大语言模型的应用探索AI Agent初探!

前言 大语言模型的应用之一是与大语言模型进行聊天也就是一个ChatBot&#xff0c;这个应用已经很广泛了。 接下来的一个应用就是AI Agent。 AI Agent是人工智能代理&#xff08;Artificial Intelligence Agent&#xff09;的概念&#xff0c;它是一种能够感知环境、进行决策…

新火种AI|OpenAI的CEO又有新动作?这次他成立了AI健康公司

作者&#xff1a;一号 编辑&#xff1a;美美 AI技术即将改变医疗健康市场。 就在前两天&#xff0c;人工智能和医疗健康领域迎来了一个重要时刻。OpenAI的CEO萨姆阿尔特曼&#xff08;Sam Altman&#xff09;与Thrive Global的CEO阿里安娜赫芬顿&#xff08;Arianna Huffing…

Mysql——数据库约束和加简单查询

数据库中的约束 在创建表格的过程中可以给某些字段追加约束条件 非空约束 NOT NULL NK create table t_user ( id int(3) not null, username varchar(10), password varchar(15) ); 唯一约束 UNIQUE UK create table t_user ( id int(3) not null, username varch…

打卡第7天-----哈希表

继续坚持✊,我现在看到leetcode上的题不再没有思路了,真的是思路决定出路,在做题之前一定要把思路梳理清楚。 一、四数相加 leetcode题目编号:第454题.四数相加II 题目描述: 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j…

Spring Boot中的API文档生成

Spring Boot中的API文档生成 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 一、为什么需要API文档生成&#xff1f; 在现代的软件开发中&#xff0c;良好的…

字节码编程javassist之生成带有注解的类

写在前面 本文看下如何使用javassist生成带有注解的类。 1&#xff1a;程序 测试类 package com.dahuyou.javassist.huohuo.cc;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import ja…