【环境配置】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 创建,复制,移植,删除环境

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

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

相关文章

STM32 F103C8T6学习笔记9:0.96寸单色OLED显示屏—自由取模显示—显示汉字与图片

今日学习0.96寸单色OLED显示屏的自由取模显示: 宋体汉字比较复杂,常用字符可以直接复制存下来,毕竟只有那么几十个字母字符,但汉字实在太多了,基本不会全部放在单片机里存着,一般用到多少个字就取几个字的模&#xff…

codesys和HMI通讯

codesys可视化有2种: 网页web // 类似于路由器管理那样,登录网页就能操作 本地HMI // 其他品牌的触摸屏 符号配置: 1 编译需要的变量 2 导出XML文件 3 触摸屏软件加载XML文件

从零实战SLAM-第八课(非特征点的视觉里程计)

在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…

Eclipse集成MapStruct

Eclipse集成MapStruct 在Eclipse中添加MapStruct依赖配置Eclipse支持MapStruct①安装 m2e-aptEclipse Marketplace的方式安装Install new software的方式安装(JDK8用到) ②添加到pom.xml 今天拿到同事其他项目的源码,导入并运行的时候抛出了异…

使用 Ansible Galaxy 安装角色

使用 Ansible Galaxy 安装角色 使用 Ansible Galaxy 和要求文件 /home/curtis/ansible/roles/requirements.yml 。从以下 URL 下载角色并安装到 /home/curtis/ansible/roles : http://rhgls.area12.example.com/materials/haproxy.tar 此角色的名称应当为 balancer …

每日一题leetcode--使循环数组所有元素相等的最少秒数

相当于扩散,每个数可以一次可以扩散到左右让其一样,问最少多少次可以让整个数组都变成一样的数 使用枚举,先将所有信息存到hash表中,然后逐一进行枚举,计算时间长短用看下图 考虑到环形数组,可以把首项n放…

Mac鼠标增强工具Smooze Pro

Smooze Pro是一款Mac上的鼠标手势增强工具,可以让用户使用鼠标手势来控制应用程序和系统功能。 它支持多种手势操作,包括单指、双指、三指和四指手势,并且可以自定义每种手势的功能。例如,您可以使用单指向下滑动手势来启动Expos视…

Ant Design Pro 前端脚手架 配置混合导航

Ant Design Pro脚手架 点击查看阅读 混合导航: 顶部导航和侧边栏导航实现联动效果,点击不同的顶部导航按钮会显示对应的子菜单项。 实现点: 1. 路由的配置 菜单展示 我们可以在 route 中进行 menu 相关配置,来决定当前路由是否…

kubernetes(namespace、pod、deployment、service、ingress)

NameSpace NameSpace名称空间 用来隔离资源,但是不隔离网络 使用命令行: kubectl create ns hello #创建 kubectl delete ns hello #删除 kubectl get ns #查看使用配置文件: vi hello.yamlapiVersion: v1 kind: Namespace metadata:name…

Freertos学习

一、概念 实时操作系统,要求一个高的实时性,就不是像在一个死循环中放俩函数了。而是创建俩任务,也叫做俩进程,高速的轮流执行,提高实时性。 堆栈的申请是任务的基础。 二、创建任务 创建任务又两种方式,…

【图像分类】理论篇(2)经典卷积神经网络 Lenet~Resenet

目录 1、卷积运算 2、经典卷积神经网络 2.1 Lenet 网络构架 代码实现 2.2 Alexnet 网络构架 代码实现 2.3 VGG VGG16网络构架 代码实现 2.4 ResNet ResNet50网络构架 代码实现 1、卷积运算 在二维卷积运算中,卷积窗口从输入张量的左上角开始&#xff…

【SLAM】ORBSLAM34macOS: ORBSLAM3 Project 4(for) macOS Platform

文章目录 配置ORBSLAM34macOS 版本运行步骤:版本修复问题记录:编译 fix运行 fix 配置 硬件:MacBook Pro Intel CPU 系统:macOS Ventura 13.4.1 ORBSLAM34macOS 版本 https://github.com/phdsky/ORB_SLAM3/tree/macOS 运行步骤&…

File Upload

File Upload 文件上传功能是大部分WEB应用的常用功能,网站允许用户自行上传头像、照片、一些服务类网站需要用户上传证明材料的电子档、电商类网站允许用户上传图片展示商品情况等。然而,看似不起眼的文件上传功能如果没有做好安全防护措施,…

数学建模之“聚类分析”原理详解

一、聚类分析的概念 1、聚类分析(又称群分析)是研究样品(或指标)分类问题的一种多元统计法。 2、主要方法:系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。这里主要介绍系统聚类法…

【学会动态规划】单词拆分(24)

目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…

【微服务技术一】Eureka、Nacos、Ribbon(配置管理、注册中心、负载均衡)

微服务技术一 技术栈图一、注册中心Eureka概念:搭建EurekaServer服务注册服务发现(消费者对提供者的远程调用) 二、Ribbon负载均衡负载均衡的原理:LoadBalanced负载均衡的策略:IRule懒加载 三、Nacos注册中心Nacos的安…

CG MAGIC分享为什么使用3d Max渲染,呈现白蒙蒙的?

使用3d Max渲染,有小伙伴反映,为什么渲染过程中,max渲染,总是出现白蒙蒙的的效果呢? 渲染出这白白一片是什么原因导致的呢? 想要解决的朋友,点进来,看看CG MAGIC小编整理的解决方法…

208、仿真-51单片机脉搏心率与心电报警Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&a…

学习笔记:Opencv实现图像特征提取算法SIFT

2023.8.19 为了在暑假内实现深度学习的进阶学习,特意学习一下传统算法,分享学习心得,记录学习日常 SIFT的百科: SIFT Scale Invariant Feature Transform, 尺度不变特征转换 全网最详细SIFT算法原理实现_ssift算法_Tc.小浩的博客…

python+django+mysql项目实践四(信息修改+用户登陆)

python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 用户信息修改 修改用户信息需要显示原内容,进行修改 通过url传递编号 urls views 修改内容需要用数据库的更新,用update进行更新,用filter进行选择 输入参数多nid,传递要修…