最新yolov8环境搭建、推理训练一站式超详细教学

1、获取yolov8源码

访问yolov8_github官网,网络不稳定时可能需要加速器。yolov8源码地址
在这里插入图片描述
获取方式:直接下载或者git工具克隆
我使用git操作进行演示,复制github上的地址(需提前关闭加速器)。

git clone https://github.com/ultralytics/ultralytics.git

在这里插入图片描述
最终得到yolov8的源码
在这里插入图片描述

2、安装cuda、cudnn、anaconda、pytorch

Win+R输入cmd命令弹出对话框后输入命令,查看显卡驱动最高支持的CUDA版本
版本过低需要更新显卡驱动地址

nvidia-smi

在这里插入图片描述

安装cuda、cudnn(免邮箱注册)、pytorch统一以11.8版本进行安装

2.1、CUDA下载地址,点击CUDA Toolkit 11.8.0跳转页面后依次选择
在这里插入图片描述
下载完成后默认安装路径一直点确认即可
安装完成后,右击此电脑—>属性—>(界面右边)高级系统设置—>环境变量—>点击系统变量里的path进去查看环境变量。需要有下面两个环境变量,若没有安装默认安装路径自行添加
在这里插入图片描述
Win+R输入cmd命令弹出对话框后输入命令,验证cuda是否安装成功

nvcc -V

在这里插入图片描述

2.2、cudnn下载网址,选择对应11.x的版本即可,展开后鼠标点击安装包右键(不然会进行一系列邮箱注册繁琐操作)
如复制链接没有弹窗下载或者还是显示注册邮箱换一个11.x对应的cudnn版本即可
复制链接可直接用于迅雷下载速度更佳
请添加图片描述

下载解压后将所有文件拷贝到cuda目录里,cuda默认路径为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
在这里插入图片描述
拷贝后cuda中的文件为
在这里插入图片描述
2.3、安装anaconda、pytorch虚拟环境
2.3.1、anaconda教程很多,自行下载安装即可。安装完成后需要根据自己的安装路径配置环境变量
安装完成后,右击此电脑—>属性—>(界面右边)高级系统设置—>环境变量—>点击系统变量里的path进去添加环境变量。
在这里插入图片描述
找到自己安装的对应路径,复制即可:在这里插入图片描述
Win+R输入cmd命令弹出对话框后输入命令,验证Anaconda是否安装成功

conda --version
conda info
python
exit()

在这里插入图片描述
2.3.2、打开开始菜单,找到anaconda prompt
(1) 基于base创建一个命名为yolov8的python环境。-n 参数后跟新建环境名称

conda create -n yolov8 python==3.8

输入"y"即可,最后会得到如何激活环境的命令的界面
在这里插入图片描述

(2) 查看当前有那些虚拟环境

conda env list

在这里插入图片描述
(3)激活环境

conda activate yolov8

在这里插入图片描述
(4)pytorch官网地址,找到cuda11.8对应的命令进行安装
在这里插入图片描述

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

在这里插入图片描述
等待安装完成,显示下图字样,即代表安装成功
在这里插入图片描述
找到源码对应文件,在文件路径处输入cmd,激活之前创建的yolo环境
在这里插入图片描述
安装requirements里的依赖

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

3、添加环境到pyCharm进行推理

打开PyCharm后,将现有yolov8环境添加到解释器中
在这里插入图片描述
然后创建一个test.py文件,检测pytorch

# 输入库
import torch
# 查看版本
print(torch.__version__)# 查看gpu是否可用
print(torch.cuda.is_available())# 查看对应CUDA的版本号
print(torch.backends.cudnn.version())
print(torch.version.cuda)# 退出python
quit()

在这里插入图片描述
进行推理

yolo task=detect mode=predict model=yolov8n.pt conf=0.25 source='ultralytics/assets/bus.jpg'

若出现以下错误'yolo' 不是内部或外部命令,也不是可运行的程序或批处理文件
输入下面指令即可

pip install ultralytics

最后进行推理成功

在这里插入图片描述

未待完续…
总结:
1、获取github上yolov8的项目,利用git工具克隆到本地
2、下载cuda
3、下载cudnn
4、anaconda
5、创建yolov8虚拟环境
6、安装pytorch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/169666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QML】Qt设置USB免驱相机曝光时间(Linux系统)UVC

1. 问题 使用QML的Camera组件创建相机。需要配置曝光时间,使用CameraExposure中的exposureCompensation,exposureMode配置无效果,原因可能是不支持USB相机。 有两种方法经测试有效果: 命令行调用v4l2-ctl命令的方法&#xff0c…

【XSLVGL2.0】如何做全局键功能和键值映射

XSLVGL2.0 开发手册 【XSLVGL2.0】如何做全局键功能和键值映射 1、概述1、概述 项目常见需要配置一个按键,并要求短按此按键回到首页, 长按此按键进行关机。 XSLVGL2.0在输入设备对接接口中,有一个回调,在此回调中可以直接收到输入设备上报的所有按键事件。 一般这个功能…

UI自动化(selenium+python)之元素定位的三种等待方式!

前言 在UI自动化过程中,常遇到元素未找到,代码报错的情况。这种情况下,需要用等待wait。 在selenium中可以用到三种等待方式即sleep,implicitly_wait,WebDriverWait 一、固定等待(sleep) 导入time模块,设定固定的等待时间 缺…

计数问题+约瑟夫问题(map)

