PyTorch2.0环境搭建(二)

三、前置环境搭建——CUDA

pytorch有cpu和gpu两个版本,区别是:

1、硬件要求:CPU版本运算只与CPU版本有关;GPU版本还需要额外链接N卡,可以通过N卡进行加速

2、运行速度:GPU版本比CPU版本在复杂数据和密集计算过程中的环境中更有优势

3、软件需求:GPU版本需要额外安装CUDA和cuDNN两个驱动程序。

4、兼容性,CPU版本取决于CPU的版本,GPU版本受限于CUDA的版本

显卡型号Pytorch版本CUDAcuDNN
10系列2.0及以前11.17.65
20系列以上的显卡2.0版本11.6以上8.1以上

如果只是微调着玩玩则可以直接安装CPU版本,如果显卡配置较好则可以安装2.0以上的Pytorch

综上,结合本人配置和需求,安装的是GPU版本的Pytorch2.0版本。

1、查看你的显卡版本和适配的CUDA

鼠标右键、NVIDIA控制面板、左下角系统信息、进入后可以查看CUDA的版本(如我这个就是12.1版本)、

2、进入官网:

​​​​​kCUDA Toolkit Archive | NVIDIA Developer、选择合适的版本、下载、

3、完成安装CUDA

下载完毕后、运行、

完成安装

4、查看环境变量(略)

如果没有的话需要自己添加、路径为安装路径+bin和安装路径+libnvvp

打开控制台,输入以下指令,如果出现后边这些说明完成了

四、cuDNN

1、cuDNN下载

进入官网:Log in | NVIDIA Developer

注册、勾选“I agree”、选择相应的版本

由于我的CUDA是12版本的,windows系统,所以选了这个:大框下边的第一个

2、解压

下载完毕后、解压、将三个文件夹中的文件复制、粘贴到同名文件夹下

把cuDNN看成CUDA的一个补丁,就可以理解了

如果忘记路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1

3、配置环境变量

将以下四个路径复制到path中(其实只有中间三个)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp

4、验证

打开cmd、cd到一下文件夹、分别执行两个.exe文件

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\demo_suite

bandwidthTest.exe

五、安装pytorch

1、安装pytorch

这是最简单的一步:打开控制台输入:

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

2、验证

编写下列程序,以你喜欢的方式:

import torch
result = torch.tensor(1) +torch.tensor(2.0)
print(result)

输出:

打完!收工!

linux系统pytorch的安装:Linux安装显卡驱动、annaconda和CUDA(超详细)_linux cuda-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vscode中使用luaide-lite插件断点调试cocos2dx-lua

使用quick-cocos2dx-lua,用了众多插件,包括免费的BabeLua,VS调试太慢,vscode上的免费的EmmyLua, 还有收费的luaide,都没搞出来,唯独这个免费luaide-lite用成功了,步骤也简单,可以断点调试&#…

听GPT 讲Rust源代码--src/tools(4)

题图由AI生成 File: rust/src/tools/rust-analyzer/crates/hir-ty/src/interner.rs 在Rust源代码中,rust/src/tools/rust-analyzer/crates/hir-ty/src/interner.rs这个文件是rust-analyzer工具的一部分,它定义了用于将类型系统中的实体进行唯一标识和共享…

Python爬虫完整代码模版——获取网页数据的艺术

Python爬虫完整代码模版——获取网页数据的艺术 在当今数字化世界中,数据是价值的源泉。如何从海量数据中提取所需信息,是每个数据科学家和开发者必须面对的问题。Python爬虫作为一种自动化工具,专门用于从网站上抓取数据。本文将提供一个Py…

每天五分钟计算机视觉:ImageNet大赛的世界冠军AlexNet模型

AlexNet模型 2012 Imagenet 比赛第一,Top5准确度超出第二10% ,它让人们认识到了深度学习技术的威力。比 LeNet更深,用多层小卷积层叠加替换大卷积层,就是说每一个卷积层的通道数小,不像LeNet一样每个卷积层的通道数很大…

面向对象编程的艺术:构建高效可扩展的软件

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

震坤行:数字驱动食品农副行业采购的新兴趋势与实践

震坤行:数字驱动食品农副行业采购的新兴趋势与实践 近年来消费者对于营养价值和健康的追求日益凸显,促使各类有机食品、低糖低脂食品、素食等健康食品受到热烈追捧。同时,以往单一的产品也被各家企业“卷”出了个性化,光是卖水&a…

