深入浅出学习Pytorch—Pytorch简介与2024年最新安装(GPU)

深入浅出学习Pytorch—Pytorch简介

学习原因:Pytorch日益增长的发展速度与深度学习时代的迫切需要

Pytorch模型训练

pytorch实现模型训练包括以下的几个方面(学习路线

  1. 数据:数据预处理与数据增强
  2. 模型:如何构建模型模块
  3. 损失函数:创建并设置损失函数的超参数
  4. 优化器:管理模型参数
  5. 迭代训练:观察训练效果,并绘制Loss/Accuray曲线
  6. 模型应用:图像分类、图像分割、目标检测。

Pytorch简介

2017年1月,FAlR(FacebookAl Research)发布PyTorch。

PyTorch是在Torch基础上用python语言重新打造的一款深度学习框架Torch是采用Lua语言为接口的机器学习框架,但因Lua语言较为小众,导致Torch知名度不高。

在这里插入图片描述

解释器与工具包

解释器:将python语言翻译成机器指令语言python.exe(解释器)
问题:python2与python3不兼容

工具包:工具包又称为依赖包、模块、库、包python之所以强大是因为拥有大量工具包内置包:os、sys、glob、re、math等第三方包:pytorch,tensorflow,numpy等
在这里插入图片描述

通常存在的位置:虚拟环境下的lib文件夹下面

涉及到了虚拟环境的概念:引入了Anaconda这类管理工具

其中包括了 Base虚拟环境,python解释器,conda pip等管理工具,常见的包等工具。

创建的虚拟环境与Base环境基本相同 ,我们在Pycharm中配置对应需要使用的虚拟环境

conda config --show channels  (查看镜像源)
conda config --remove channels <channel_name>  (删除镜像源)
持久添加通道:condaconfig--addchannels通道地址
删除通道:condaconfig--removechannels通道地址

显卡GPU与驱动

GPU (Graphics ProcessingUnit)

显卡,主要就是用于在屏幕上显示图像。用于与视频,图像处理相关的任务。

显卡:独立显卡,核显。

驱动:让计算机识别特定的硬件。

深度学习显卡,CUDA深度学习显卡,英伟达品牌的显卡。NVIDIA有了CUDA,我们就可以操作英伟达品牌的显卡。

  • NVIDIA驱动:硬件显卡驱动,是为了告诉系统如何使用这张显卡的。
  • CUDA:NVIDIA为了构建自己的护城河而开发的高性能计算库,主要用于3D渲染和深度学习等。
  • CUDNN:NVIDIA针对深度学习而开发的,在CUDA之上的深度学习工具库。
  • 简单来说,就是如果你想加速你的AI程序的训练和推理速度,那么 CUDA 与 CUDNN 是必须的。

在这里插入图片描述

安装前准备

判断是否有英伟达的GPU

在任务管理器中确定GPU的型号 例如我自己的电脑中带的GPU是4060的显卡(8G显存)

在这里插入图片描述

  1. 首先,确定自己显卡的算力
  2. 确定自己的可选择CUDARuntimeVersion
  3. 确保自己的CUDADriver版本>=CUDARuntime版本

首先要验证英伟达的显卡驱动安装成功了:打开终端后,输入 “nvidia-smi”,如果有如下图所示的结果,就说明NVIDIA驱动安装成功了:

在这里插入图片描述

根据命令行可以确定支持的CUDA版本可以到12.4的型号上。但也要通过最新的官网文档进行确认

https://en.wikipedia.org/wiki/CUDA
在这里插入图片描述
在这里插入图片描述
我自己的是新的电脑,可以安装全新的驱动。
在这里插入图片描述

pytorch这里可以支持到12.1的驱动版本,在之后安装cuda时我们选择安装12.1的版本号来进行实验

配置镜像加速

如何查看配置文件中有哪些通道?
condaconfig–get
condaconfig–show
conda install xxx-c通道地址
conda create yyy -c 通道地址

核心技巧:配置文件的镜像地址默认保持不变,而使用-c参数只在当前的安装中生效

确定cuda runtimeversion

通过上面对pytorch版本的分析我们确定安装的版本为12.1的最新版本

如果对应的时老的显卡信息则需要找到历史版本的记录信息。

在这里插入图片描述

安装对应版本的cuda

在官网中找到指定要安装的cuda版本,我这里时12.1.0的版本,与pytorch中的版本型号进行对应。

https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
下载windows64位的安装包
在这里插入图片描述

安装相对应版本的cuDNN

https://developer.nvidia.com/rdp/cudnn-archive

在这里插入图片描述
下载完成安装包之后按照对应的步骤安装好cuda12.0.0.1的驱动。

在这里插入图片描述
等待一段时间之后即可安装完成conda(需要一定时间的验证过程)
在这里插入图片描述
提示:推荐使用自定义下载的方式来进行安装,许可协议自定义安装路径

在这里插入图片描述
之后等待安装结束,同时验证安装是否成功,完成后配置对应的环境变量信息。

验证CUDA安装是否成功

找到D盘的安装位置
在这里插入图片描述

添加环境变量

参考位置:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib\x64

实际对应的位置:
在这里插入图片描述

安装cudnn

然后,对cudnn 进行解压,最后将解压后的 bin,include,lib 文件夹下的内容拷贝 到 cuda 对应的 bin,include,lib 下即可。至此,我们就完全安装了 AI 相关硬件环境。

在这里插入图片描述

三个文件夹对应位置安装

验证安装是否成功

首先win+R启动cmd,cd到安装目录下的 …\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe(进到目录后需要直接输“bandwidthTest.exe”和“deviceQuery.exe”),应该得到下图:

两个pass代表安装成功。

在这里插入图片描述
在这里插入图片描述

虚拟环境安装pytorch

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

在终端中使用命令进行安装安装完成之后进行验证。(到此pytorch安装成功)
在这里插入图片描述
环境安装选择在D盘,空间需要2.4G的空间(此时安装完成进行代码的验证)
在这里插入图片描述

验证GPU版本的Pytorch安装成功

import torch
#%%
torch.__version__
#%%
torch.cuda.is_available()
#%%
# 返回当前设备索引
torch.cuda.current_device()
#%%
# 返回GPU的数量
torch.cuda.device_count()
#%%
# 返回gpu的名字,设备索引默认从0开始
torch.cuda.get_device_name(0)
#%% md
### GPU版本的pytorch安装成功

在这里插入图片描述

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

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

相关文章

机器学习之基于Jupyter中国环境治理投资数据分析及可视化

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 机器学习之基于Jupyter中国环境治理投资数据分析及可视化项目是一个结合了机器学习和数据可视化技术的项目&#xf…

AMD GPU体系知识大全

AMD&#xff08;Advanced Micro Devices&#xff09;在GPU领域同样具有丰富的产品线和架构体系&#xff0c;以下是一个关于AMD GPU体系的概览&#xff1a; 架构系列&#xff1a; Vega架构&#xff1a;发布于2017年&#xff0c;特点是采用高带宽缓存控制器&#xff08;HBCC&…

JavaScript百炼成仙自学笔记——11

函数七重关之四&#xff08;闭包&#xff09; function add(){return function(){} } function test(){var a 0;return function(){console.log(a);} } 这样子调用&#xff1a;test()(); 这就是闭包&#xff01; 这样做有什么好处呢&#xff1f; //先获取这个内部函数 var i…

【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】

【基于MAX98357的Minimax&#xff08;百度&#xff09;长文本语音合成TTS 接入教程】 1. 前言2. 先决条件2.1 硬件准备2.2 软件准备2.3 接线 3. 核心代码3.1 驱动实现3.2 代码解析 4. 播放文本5. 结论 视频地址&#xff1a; SeeedXIAO ESP32S3 Sense【基于MAX98357的Minimax&am…

富文本编辑器 iOS

https://gitee.com/klkxxy/WGEditor-mobile#wgeditor-mobile 采用iOS系统浏览器做的一款富文本编辑器工具。 原理就是使用WKWebView加载一个本地的一个html文件&#xff0c;从而达到编辑器功能的效果&#xff01; 由于浏览器的一些特性等&#xff0c;富文本编辑器手机端很难做…

链表的回文结构(详解)

链表的回文结构&#xff08;详解&#xff09; 题目&#xff1a; 链表的回文结构 对于一个链表&#xff0c;请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法&#xff0c;判断其是否为回文结构。 给定一个链表的头指针A&#xff0c;请返回一个bool值&#xff0c;代表…

Web前端一套全部清晰 ⑥ day4 CSS.1 基础选择器、文字控制属性

后来的我不在抱怨 所有的事与愿违都是我能力或者判断力不足 仅此而已 —— 24.5.1 一、CSS定义 1. 将CSS放在html文件的<style>标签中 层叠样式表(Cascading style Sheets&#xff0c;缩写为 CSS)&#xff0c;是一种 样式表 语言&#xff0c;用来描述 HTML 文档的呈现(美…

轴承故障检测(分类任务)+傅里叶变化+CNN+matlab

1 介绍 使用西储大学的轴承数据集&#xff0c;其实用哪个都行&#xff0c;可能最后的精度会不一样&#xff0c;先读取数据&#xff0c;然后使用傅里叶转换为图像&#xff0c;然后搭建cnn模型&#xff0c;将图像大小转换为模型使用的大小&#xff0c;例如resnet50&#xff0c;输…

机器学习每周挑战——二手车车辆信息交易售价数据

这是数据集的截图 目录 背景描述 数据说明 车型对照&#xff1a; 燃料类型对照&#xff1a; 老规矩&#xff0c;第一步先导入用到的库 第二步&#xff0c;读入数据&#xff1a; 第三步&#xff0c;数据预处理 第四步&#xff1a;对数据的分析 第五步&#xff1a;模型建…

【linuxC语言】空洞文件

文章目录 前言一、空洞文件1.1 空洞文件的介绍1.2 用途 二、示例代码总结 前言 在 Linux 系统编程中&#xff0c;空洞文件是一种特殊类型的文件&#xff0c;它包含了逻辑上的空洞&#xff0c;也就是说文件中的某些部分并没有实际写入数据。尽管文件在逻辑上可能非常大&#xf…

docker系列9:容器卷挂载(下)

传送门 docker系列1&#xff1a;docker安装 docker系列2&#xff1a;阿里云镜像加速器 docker系列3&#xff1a;docker镜像基本命令 docker系列4&#xff1a;docker容器基本命令 docker系列5&#xff1a;docker安装nginx docker系列6&#xff1a;docker安装redis docker系…

预训练模型介绍

一、什么是GPT GPT 是由人工智能研究实验室 OpenAI 在2022年11月30日发布的全新聊天机器人模型, 一款人工智能技术驱动的自然语言处理工具 它能够通过学习和理解人类的语言来进行对话, 还能根据聊天的上下文进行互动,能完成撰写邮件、视频脚本、文案、翻译、代码等任务 二、 为…

【JVM】内存调优——内存泄漏、内存溢出

内存调优 什么是内存泄漏、内存泄漏&#xff1f; 内存泄漏&#xff1a;在Java中如果不再使用一个对象&#xff0c;但是该对象依然在GC ROOT的引用链上&#xff0c;这个对象就不会被垃圾回收器回收。内存溢出&#xff1a;内存的使用量超过了Java虚拟机可以分配的上限&#xff…

如何让 PDF 书签从杂乱无序整洁到明丽清新

1、拉取书签&#xff08;详细步骤看文末扩展阅读&#xff09; 原状态 —— 杂乱无序 自动整理后的状态 —— 错落有致&#xff0c;但摩肩接踵 2、开始整理 全选自动整理后的书签&#xff0c;剪切 访问中英混排排版优化 - 油条工具箱 https://utils.fun/cn-en 1 粘贴 → 2 …

020、Python+fastapi,第一个Python项目走向第20步:ubuntu 24.04 docker 安装mysql8、redis(一)

系列文章 pythonvue3fastapiai 学习_浪淘沙jkp的博客-CSDN博客https://blog.csdn.net/jiangkp/category_12623996.html 前言 docker安装起来比较方便&#xff0c;不影响系统整体&#xff0c;和前面虚拟环境有异曲同工之妙&#xff0c;今天把老笔记本T400拿出来装了个ubuntu24…

Covalent Network(CQT)为 Arbitrum 生态提供 250 万美元的资助,以促进 Web3 的创新与发展

Covalent Network&#xff08;CQT&#xff09;作为 Web3 领先的“数据可用性”层&#xff0c;宣布将提供 250 万美元的资金以支持 Arbitrum 生态项目&#xff0c;包括 Arbitrum One、Nova、Orbit 或 Stylus。此举旨在通过提供资源和帮助&#xff0c;推动利用 Arbitrum 网络上 C…

【JVM】JMM 内存模型

JMM 概述 内存模型 java[内存模型](Java Memory Model) 和 [内存结构]JMM规定了在多线程下对共享数据的读写时&#xff0c;对数据的原子性 有序性 可见性的规则和保障。 原子性 原子性问题: i和i–不是原子性操作! 所以一个i指令会在执行过程中被另一个线程执行! 问题分…

牛客美团2024年春招第一场笔试【技术】解题

1.小美的平衡矩阵 小美拿到了一个n∗n的矩阵&#xff0c;其中每个元素是 0 或者 1。 小美认为一个矩形区域是完美的&#xff0c;当且仅当该区域内 0 的数量恰好等于 1 的数量。 现在&#xff0c;小美希望你回答有多少个i∗i的完美矩形区域。你需要回答1≤i≤n的所有答案 输出…

VSCode连接远程服务器时卡在审核(check)log.txt和pid.txt

诸神缄默不语-个人CSDN博文目录 VSCode就NM跟SB一样天天搁那儿更新&#xff0c;瞎JB更新&#xff0c;每次更新都要出一次兼容性问题&#xff0c;远程服务器不能连公网就上不去了&#xff0c;也没有显式提示&#xff0c;错误很明显就是在下载不了文件&#xff0c;用VSCode内置的…

Linux的有关权限的学习

1.认识权限在Linux中的表示 在Linux中&#xff0c;一切皆文件&#xff0c;而每个文件都会有其相对应的操作权限。那么&#xff0c;我们该怎么来认识他们呢&#xff1f; 首先我们可以看到&#xff0c;在每个test文件的前面都会有一个-rw-r--r--这个字符&#xff0c;而这个字符&…