「安装」 Windows下安装CUDA和Pytorch

「安装」 Windows下安装CUDA和Pytorch

文章目录

  • 「安装」 Windows下安装CUDA和Pytorch
    • Mac、Linux、云端
    • Windows
      • 安装CUDA
      • 安装miniconda
      • 安装PyTorch
      • 测试
      • 总结
    • 其他

Mac、Linux、云端

Mac、Linux、云端安装Miniconda和Pytorch的方法参考其他资料。

Windows

下面进行Windows下安装CUDA和Pytorch来跑深度学习。

安装CUDA

CUDA介绍:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html

注意只有NVIDIA GPU才能使用CUDA,AMD GPU或集成显卡均无法使用CUDA。

首先查看电脑是否拥有NVIDIA GPU:
win + r 打开「运行」窗口,输入dxdiag
在这里插入图片描述
在这里插入图片描述

下载CUDA,进入官网 https://developer.nvidia.com/cuda-downloads:
在这里插入图片描述

打开安装包:
在这里插入图片描述
设置安装目录:
在这里插入图片描述
安装选默认选项:
核心就是装:

  1. 驱动
  2. cuda开发环境

在这里插入图片描述

安装完成后进入命令行,使用nvidia-smi命令查看是否安装成功:
在这里插入图片描述

安装miniconda

接下来下载Python环境miniconda(为什么要装miniconda参考其他资料),进入官网 https://docs.anaconda.com/miniconda/miniconda-other-installer-links/#
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
默认选项安装即可:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在开始菜单打开 Anaconda Powershell Prompt:
在这里插入图片描述
输入python --version,查看是否是自己安装的python版本:
在这里插入图片描述

安装PyTorch

接下来安装PyTorch的GPU版本,进入官网 https://pytorch.org/
在这里插入图片描述
选择好对应的版本,然后将对应pip命令复制到Anaconda Powershell Prompt中进行pytorch安装:
在这里插入图片描述
整个过程还是比较慢的,文件也比较大,下载速度很慢。

下面看下是否安装成功,在Anaconda Powershell Prompt中打开python,导入torch:
在这里插入图片描述

测试

安装好后找一个真正的深度学习的应用跑一下,在《动手学深度学习》官网 https://zh-v2.d2l.ai/ 下载Jupyter记事本:
在这里插入图片描述
下载好之后解压(解压的过程提示有重名文件,选择覆盖):
在这里插入图片描述

接下来使用pip命令安装所用到的包 jupyter、d2l。打开Anaconda Powershell Prompt,使用pip命令进行安装:

pip install jupyter d2l

最好使用源镜像进行安装,否则容易出现安装失败。
在这里插入图片描述
在这里插入图片描述

安装好上面两个包之后在Anaconda Powershell Prompt中启动jupyter notebook就可以运行jupyter实例了:
在这里插入图片描述
启动jupyter notebook后会直接跳出浏览器窗口:
在这里插入图片描述

在跳出的浏览器窗口中并没有找到前面下载的jupyter实例。问题出现在刚才是在 C:\Users\Mao 目录下启动jupyter notebook的,而下载的jupyter实例是在 E:\ 目录下,因此需要使用 cd 命令切换到 E:\ 目录下启动jupyter notebook

注意:
启动jupyter notebook的目录需要与jupyter实例(d2l-zh)所在目录一致。

在这里插入图片描述

切换到jupyter实例目录下再启动jupyter notebook:
在这里插入图片描述
这样在跳出的浏览器窗口中就出现下载的jupyter实例(d2l-zh)了:
在这里插入图片描述
依次点击 d2l-zh、pytorch、chapter_convolutional-modern、resnet.ipynb,这就是要测试的实例:
在这里插入图片描述
点击Kernel - Run All 运行所有:
在这里插入图片描述
点击Restart:
在这里插入图片描述
然后拉到页面的最下面,就可以看到已经开始下载数据进行训练了:
在这里插入图片描述

在训练的过程中可以通过任务管理器或在Anaconda Powershell Prompt中输入nvidia-smi命令查看GPU使用率:
在这里插入图片描述

训练结果:
在这里插入图片描述
作为对比,看一下在云上的处理速度(去《动手学深度学习》中找到现代卷积神经网络 - 残差网络,便可找到数据):
在这里插入图片描述

总结

在Windows上学习深度学习的步骤:

  1. 确认有NVIDIA GPU
  2. 安装CUDA
  3. 安装miniconda
  4. 安装GPU版PyTorch
  5. 安装d2l和Jupyter
  6. 下载d2l记事本运行测试

其他

还可以使用谷歌Colab(免费算力平台)进行深度学习,colab有免费的CPU和GPU可以使用。

使用colab方法:代码选择PyTorch版本
在这里插入图片描述
然后拉到页面最上面,点击colab[PyTorch]:
在这里插入图片描述
在这里插入图片描述
不过使用谷歌需要一点方法。

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

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

相关文章

VB.net读写NDEF标签URI智能海报WIFI蓝牙连接

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 Public Class Form1Dim oldpicckey(0 To 5) As Byte 卡片旧密码Dim newpicckey(0 To 5) As Byte 卡片新密码Function GetTagUID() As StringDim status As ByteDim myctrlword As …

Python编程和开发过程中让人编程效率和舒适度很高的工具Anaconda

编程工作为什么需要提高效率? 在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。 那么,编写python代码过程中…

c#使用winscp库实现FTP/SFTP/SCP的获取列表、上传和下载功能