单片机----汇编语言入门知识点

目录 汇编语句的格式 汇编语句的两个基本语句 子程序的调用 查表程序设计 1.x和y均为单字节数的查表程序设计 2.x为单字节数y为双字节数的查表程序设计 3.x和y均为双字节数的查表程序设计 分支转移程序设计 1.单分支选择结构 2.多分支选择结构 循环程序设计 (1) 计…

成倍提高生产力工具Notion

成倍提高生产力工具Notion Notion已经成为了很多内容创作者的唯一生产力工具,甚至很多企业已经把Notion当作他们的唯一的工作平台,学习这款软件不仅能提高你的工作效率甚至在职场上也会成为一个吃香的技能,在美国有人制作销售Notion模板&…

nvm安装管理nodejs版本

1:如果之前先安装了nodejs先卸载nodejs 2:下载nvm,点击下载路径https://github.com/coreybutler/nvm-windows/releases,选择相应环境下载,如下window环境下载 下载成功后,选择NVM安装在哪个文件目录下&…

linux(3)之buildroot配置软件包

Linux(3)之buildroot配置软件包 Author:Onceday Date:2023年11月30日 漫漫长路,才刚刚开始… 参考文档: Buildroot - Making Embedded Linux Easymdev.txt docs - busybox - BusyBox: The Swiss Army Knife of Embedded Linu…

PostgreSQL-shared_buffers(双缓存)

关于shared_buffers 这是一篇2018年写的,可以结合shared read一起看 什么是shred_buffer,我们为什么需要shared_buffers? 1.在数据库系统中,我们主要关注磁盘io,大多数oltp工作负载都是随机io,因此从磁盘获…

【学习记录】从0开始的Linux学习之旅——应用开发(helloworld)

一、概述 Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。本文主要讲述如何在linux系统上进行应用开发。 二、概念及原理 应用程序通过系统调用与…

AdWords 广告字符的限制是多少?

谷歌已经发展到不仅仅是一个简单的网络搜索。谷歌已成为任何组织所希望的最好的广告网络之一,不断有全球观众来到它研究项目和便利设施、数据、新闻、解决方案等等。 手机的变化带来了数字广告形式的初步转变,随后学习算法的发展和接受也给Google AdWor…

算法题:求所需的最小的书包数量(拓展拓展再拓展~)

算法题:求所需的最小的书包数量 现在有一种书包,这种书包只有两个书槽(即最多只能放下两本书。),并且一个这种书包只能装下N千克的书。现在有一个数组,数组元素是每本书的重量(千克&#xff09…

JavaScript基础—对象、内置对象、Math、案例分析—随机点名、猜数字游戏、生成随机颜色、网页页面渲染、堆栈

版本说明 当前版本号[20231201]。 版本修改说明20231201初版 目录 文章目录 版本说明目录JavaScript 基础 - 第5天对象语法属性和访问方法和调用null遍历对象 内置对象Math属性方法 案例分析案例一 随机点名案例二 随机点名改进案例三 猜数字游戏案例四 生成随机颜色案例五 …

使用WalletConnect Web3Modal v3 链接钱包基础教程

我使用的是vueethers 官方文档:WalletConnect 1.安装 yarn add web3modal/ethers ethers 或者 npm install web3modal/ethers ethers2.引用 新建一个js文件,在main.js中引入,初始化配置sdk import {createWeb3Modal,defaultConfig, } from…

【QuickSort】单边快排思路及实现

思路: (1)首先定义一个递归函数:qucikSort(int [ ] arr,int l,int r)。函数的定义:给定一个数组arr,对它在[l,r]这个区间内的元素进行排序,从而使得整个数组在[l,r]这个区间内有序。 &#xff0…

RFNet

表1 复现的平均值–Complete:79.218894,Core:73.4977,Enhancing:58.45406 不如论文结果,但在10个点内,还能接受 表4 复现结果–Complete:54.09826,Core:55.3…

手敲单链表,简单了解其运行逻辑

1. 链表 1.1 结构组成 链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。 链表的结构如下图所示,是由很多个节点相互通过引用来连接而成的;每一个节点由两部分组成,分别数据域&…

LeetCode 1205 每月交易2(PostgreSQL)

数据准备 create type state as enum(approved, declined); create table Transactions( id int, country varchar(4), state_enum state, amount int, trans_date date ); Create table If Not Exists Chargebacks ( trans_id int, trans_date date ); insert into Transac…