CV -- 基于GPU版显卡CUDA环境+Pycharm YOLOv8 检测

目录

下载 CUDA

下载  cuDNN

下载 anaconda

安装  PyTorch

pycharm 搭配 yolo 环境并运行


阅读本文须知,需要电脑中有 Nvidia 显卡

下载 CUDA

打开 cmd ,输入 nvidia-smi ,查看电脑支持 CUDA 版本:

我这里是12.0,进入 CUDA 官网:https://developer.nvidia.com/cuda-toolkit-archivehttps://developer.nvidia.com/cuda-toolkit-archive

找到对应版本:

按照自己电脑配置选择,点击下载:

双击启动,选择下载位置

注意自定义安装才能选择安装位置:

一路点击下一步,继续等等,完成下载。

安装出现问题的可用看看这个

【安装完CUDA后文件夹消失解答】_cuda安装后文件夹不见了-CSDN博客

是否下载成功,输入: nvcc -V

下载  cuDNN

下载完成后,为了实现加速,还需下载对应的  cuDNN

cuDNN Archive | NVIDIA Developer

这里以我为例:

下载解压完是三个文件夹:

将这三个文件夹中的内容分别复制到之前下载的 CUDA 中对应的问价夹中。

环境配置:

点击【系统】--【高级系统设置】--【环境变量】--系统变量中的【Path】--【新建】

新建刚才添加的三个文件:

验证:

下载 anaconda

大家可用自行下载,注意下载时要勾选上添加环境变量

打开 anaconda 命令行

输入: 

 conda create -n YOLO-GPU python=3.8

验证环境

先后执行下面脚本:

 conda activate YOLO-GPU
python

安装  PyTorch

选择与 cuda 对应的 pytorch 版本。安装的 cuda 版本需大于等于 pytorch 支持的版本。

Start Locally | PyTorch

官网上已经不推荐使用 Conda 下载了,可用选择使用 Pip 下载,Conda 下载命令这里也给出(在 anaconda prompt 中依次输入):

conda activate YOLO-GPUconda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

pip 的下载命令,官方给的速度太慢,可以加上清华源下载:

pip install torch torchvision torchaudio --index-url https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://download.pytorch.org/whl/cu121

百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1dxxndKEj607g1wlkl6mgSg?pwd=knvg#list/path=%2Fsharelink3901291660-1103934630550953%2FYOLOv8%2FYOLO-GPU%E7%89%88%E4%B8%93%E7%94%A8%E5%8C%85&parentPath=%2Fsharelink3901291660-1103934630550953

实在不行可以直接用上面百度网盘或者我资源里的,将那三个文件放在某个地方(放哪儿都行),使用 Anaconda Navigator,打开 YOLO-GPU 终端:

定位到存放前面三个文件的地方,然后依次输入以下三个命令,将这三个包下载到虚拟环境中:

pip install torch-1.13.1+cu116-cp38-cp38-win_amd64.whl
pip install torchaudio-0.13.1+cu116-cp38-cp38-win_amd64.whl
pip install torchvision-0.14.1+cu116-cp38-cp38-win_amd64.whl

pycharm 搭配 yolo 环境并运行

pycharm 直接切换成新建的 conda 环境即可:

训练的代码跟这两篇文章差不多:

【玩转全栈】----YOLO8训练自己的模型并应用_王者荣耀yolo模型-CSDN博客

【玩转全栈】---基于YOLO8的图片、视频目标检测-CSDN博客

需要修改一点代码:

# 开始训练模型
from ultralytics import YOLO# 加载预训练模型
model = YOLO('yolo8l.pt')
# 开始训练模型
model.train(data='data.yaml',  #训练数据集epochs=500,  #训练轮次imgsz=640,  #输入图片尺寸(会转换为该尺寸)batch=32,  #每次训练的批量device='cpu'   #GPU更快
)
print("训练结束")

device 参数改为

device='cuda:0'

并在后面加上一个参数:

workers=0

否则会报内寸不足的错误,修改后代码如下:

from ultralytics import YOLOdef main():# 加载预训练模型model = YOLO('yolov8l.pt')# 开始训练模型model.train(data='data.yaml',  # 训练数据集epochs=300,  # 训练轮次imgsz=320,  # 输入图片尺寸(会转换为该尺寸)batch=4,  # 每次训练的批量device='cuda:0',  # 使用GPU训练,如果有多个GPU,可以指定如 'cuda:0'workers=0)print("训练结束")if __name__ == '__main__':main()

运行成功结果:

可以看到使用 GPU 训练仅仅用了 0.419 小时,比之前使用 CPU 训练要快得多。

训练完模型后运用,结果如下(因为训练集很少,预测不准确,仅供参考):

yolo8汽车检测

本文参考:

【YOLO】YOLOv8 GPU版显卡CUDA环境安装与配置 - Powered by Discuz!

【yolov8基础教程】Yolov8模型训练GPU环境配置保姆级教程(附安装包)-CSDN博客

YOLOV8从环境部署(GPU版本)到模型训练——专为小白设计一看就懂_ultralytics压缩包-CSDN博客

感谢您的三连!!!

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

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

相关文章

MATLAB图像处理:图像分割方法

图像分割将图像划分为具有特定意义的子区域,是目标检测、医学影像分析、自动驾驶等领域的核心预处理步骤。本文讲解阈值分割、边缘检测、区域生长、聚类分割、基于图的方法等经典与前沿技术,提供MATLAB代码实现。 目录 1. 图像分割基础 2. 经典分割方…

海康摄像头IPV6模式,手动,自动,路由公告

