当前位置: 首页 > news >正文

【环境配置】Windows 10 安装 PyTorch 开发环境,以及验证 YOLOv8

Windows 10 安装 PyTorch 开发环境,以及验证 YOLOv8

最近搞了一台Windows机器,准备在上面安装深度学习的开发环境,并搭建部署YOLOv8做训练和测试使用;

环境:
OS: Windows 10
显卡: RTX 3090

在这里插入图片描述

安装 NVIDIA 驱动

根据显卡型号找到对应的驱动进行安装

GeForce® 驱动程序

验证

在终端中输入: nvidia-smi 查看是否正确安装

PS F:\workspace\notebook> nvidia-smi
Tue Aug 15 09:23:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 528.24       Driver Version: 528.24       CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ... WDDM  | 00000000:01:00.0  On |                  N/A |
| 30%   38C    P8    19W / 350W |    782MiB / 24576MiB |      4%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1620    C+G   C:\Windows\System32\dwm.exe     N/A      |
|    0   N/A  N/A      1908    C+G   ...ge\Application\msedge.exe    N/A      |

安装 Visual Studio 2019 Community

安装 VS2019 Visual Studio Community 2019

验证

在这里插入图片描述

安装 Git, CMake, Anaconda

安装 git,

tortoisegit 可以看文件状态

安装 cmake, 跨平台编译时使用;

安装 Anaconda,集成了很多 python 开发环境

验证

下载并安装 OpenCV

OpenCV 下载地址

VC版本号VS对应版本
vc6VC6.0
vc7VS2002
vc7.1VS2003
vc8VS2005
vc9VS2008
vc10VS2010
vc11VS2012
vc12VS2013
vc13VS2014
vc14VS2015
vc15VS2017
vc16VS2019

既然上面安装的是 VS 2019, 那么我们就安装 VC16 版本的 OpenCV, 省得自己编译了;

解压安装后,将 build 目录下的 x64\vc16\bin 添加到环境变量中。

安装 CUDA 和 CUDNN

这里有些人可能不知道需要安装什么版本的 cuda。因为我这里的 GPU 是 N卡 3090 还是比较好的,所以可以安装比较高阶版本的软件,但是也不能太新,我这里直接参考 PyTorch 里最新版本的框架依赖哪个?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MNJC1PNc-1692070277630)(image.png)]

好了,那就安装 CUDA 11.8 和对应的 CUDNN 8 ;

cuda11.8-exe_local-3GB

cudnn 下载对应版本

注意: cudnn 要注册账号

解压后,将 cudnn 文件夹下的所有文件夹复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\ 目录下。

验证

(base) D:\>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

进入到安装目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\demo_suite, 运行 .\deviceQuery.exe

在这里插入图片描述

安装 PyTorch

PyTorch

conda 安装

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

pip 安装

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

验证

(base) D:\>python
Python 3.11.4 | packaged by Anaconda, Inc. | (main, Jul  5 2023, 13:38:37) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
2.0.1
>>> torch.cuda.is_available()
True
>>>

ultralytics/YOLOv8

创建虚拟环境

conda create --name yolov8 --clone base

激活虚拟环境

conda activate yolov8

安装

pip install ultralytics

代码 https://github.com/ultralytics/ultralytics

权重 https://github.com/ultralytics/assets/releases

验证

yolo predict model=yolov8n.pt imgsz=640 conf=0.25
(yolov8) F:\workspace\yolov8>yolo predict model=yolov8n.pt imgsz=640 conf=0.25
WARNING  'source' is missing. Using default 'source=D:\anaconda3\envs\yolov8\Lib\site-packages\ultralytics\assets'.
Ultralytics YOLOv8.0.154  Python-3.11.4 torch-2.0.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24576MiB)
YOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradientsimage 1/2 D:\anaconda3\envs\yolov8\Lib\site-packages\ultralytics\assets\bus.jpg: 640x480 4 persons, 1 bus, 1 stop sign, 160.2ms
image 2/2 D:\anaconda3\envs\yolov8\Lib\site-packages\ultralytics\assets\zidane.jpg: 384x640 2 persons, 1 tie, 154.0ms
Speed: 41.6ms preprocess, 157.1ms inference, 72.6ms postprocess per image at shape (1, 3, 384, 640)
Results saved to runs\detect\predict