目录 一、计数问题 二、约瑟夫问题 一、计数问题 #include<iostream> #include<map> using namespace std; int main() {int n,x;cin>>n>>x;map<int,int>m;for(int i1;i<n;i){if(i>1 && i<10){m[i];}else{int temp i;while (…

解决github无法访问的办法

方法/步骤 1.问题描述&#xff1a;能联网但不能访问github.com 2.找到hosts文件。地址&#xff1a;C:\Windows\System32\drivers\etc &#xff08;一般是在这的&#xff09; 3.不要直接在这修改hosts文件&#xff0c;需要将hosts文件复制粘贴到桌面&#xff08;或其它地方自…

【仿写实现move函数】

仿写实现move函数 一、值的类型 1.左值 描述&#xff1a;能够取地址的值成为左值 int a 10; const int b 15; int *pa &a; const int *pb &b;2.纯右值 描述&#xff1a;赤裸裸的字面值 eg(false , 3 , 12.23等) int a 13; int *p &a; //取a的地址 int …

在线音频视频剪辑网站推荐

123apps: Online MP3 Cutter - Cut Songs, Make Ringtones

Datax安装部署及读取MYSQL写入HDFS

一.DataX简介 1.DataX概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 源码地址&#xff1a;https://github.com/alibaba/Data…

leaflet对线设置渐变色

效果展示&#xff1a; 引用leaflet-polycolor组件 npm install leaflet-polycolor .vue文件中使用 import leafletPolycolor from leaflet-polycolor; leafletPolycolor(L); const latLngs [[37.03, 111.92], [37.53444, 111.98555], [36.88, 112.12], [37.53444, 112.24], […

MT6893_天玑 1200芯片规格参数介绍_datasheet规格书

天玑 1200(MT6893)是一款专为旗舰级全新5G芯片&#xff0c;它融合了先进的AI、相机和多媒体技术&#xff0c;为用户带来令人惊叹的体验。采用先进的6纳米制程设计&#xff0c;内置各种先进技术。该芯片采用旗舰级的八核CPU架构设计&#xff0c;支持16GB强大的四通道内存以及双通…

CDN 加速 - 隐藏真实 IP - 复活 IP

CDN 一词相信很多朋友都不会陌生,网上也经常会看到相关报道。或许大部分人都知道 CDN 加速可以提升网站的打开速度及用户下载资源的速度,而同时也有不少朋友还不清楚 CDN 是什么?有什么用途?它是如何实现加速的呢?下面为大家整理了一些通俗易懂的知识点。 顺哥轻创 CDN …

每日一练:“打家劫舍“(House Robber)问题 II

有想要了解打家劫舍初级问题的&#xff0c;可以点击下面链接查看&#xff01; 每日一练&#xff1a;“打家劫舍“&#xff08;House Robber&#xff09;问题 I 1. 问题 假设有房屋形成一个环形&#xff0c;即第一个房屋和最后一个房屋也相邻&#xff0c;每个房屋里都存放着一定…

Leetcode—83.删除排序链表中的重复元素【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—83.删除排序链表中的重复元素 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* deleteDuplicates(struct ListNode* head) {i…

c#处理SQLSERVER 中image数量类型为空

项目场景&#xff1a; DataRow dataRow dataTable.Rows[i]; var pxpicture dataRow ["pxImage"];if (pxpicture!null){byte[] pic (byte[])pxpicture;acs.Add("pxpicture", Convert.ToBase64String(pic));}问题描述 代码执行出现错误&#xff1a; 无…

MySQL 执行计划分析

MySQL执行计划最核心字段是 type 字段&#xff0c;用于描述优化器在执行查询时查找记录的方式。 其字段值较多&#xff0c;可分为 3 类加以理解&#xff1a;全表查询、范围查询、等值查询 全表查询 All&#xff1a;全表扫描&#xff0c;MySQL会扫描整个聚簇索引来找到匹配的行…

【Docker】Docker 仓库管理和Docker Dockerfile

作者简介&#xff1a; 辭七七&#xff0c;目前大二&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

MybatisPlus集成baomidou-dynamic,多数据源配置使用、MybatisPlus分页分组等操作示例

文章目录 pom配置示例代码 pom <dependencies><!--mybatisPlus集成SpringBoot起步依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version>&l…

Spring Cloud Gateway 网关跨域问题解决

0、版本说明 Spring Cloud Version&#xff1a;Spring Cloud 2021.0.4 Spring Cloud Gateway Version&#xff1a;3.1.4 Spring Boot Version&#xff1a;2.6.11 1、网关跨域问题说明 关于跨域的相关原理和理论&#xff0c;网上有大量文章对此进行说明&#xff0c;因此博主在这…

【DP】mobiusp正在创作乐曲

输入样例1&#xff1a; 5 2 1 7 7 1 3 输出样例1&#xff1a; 2 输入样例2&#xff1a; 10 3 2 5 6 4 4 5 7 3 5 6 输出样例2&#xff1a; 1 #include<iostream> #include<cstring> #include<algorithm> #include<vector> using namespace std; typede…

面向对象高级---接口

接口 概念:接口就是一种公共的规范标准,只要符合规范,大家都可以通用 java中接口存在的两个意义 用来定义规范用来做功能的扩展 接口的特点 接口用关键字interface修饰 public interface 接口名{}类实现接口用implements表示 public class 类名 implements 接口名{}接口…