海康摄像头DS-2DC7220IW-A 网络设置中的IPv6配置选项。IPv6是互联网协议(IP)的第六版,用于替代IPv4,提供更多的IP地址和改进的网络功能。图片中的选项允许用户选择如何配置设备的IPv6网络连接: 手动:用户可…

NewMap10.3土地勘测定界自动化系统

“NewMap报件通”适用于建设项目用地土地勘测定界工作,其设计理念是以最大化提高作业效率与最简化作业员操作为原则,后台采用数据库管理技术,以“GIS概念”实现了图形数据与属性数据的双向联动,利用该系统可以方便快捷地绘制数字化…

栈(典型算法思想)—— OJ例题算法解析思路

目录 一、1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode) 算法代码: 1. 初始化结果字符串 2. 遍历输入字符串 3. 检查和处理字符 4. 返回结果 总结 二、844. 比较含退格的字符串 - 力扣(LeetCode) 算…

Qt中基于开源库QRencode生成二维码(附工程源码链接)

目录 1.QRencode简介 2.编译qrencode 3.在Qt中直接使用QRencode源码 3.1.添加源码 3.2.用字符串生成二维码 3.3.用二进制数据生成二维码 3.4.界面设计 3.5.效果展示 4.注意事项 5.源码下载 1.QRencode简介 QRencode是一个开源的库,专门用于生成二维码&…

字符串哈希动态规划_6

一.字符串哈希 字符串哈希概述 字符串哈希是一种将字符串映射到一个数值的技术,常用于处理字符串相关的算法问题,尤其在处理字符串匹配、子串查找等问题时非常高效。它的核心思想是利用一个哈希函数将字符串映射成一个整数,并根据该整数来判…

Kubernetes控制平面组件:Kubernetes如何使用etcd

云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控…

Mybatis后端数据库查询多对多查询解决方案

问题场景: 我开发的是一个论文选择系统。 后端用一个论文表paper来存储论文信息。 论文信息中,包含前置课程,也就是你需要修过这些课程才能选择这个论文。 而一个论文对应的课程有很多个。 这样就造成了一个数据库存储的问题。一个paper…

BGP配置华为——RR反射器配置

实验拓扑 与之前实验同理将loop0作为routerID使用,且R1和R2上用loop1接口用于模拟用户其他网段 实验要求 1,在AS100内运行OSPF协议 2.配置路由反射器,使得从R1进入的数据能够反射到全局网络 3.在R1和R2上分别宣告自己的loop1口网段用于观…

CentOS7 离线安装 Postgresql 指南

一、背景 服务器通常都是离线内网环境,想要通过联网方式一键下载安装 Postgresql 不太现实,本文将介绍如何在 CentOS7 离线安装 Postgresql,以及遇到困难如何解决。 二、安装包下载 先在本地下载好 rpm 包,再通过 ftp 上传到服…

vue3项目实践心得-寻找未被使用的最小编号

🧡🧡遇到的问题🧡🧡 在用vue3ts编写编译原理项目中”绘制状态转换图“时,有一个添加状态的功能按钮,用户点击按钮即可添加一个新的状态,至于新的状态的编号值,想着以”最小未被使用…

FPGA简介|结构、组成和应用

Field Programmable Gate Arrays(FPGA,现场可编程逻辑门阵列),是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物, 是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的&#xff0c…

C# 入门简介

关于C# ​ C# (读作C Sharp)是由微软公司开发的一种面向对象、类型安全、高效且简单的编程语言,最初于 2000 年发布,并随后成为 .NET 框架的一部分。所以学习C#语言的同时,也是需要同步学习.NET框架的,不过…

处理使用 mapstruct 导致分页总数丢失问题

问题 PageHelper 分页总数不对,返回的总数老是等于当前页数目 分析 问题出现在 domain 转 VO 这个步骤,当我把数据库实体类型的 list 转为 vo 类型的 list,然后放进 PageInfo 则会丢失分页信息; 解决方式 从数据库查询出来后…

LabVIEW中的icon.llb 库

icon.llb 库位于 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform 目录下,是 LabVIEW 系统中的一个重要库。它的主要功能是与图标相关的操作,提供了一些实用的 VI 用于处理 LabVIEW 图标的显示、修改和设置。通过该库&#x…

【ProtoBuf】文件编写及序列化

ProtoBuf文件编写及序列化 文章目录 ProtoBuf文件编写及序列化快速上手ProtoBuf创建.proto 文件指定Proto3语法Package声明符定义消息(message)定义消息字段编译命令 序列化与反序列化的使用小结 快速上手ProtoBuf 为了快速上手以及完整的使用ProtoBuf,我们将编写一…

Java高频面试之SE-22

hello啊,各位观众姥爷们!!!本baby今天又来了!哈哈哈哈哈嗝🐶 Java中的Optional了解多少? 在 Java 中,Optional 是 Java 8 引入的一个容器类,用于显式处理可能为 null 的…

250217-数据结构

1. 定义 数据结构是数据的存储结构,即数据是按某些结构来存储的,比如线性结构,比如树状结构等。 2. 学习意义 数据结构是服务于算法的,为了实现算法的高效计算,所以将数据按特定结构存储。比如使用快速插入或删除的…

PyCharm2024使用Python3.12在Debug时,F8步进时如同死机状态

在使用时PyCharm2024+Python3.12,在程序进行调试时,按F8步进时如同死机状态。 1、相同的程序在PyCharm2023+Python3.9时是没有问题的,因此决定重装PyCharm2023+Python3.9,进行调试——调试OK。 …

C/C++ | 每日一练 (2)

💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 C/C | 每日一练 (2)题目参考答案封装继承多态虚函数底…