【参考】

Windows 安装 CUDA/cuDNN

验证pytorch是否为GPU版本

YOLOv8环境搭建(Windows11)

YOLOv8 从环境搭建到推理训练

Ultralytics YOLOv8 Docs-Quickstart

Anaconda 创建,复制,移植,删除环境

相关文章:

【环境配置】Windows 10 安装 PyTorch 开发环境,以及验证 YOLOv8

Windows 10 安装 PyTorch 开发环境,以及验证 YOLOv8 最近搞了一台Windows机器,准备在上面安装深度学习的开发环境,并搭建部署YOLOv8做训练和测试使用; 环境: OS: Windows 10 显卡: RTX 3090 安…...

数学建模之“层次分析法”原理和代码详解

一、层次分析法简介 层次分析法(Analytic Hierarchy Process,AHP)是一种用于多准则决策分析和评估问题的定量方法,常用于数学建模中。它是由数学家托马斯赛蒂(Thomas Saaty)开发的。 层次分析法将复杂的决…...

使用IText导出复杂pdf

1、问题描述 需要将发票导出成pdf&#xff0c;要求每页都必须包含发票信息和表头行。 2、解决方法 使用IText工具实现PDF导出 IText8文档&#xff1a;Examples (itextpdf.com) 3、我的代码 引入Itext依赖&#xff0c;我这里用的是8.0.1版本 <dependency><groupId>…...

多线程并发服务器(TCP)

服务器 客户端 结果...

uni-app的Vue.js实现微信小程序的紧急事件登记页面功能

主要功能实现 完成发生时间选择功能&#xff0c;用户可以通过日期选择器选择事件发生的时间。实现事件类型选择功能&#xff0c;用户可以通过下拉选择框选择事件的类型。添加子养殖场编号输入框&#xff0c;用户可以输入与事件相关的子养殖场编号。完成事件描述输入功能&#…...

面试题 17.16.按摩师

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;面试题 17.16. 按摩师 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 动态规划&#xff0c;对于第 i 个预约&#xff0c;若接下&#xff0c;其最大值为不接上一个时的最大值与当前值之和&a…...

vscode里配置C#环境并运行.cs文件

vscode是一款跨平台、轻量级、开源的IDE, 支持C、C、Java、C#、R、Python、Go、Nodejs等多种语言的开发和调试。下面介绍在vscode里配置C#环境。这里以配置.Net SDK v5.0&#xff0c;语言版本为C#9.0&#xff0c;对应的开发平台为VS2019&#xff0c;作为案例说明。 1、下载vsc…...

uniapp配置添加阿里巴巴图标icon流程步骤

文章目录 下载复制文件到项目文件夹里项目配置目录结构显示图标 下载 阿里巴巴icon官网 https://www.iconfont.cn/ 复制文件到项目文件夹里 项目配置目录结构 显示图标...

大模型基础02:GPT家族与提示学习

大模型基础&#xff1a;GPT 家族与提示学习 从 GPT-1 到 GPT-3.5 GPT(Generative Pre-trained Transformer)是 Google 于2018年提出的一种基于 Transformer 的预训练语言模型。它标志着自然语言处理领域从 RNN 时代进入 Transformer 时代。GPT 的发展历史和技术特点如下: GP…...

算法基础课——基础算法(模板整理)

快速排序 快速排序 #include <iostream> #include <algorithm> using namespace std; int n; int s[100000]; int main() {cin>>n;for(int i0;i<n;i){cin>>s[i];}sort(s,sn);for(int i0;i<n;i){cout<<s[i]<<" ";}cout<…...

如何解决使用npm出现Cannot find module ‘XXX\node_modules\npm\bin\npm-cli.js’错误

遇到问题&#xff1a;用npm下载组件时出现Cannot find module ‘D&#xff1a;software\node_modules\npm\bin\npm-cli.js’ 问题&#xff0c;导致下载组件不能完成。 解决方法&#xff1a;下载缺少的npm文件即可解决放到指定node_modules目录下即可解决。 分析问题&#xff1…...

【华为认证数通高级证书实验-分享篇2】

