在GPU上运行PyTorch

文章目录

  • 1、查看GPU的CUDA版本
  • 2、下载CUDA版本
  • 3、安装cuDNN
  • 4、配置CUDA环境变量
  • 5、安装配置Anaconda
  • 6、使用Anaconda
  • 7、pycharm导入虚拟环境
  • 8、安装带GPU的PyTorch⭐
  • 9、总结

🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎人工智能和前端开发。
🦅个人主页:@逐梦苍穹
📕所属专栏:人工智能
🌻gitee地址:xzl的人工智能代码仓库
✈ 您的一键三连,是我创作的最大动力🌹

1、查看GPU的CUDA版本

桌面右键->NVIDIA控制面板->帮助->系统信息->组件:
image.png
image.png
可以看到我这里的CUDA版本是11.8(这里也推荐是11.8,后续会再提到)

2、下载CUDA版本

英伟达官网:https://developer.nvidia.com/cuda-toolkit-archive

到英伟达官网下载对应的CUDA版本,我下载的版本是CUDA11.8.0:
image.png
安装CUDA:双击执行下载的exe文件,会先解压文件到临时目录(不是安装目录),保持默认即可
20200427135351427.png
5. 安装过程:选择自定义
20200427140055597.png
 取消勾选 Visual Studio Integration
20200427140309411.png
 建议默认安装在C盘 。
20200427143306136.png

3、安装cuDNN

英伟达官网:https://developer.nvidia.com/cudnn

到英伟达官网下载与CUDA对应的cuDNN
image.png
下载解压缩之后,将CUDNN文件夹里面的bin、include、lib文件夹里面的文件,直接复制到CUDA的对应的安装目录下 !

4、配置CUDA环境变量

在path中添加如下路径:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp

image.png
在终端输入nvcc -V:
image.png

5、安装配置Anaconda

清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

image.png
下载完成之后,正常下一步即可。这里写几个需要注意的点:
①这里可以先不用选Add sys path,只勾选Register。环境变量自己配置。
20210703175041944.png
最后两项都不需要选,点击Finish:
20210703175555398.png
可以看到安装后,除了Anaconda,默认还带了Jupyter、Spyder等:
image.png
image.png
配置环境变量:
image.png
如果你是默认安装的,那你的配置路径就是:
20210703180523269.png
检查是否配置成功:
image.png
在cmd配置国内镜像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

6、使用Anaconda

打开Anaconda Navigator:
image.png
启动完成:
image.png
这里是管理环境的:
image.png
conda常用命令:
https://docs.conda.io/projects/conda/en/latest/commands/index.html

7、pycharm导入虚拟环境

image.png

8、安装带GPU的PyTorch⭐

在cmd中(记得用管理员身份打开cmd):

  1. conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
  2. conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch

测试安装是否成功以及能否正常使用GPU:

print("PyTorch版本: ", torch.__version__)  # 打印PyTorch版本
print("torchvision版本 ", torchvision.__version__)  # 打印torchvision版本
print("CUDA是否可用: ", torch.cuda.is_available())  # 检查CUDA是否可用

image.png
检查自己电脑的CUDA设备:

# -*- coding: utf-8 -*-
# @Author: CSDN@逐梦苍穹
# @Time: 2024/7/16 7:51
import torchif torch.cuda.is_available():num_cuda_devices = torch.cuda.device_count()print(f"Number of CUDA devices: {num_cuda_devices}")for i in range(num_cuda_devices):print(f"CUDA Device {i}: {torch.cuda.get_device_name(i)}")
else:print("No CUDA devices available.")

image.png

9、总结

此次问题折腾了很久,其中的关键就是,电脑的CUDA版本和pytorch-cuda、cudatoolkit的版本必须一致!

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

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

相关文章

2024.7.16日 最新版 docker cuda container tookit下载!

nvidia官方指导 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html 其实就是这几个命令,但是有墙: curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/shar…

SpringBoot3.3.0升级方案

本文介绍了由SpringBoot2升级到SpringBoot3.3.0升级方案,新版本的升级可以解决旧版本存在的部分漏洞问题。 一、jdk17下载安装 1、下载 官网下载地址 Java Archive Downloads - Java SE 17 Jdk17下载后,可不设置系统变量java_home,仅在id…

【C++】类和对象的基本概念与使用

本文通过面向对象的概念以及通俗易懂的例子介绍面向对象引出类和对象。最后通过与之有相似之处的C语言中的struct一步步引出C中的类的定义方式,并提出了一些注意事项,最后描述了类的大小的计算方法。 一、什么是面向对象? 1.面向对象的概念 …

浅谈Git

一:什么是 git git一种开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 下图是 git 的一个工作流程简图 二:什么是 分布/集中式版本控制系统 软件开发过程中,要解决多人协作的问题,需要…

简单实现一个本地ChatGPT web服务(langchain框架)

简单实现一个本地ChatGPT 服务,用到langchain框架,fastapi,并且本地安装了ollama。 依赖安装: pip install langchain pip install langchain_community pip install langchain-cli # langchain v0.2 2024年5月最新版本 pip install bs4 pi…

which 命令在Linux中是一个快速查找可执行文件位置的工具