网上写c#调用winscp实现的资料很少,且写的不够详细。本人查了下winscp的libraries说明,写了个小工具,供大家参考。 winscp的接口说明地址如下: WinSCP .NET Assembly and COM Library :: WinSCP 一、先展示一下小工具的界面 1、…

资源《Arduino 扩展板3-WS2812》说明。

资源链接: Arduino 扩展板3-WS2812 1.文件明细: 2.文件内容说明 包含:AD工程、原理图、PCB。 3.内容展示 4.简述 该文件为PCB工程,采用AD做的。 该文件打板后配合Arduino使用,属于Arduino的扩展板。 该文件主要…

AI助力CMIP6数据处理技术及在气候变化、生态农业、水文多领域实践应用

查看原文>>>AI助力CMIP6数据处理技术及在气候变化、生态农业、水文多领域实践应用 目录 专题一 CMIP6中的模式比较计划 专题二 数据下载 专题三 基础知识3.1 Python基础 专题四 单点降尺度 专题五 统计方法的区域降尺度 专题六 基于WRF模式的动力降尺度 专题七…

RabbitMQ的相关题

一、 MQ的作⽤及应⽤场景 类似问题: 项⽬什么场景下使⽤到了MQ, 为什么需要MQ? RabbitMQ 的作⽤?使⽤场景有哪些? RabbitMQ…

【Linux】第一个小程序——进度条实现

🔥 个人主页:大耳朵土土垚 🔥 所属专栏:Linux系统编程 这里将会不定期更新有关Linux的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目…

Docker仓库搭建

目录 一、Docker Hub 二、私有Registry仓库搭建 1、下载并开启仓库镜像registry 2、Registry加密传输 3、建立一个registry仓库 4、为客户端建立证书 5、测试 6、为仓库建立登录认证 三、Harbor仓库搭建 Docker 仓库(Docker Registry) 是用于存…

PHP程序如何实现限制一台电脑登录?

PHP程序如何实现限制一台电脑登录? 可以使用以下几种方法: 1. IP地址限制:在PHP中,可以通过获取客户端的IP地址,然后与允许登录的IP地址列表进行比对。如果客户端的IP地址不在列表中,就禁止登录。 “php $…

快速创建第一个Spring Boot 项目

一、介绍 Spring Boot 是一个开源的 Java 基础框架,它基于 Spring 框架,用于创建独立、生产级别的基于 Spring 的应用程序,你可以“跑起来”(run)你的 Spring 应用程序。Spring Boot 让基于 Spring 的应用开发变得更容…

基于单片机的两轮直立平衡车的设计

本设计基于单片机设计的两轮自平衡小车,其中机械部分包括车体、车轮、直流电机、锂电池等部件。控制电路板采用STC12C5A60S2作为主控制器,采用6轴姿态传感器MPU6050测量小车倾角,采用TB6612FNG芯片驱动电机。通过模块化编程完成了平衡车系统软…

leetcode:380. O(1) 时间插入、删除和获取随机元素

实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时&#xff0…

前端框架对比和选择指南

前端框架对比和选择指南 随着 Web 开发技术的快速发展,前端框架已经成为了现代 Web 开发的核心工具之一。它们为开发人员提供了快速构建高效、交互性强的应用的基础。当前流行的前端框架主要包括 React.js、Vue.js 和 Angular.js。在这篇技术博客中,我们…

如何创建一个docker,给它命名,且下次重新打开它

1.创建一个新的docker并同时命名 docker run -it --name one ubuntu:18.04 /bin/bash 这时候我们已经创建了一个docker,并且命名为"one" 2.关闭当前docker exit 3.这时docker已经终止了,我们需要使用它要重新启动 docker start one 4.现在可以重新打…

react crash course 2024(7) react router dom

安装 npm i react-router-dom 引入 import {Route,createBrowserRouter,createRoutesFromElements,RouterProvider} from react-router-dom 在app.jsx const router createBrowserRouter(createRoutesFromElements(<Route index element {<h1>My App</h1>…

基于51单片机的3路电压测量-proteus仿真

地址&#xff1a;https://pan.baidu.com/s/1PG2vzudc1QKHGSBfjPF0eQ 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectron…

金智维KRPA之Excel自动化

Excel自动化操作概述 Excel自动化主要用于帮助各种类型的企业用户实现Excel数据处理自动化&#xff0c;Excel自动化是可以从单元格、列、行或范围中读取数据&#xff0c;向其他电子表格或工作簿写入数据等活动。 通过相关命令&#xff0c;还可以对数据进行排序、进行格式…

QT 界面编程中使用协程

QT 界面编程中使用协程 一、概述二、集成2.1、编译 Acl2.2、将 Acl 库集成到 QT 项目中2.3、开始编写代码2.3.1、QT 程序初始化时初始化 Acl 协程2.3.2、在界面中创建协程2.3.3、界面程序退出前需要停止协程调度2.3.4、在界面线程中下载数据2.3.5、在协程中延迟创建窗口 2.4、效…

[sql-04] 连续出现至少三次的数字

数据准备 CREATE TABLE leecode_01 (id bigint not null AUTO_INCREMENT,num int DEFAULT NULL COMMENT 用户名,primary key(id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT leecode(连续出现3次的数字)insert into leecode_01(num) values(12); insert into leecode_01…

C++入门基础 (超详解)

文章目录 前言1. C关键字2. C的第一个程序3. 命名空间3.1 namespace的定义3.2 命名空间的嵌套3.3 命名空间使用3.4 查找优先级总结 4. C输入和输出4.1 标准输入输出 (iostream库)4.2 文件输入输出 (fstream库)4.3 字符串流 (sstream库)4.4 C格式化输出4.5 std::endl和\n的区别 …