实验拓扑 注&#xff1a;代码块为各交换机路由器中的配置命令 配置拓扑文件 实验要求 实现全网通 实验配置 SW3 [SW3]v b 10 20 [SW3]int e0/0/1 [SW3-Ethernet0/0/1]po link-t a [SW3-Ethernet0/0/1]po de v 10 [SW3-Ethernet0/0/1]int e0/0/2 [SW3-Ethernet0/0/2]po li…...

ui设计需要学编程吗难不难学习 优漫动游

ui设计需要学编程吗难不难学习&#xff0c;对于基础小白来说学习编程确实有一定难度&#xff0c;所以很想知道零基础学习ui设计需要学编程吗&#xff0c;需不需要写代码呢&#xff0c;这些问题小编来简单的分析分析解决零基础小白的一些困惑&#xff0c;希望对你有帮助。 ui…...

什么是线程优先级?Java中的线程优先级是如何定义和使用的?

线程优先级是指在多线程环境中&#xff0c;通过给线程分配不同的优先级来决定线程获取CPU时间片的顺序。优先级较高的线程会更有可能被调度执行&#xff0c;而优先级较低的线程可能会获得较少的CPU时间。 在Java中&#xff0c;线程优先级是通过整数表示的&#xff0c;范围从1到…...

无涯教程-TensorFlow - XOR实现

在本章中&#xff0c;无涯教程将学习使用TensorFlow的XOR实现&#xff0c;在TensorFlow中开始XOR实施之前&#xff0c;看一下XOR表值。这将帮助了解加密和解密过程。 A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0 XOR密码加密方法基本上用于加密&#xff0c;即通过生成与适当密钥匹配…...

计算机组成与设计 Patterson Hennessy 笔记(二)MIPS 指令集

计算机的语言&#xff1a;汇编指令集 也就是指令集。本书主要介绍 MIPS 指令集。 汇编指令 算数运算&#xff1a; add a,b,c # abc sub a,b,c # ab-cMIPS 汇编的注释是 # 号。 由于MIPS中寄存器大小32位&#xff0c;是基本访问单位&#xff0c;因此也被称为一个字 word。M…...

【设计模式】模板方法模式(Template Method Pattern)

23种设计模式之模板方法模式&#xff08;Template Method Pattern&#xff09; 基本概念 模板方法模式是一种行为型设计模式&#xff0c;它定义了一个算法骨架&#xff0c;将某些算法步骤的实现延迟到子类中。 这样可以使得算法的框架不被修改&#xff0c;但是具体的实现可以…...

【潮州饶平】联想 IBM x3850 x6 io主板故障 服务器维修

哈喽 最近比较忙也好久没有更新服务器维修案例了&#xff0c;这次分享一例潮州市饶平县某企业工厂一台IBM System x3850 x6服务器亮黄灯告警且无法正常开机的服务器故障问题。潮州饶平ibm服务器维修IO主板故障问题 故障如下图所示&#xff1a; 故障服务器型号&#xff1a;IBM 或…...

【AIGC】 国内版聊天GPT

国内版聊天GPT 引言一、国内平台二、简单体验2.1 提问2.2 角色扮演2.3 总结画图 引言 ChatGPT是OpenAI发开的聊天程序&#xff0c;功能强大&#xff0c;可快速获取信息&#xff0c;节省用户时间和精力&#xff0c;提供个性化的服务。目前国产ChatGPT&#xff0c;比如文心一言&a…...

如何在Vue中进行单元测试?什么是Vue的模块化开发?

1、如何在Vue中进行单元测试&#xff1f; 在Vue中进行单元测试可以提高代码的可维护性和可读性&#xff0c;同时也能够帮助开发者更快地找到代码中的问题和潜在的错误。下面是一些在Vue中进行单元测试的步骤&#xff1a; 安装单元测试工具 首先需要安装一个单元测试工具&…...

Minecraft服务器技能数据自动化管理:mcpskills-cli命令行工具实战指南

1. 项目概述与核心价值 最近在折腾一些Minecraft服务器的自动化管理&#xff0c;发现很多重复性的技能配置、权限同步工作特别耗时。手动去游戏里敲指令&#xff0c;或者对着配置文件一条条改&#xff0c;效率低还容易出错。就在这个当口&#xff0c;我发现了 alibiinformatio…...

