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-archive
https://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博客
感谢您的三连!!!
相关文章:
CV -- 基于GPU版CUDA环境+Pycharm YOLOv8 目标检测
目录 下载 CUDA 下载 cuDNN 下载 anaconda 安装 PyTorch pycharm 搭配 yolo 环境并运行 阅读本文须知,需要电脑中有 Nvidia 显卡 下载 CUDA 打开 cmd ,输入 nvidia-smi ,查看电脑支持 CUDA 版本: 我这里是12.0,进入…...
ELK8.17部署(Ubantu24x64)
检查java环境 ELK8.x不支持java8 若无环境可执行 sudo apt install openjdk-17-jre-headless 准备安装包 官网下载地址: ELK products 搜Elasticsearch、Kibana、Logstash、Filebeat versions需一致,这里使用8.17.0 Elasticsearch Kibana Logstash Filebeat e…...
Python glob模块使用示例代码
Python 的 glob 模块位于标准库中,专门用于在文件系统中进行 文件路径模式匹配(与 Shell 中的通配符匹配类似)。它可以根据 通配符(如 *、? 和 [])来查找符合条件的文件路径。 1. glob 模块的核心功能 路径模式匹配:根据指定的通配符模式,匹配对应的文件路径。递归搜索…...
npm、pnpm和yarn有什么区别
1. 性能和速度 npm:在较早的版本中,速度较慢,尤其是在安装大型依赖集时。自npm 5以后的版本引入了缓存机制,性能有所提升。yarn:由Facebook开发,主要目标是提高安装速度。使用了缓存和并行安装(…...
Java 基础面试
final、finalize 和 finally 的不同之处? Final:是一个修饰符,可以修饰变量、方法和类。如果 final 修饰变量,意味着该变量的值在初始化后不 能被改变。Finalize:方法是在对象被回收之前调用的方法, 给对象…...
ac的dhcp池里option43配错导致ap无法上线问题排查过程
dhcp池里ac地址配错,导致ap无法上线问题排查过程 问题:ap手动设置ac的ip正常注册在线,但dhcp获得ip和ac地址发现无法在ac上注册成功。 组网: ac旁路结构,路由器lan口地址172.16.1.1,开dhcp服务࿰…...
第1章:LangChain4j的聊天与语言模型
LangChain4J官方文档翻译与解析 目标文档路径: https://docs.langchain4j.dev/tutorials/chat-and-language-models/ 语言模型的两种API类型 LangChain4j支持两种语言模型(LLM)的API: LanguageModel:这种API非常简单,…...
Cython学习笔记1:利用Cython加速Python运行速度
Cython学习笔记1:利用Cython加速Python运行速度 CythonCython 的核心特点:利用Cython加速Python运行速度1. Cython加速Python运行速度原理2. 不使用Cython3. 使用Cython加速(1)使用pip安装 cython 和 setuptools 库(2&…...
【从0做项目】Java音缘心动(1)———项目介绍设计
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 零:项目结果展示 一:音乐播放器Web网页介绍 二:前期准备工作&…...
智慧农业新生态 | 农业数字化服务平台——让土地生金,让服务无忧
一部手机管农事,从播种到丰收,全链路数字化赋能! 面向农户、农机手、农服商、农资商打造的一站式农业产业互联网平台,打通农资交易、农机调度、农服管理、技术指导全场景闭环,助力乡村振兴提效增收。 三大核心场景&am…...
C++编程,#include <iostream>详解,以及using namespace std;作用
在C编程中,#include <iostream> 是用来包含输入/输出流头文件的预处理指令。它允许程序使用标准的输入/输出对象如 std::cout 和 std::cin,以便与标准输入和输出流进行交互。这一头文件是编写输入输出操作时必不可少的部分。 讲到这里,…...
jetbrains IDEA集成大语言模型
一、CodeGPT CodeGPT是由CSDN打造的一款生成式AI产品,专为开发者量身定制。它能够提供强大的技术支持,帮助开发者在学习新技术或解决实际工作中的各种计算机和开发难题1。 idea集成 1.在线安装:直接在线安装 2.离线安装 JetBrains Mar…...
理解都远正态分布中指数项的精度矩阵(协方差逆矩阵)
之前一直不是很理解这个公式为什么用这个精度矩阵,为什么这么巧合,为什么是它,百思不得其解,最近有了一些新的理解: 1. 这个精度矩阵相对公平合理的用统一的方式衡量了变量间的关系,但是如果是公平合理的衡…...
使用 Spark NLP 实现中文实体抽取与关系提取
在自然语言处理(NLP)领域,实体抽取和关系提取是两个重要的任务。实体抽取用于从文本中识别出具有特定意义的实体(如人名、地名、组织名等),而关系提取则用于识别实体之间的关系。本文将通过一个基于 Apache Spark 和 Spark NLP 的示例,展示如何实现中文文本的实体抽取和…...
less-8 boolen盲注,时间盲注 函数补全
获取当前数据库名 import requestsdef inject_database(url):namemax_length20 # 假设数据库名称最大长度为20# ASCII范围:数字、字母、下划线(_)low{a: 97, z: 122, A: 65, Z: 90, 0: 48, 9: 57, _: 95}high{97: a, 122: z, 65: A, 90: Z,…...
[NKU]C++基础课(五)补充:结构体
【3.3】C结构体介绍_哔哩哔哩_bilibili 结构体 最厉害的学生 现有N名同学参加了期末考试,并且获得了每名同学的信息: 1 姓名(不超过8个字符的仅有英文小写字母的字符串) 2 语文、数学、英语成绩(均为不超过150的自然数)。 3 总分最高的学生就是最厉害的。 请输…...
亲测可用,IDEA中使用满血版DeepSeek R1!支持深度思考!免费!免配置!
作者:程序员 Hollis 之前介绍过在IDEA中使用DeepSeek的方案,但是很多人表示还是用的不够爽,比如用CodeChat的方案,只支持V3版本,不支持带推理的R1。想要配置R1的话有特别的麻烦。 那么,今天,给…...
springcloud整合seata
1、前置安装与了解: 1、nacos的安装:docker安装nacos并挂载 2、seata的安装:docker安装seata并挂载,同时注册到nacos 3、spring-boot版本为2.6.12,spring-cloud-alibaba版本为2021.0.4.0,spring-cloud版本…...
Html5学习教程,从入门到精通,HTML5 简介语法知识点及案例代码(1)
HTML5 简介 HTML5 是最新的 HTML 标准,它引入了许多新特性,使网页开发更加强大和灵活。以下是一些关键的 HTML5 语法知识点: 1. 文档类型声明 (DOCTYPE) HTML5 的文档类型声明非常简单: <!DOCTYPE html>2. 字符编码 HT…...
Django加bootstrap实现上传文件含有进度条
1. 项目结构 myproject/ ├── myproject/ │ ├── settings.py │ ├── urls.py │ └── ... ├── myapp/ │ ├── templates/ │ │ └── upload.html │ ├── views.py │ ├── urls.py │ └── ... └── media/ # 手动创…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...