文章目录 0、概念1、which --help2、which命令解释 0、概念 which命令用于查找命令的可执行文件的路径which 命令在 Linux 中用于查找可执行命令的完整路径。当你在 shell 中输入一个命令时,shell 会在环境变量 $PATH 定义的目录列表中查找这个命令。which 命令可以…

JUC 包中的 Atomic 原子类总结

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

Azcopy Sync同步Azure文件共享

文章目录 Azcopy Sync同步文件共享一、工作原理二、安装 AzCopy在 Windows 上在 Linux 上 三、资源准备1. 创建源和目标 Azure 存储账户2. 创建源和目标文件共享3. 确定路径4. 生成源和目的存储账户的共享访问签名(SAS)令牌配置权限示例生成的 URL 四、A…

【JVM实战篇】内存调优:内存泄露危害+内存监控工具介绍+内存泄露原因介绍

文章目录 内存调优内存溢出和内存泄漏内存泄露带来什么问题内存泄露案例演示内存泄漏的常见场景场景一场景二 解决内存溢出的方法常用内存监控工具Top命令优缺点 VisualVM软件、插件优缺点监控本地Java进程监控服务器的Java进程(生产环境不推荐使用) Art…

大气热力学(8)——热力学图的应用之一(气象要素求解)

本篇文章源自我在 2021 年暑假自学大气物理相关知识时手写的笔记,现转化为电子版本以作存档。相较于手写笔记,电子版的部分内容有补充和修改。笔记内容大部分为公式的推导过程。 文章目录 8.1 复习斜 T-lnP 图上的几种线8.1.1 等温线和等压线8.1.2 干绝热…

信创学习笔记(四),信创之数据库DB思维导图

创作不易 只因热爱!! 热衷分享,一起成长! “你的鼓励就是我努力付出的动力” 一. 信创学习回顾 1.信创内容 信创内容思维导图 2.信创之CPU芯片架构 信创之CPU芯片架构思维导图 3.信创之操作系统OS 信创之操作系统OS思维导图 二. 信创之国产数据库DB思维导图 …

Sentinel规则持久化Push模式两种实现方式

文章目录 sentinel持久化push推模式微服务端的实现具体实现源码分析读数据源写数据源的实现 微服务端解析读数据源流程 修改源码的实现官方demo修改源码实现配置类flowauthoritydegreadparamsystemgateway修改源码 测试补充 前置知识 pull模式 sentinel持久化push推模式 pull拉…

MySQL数据库慢查询日志、SQL分析、数据库诊断

1 数据库调优维度 业务需求:勇敢地对不合理的需求说不系统架构:做架构设计的时候,应充分考虑业务的实际情况,考虑好数据库的各种选择(读写分离?高可用?实例个数?分库分表?用什么数据库?)SQL及索引:根据需求编写良…

【深度学习】PyTorch框架(4):初始网络、残差网络 和密集连接网络

1、引言 在本篇文章中,我们将深入探讨并实现一些现代卷积神经网络(CNN)架构的变体。近年来,学界提出了众多新颖的网络架构。其中一些最具影响力,并且至今仍然具有重要地位的架构包括:GoogleNet/Inception架…

【2024_CUMCM】时间序列1

目录 概念 时间序列数据 时期和时点时间序列 数值变换规律 长期趋势T 季节趋势S 循环变动C 不规则变动I 叠加和乘积模型 叠加模型 相互独立 乘积模型 相互影响 注 spss缺失值填补 简单填补 五种填补方法 填补原则 1.随机缺失 2.完全随机缺失 3.非随机缺失…

【日常记录】【插件】excel.js 的使用

文章目录 1. 引言2. excel.js2.1 创建工作簿和工作表2.2 excel文件的导出2.3 excel文件的导入2.4 列2.5 行2.6 添加行2.7 单元格2.8 给总价列设置自动计算(除表头行) 3. 总结参考链接 1. 引言 前端导出excel文件常用库一般是 excel.js 和 xlsx.js xlsx.js 导出数据确实方便&…

超时导致SparkContext构造失败的问题探究

文章目录 1.前言2. 基于事故现场对问题进行分析2.1 日志分析2.2 单独测试Topology代码试图重现问题 3. 源码解析3.1 Client模式和Cluster模式下客户端的提交和启动过程客户端提交时在两种模式下的处理逻辑ApplicationMaster启动时在两种模式下的处理逻辑 3.2 两种模式下的下层角…

Python和C++骨髓细胞进化解析数学模型

🎯要点 🎯 数学模型邻接矩阵及其相关的转移概率 | 🎯蒙特卡罗模拟进化动力学 | 🎯细胞进化交叉图族概率 | 🎯进化图模型及其数学因子 | 🎯混合图模式对进化概率的影响 | 🎯造血干细胞群体的空间…

7.13实训日志

上午 学习网络安全的过程中,我们深入了解了网络的不同层面和技术,从表层网络到深网再到暗网,以及涉及的产业分类和技术工具。这些知识不仅帮助我们理解网络的复杂性,还揭示了如何应对和防范各种网络威胁。 首先,我们…

Qt Style Sheets-入门

Qt 样式表是一种强大的机制,允许您自定义小部件的外观,这是在通过子类化QStyle已经可行的基础上的补充。Qt 样式表的概念、术语和语法在很大程度上受到 HTML级联样式表 (CSS)的启发,但适用于小部件的世界。 概述 样式表是文本规范&#xff0…