手把手教你用TI TICS Pro配置LMX2594时钟芯片(附寄存器导出与SPI写入指南)

手把手教你用TI TICS Pro配置LMX2594时钟芯片&#xff08;附寄存器导出与SPI写入指南&#xff09; 在高速数字系统设计中&#xff0c;时钟信号的稳定性和精确度往往决定着整个系统的性能上限。作为射频与通信领域的工程师&#xff0c;我深刻体会过时钟配置失误带来的调试噩梦—…...

STEMMA继电器模块实战指南:安全连接微控制器与强电设备

1. 项目概述&#xff1a;从微控制器到物理世界的开关如果你玩过Arduino或者树莓派&#xff0c;肯定有过这样的想法&#xff1a;能不能用我写的几行代码&#xff0c;去控制一下家里的台灯、风扇&#xff0c;甚至是鱼缸的氧气泵&#xff1f;这个想法背后&#xff0c;其实是一个经…...

保姆级教程:在STM32MP157开发板上跑通LVGL 8.3.11(含FrameBuffer配置与触控校准)

嵌入式Linux GUI开发实战&#xff1a;STM32MP157移植LVGL 8.3.11全流程解析 当一块ARM开发板首次点亮LVGL的炫酷界面时&#xff0c;那种成就感堪比程序员世界的"Hello World"。本文将带你深入STM32MP157开发板的LVGL移植全过程&#xff0c;从FrameBuffer配置到触控校…...

开源机械爪应用宝库:从视觉分拣到项目实战全解析

1. 项目概述&#xff1a;一个开源“机械爪”用例的灵感宝库如果你对机器人、自动化或者开源硬件感兴趣&#xff0c;最近在GitHub上闲逛时&#xff0c;可能刷到过一个叫hesamsheikh/awesome-openclaw-usecases的仓库。光看名字&#xff0c;就能猜个八九不离十&#xff1a;这是一…...

别再只堆叠4层了!用DenseGCN构建超深图网络,点云分割mIoU提升实战

突破GCN深度瓶颈&#xff1a;DenseGCN在点云分割中的实战优化指南 传统图卷积网络&#xff08;GCN&#xff09;通常被限制在3-4层的浅层架构中&#xff0c;这种深度限制严重制约了其在点云分割等复杂任务中的表现。本文将揭示如何通过密集连接&#xff08;Dense Connections&am…...

ARM L220 L2缓存控制器架构解析与问题解决方案

1. ARM L220 L2缓存控制器深度解析与问题实战指南作为ARM11系列处理器的关键组件&#xff0c;L220 Level 2 Cache控制器在提升系统性能方面发挥着不可替代的作用。这款发布于2009年的缓存控制器采用当时先进的AXI总线协议&#xff0c;支持多核环境下的缓存一致性管理&#xff0…...

Arm Neoverse CMN-650时钟与电源管理架构解析

1. Arm Neoverse CMN-650时钟与电源管理架构解析在现代SoC设计中&#xff0c;时钟与电源管理子系统如同城市的水电供应网络&#xff0c;其设计优劣直接决定了系统性能与能耗效率的平衡。Arm Neoverse CMN-650作为新一代互连架构&#xff0c;通过创新的时钟域划分和电源域管理机…...

(122页PPT)数字化IT架构蓝图规划设计方案(附下载方式)

篇幅所限&#xff0c;本文只提供部分资料内容&#xff0c;完整资料请看下面链接 https://download.csdn.net/download/2501_92796370/92683861 资料解读&#xff1a;数字化 IT 架构蓝图规划设计方案 详细资料请看本解读文章的最后内容 在数字化转型浪潮下&#xff0c;运营商…...

控制理论实践:从PID到MPC的Python实现与仿真调试

1. 项目概述&#xff1a;从“Gonzo”看控制理论在开源项目中的实践最近在GitHub上看到一个挺有意思的项目&#xff0c;名字叫“control-theory/gonzo”。光看这个标题&#xff0c;你可能会有点摸不着头脑——“控制理论”和“Gonzo”有什么关系&#xff1f;Gonzo这个词&#xf…...