面向Windows的Pytorch完整安装教程

面向Windows的Pytorch完整安装教程目录1.概述2.安装2.1安装cuda2.2安装cudnn2.3安装Pytoch2.4验证1.概述PyTorch是一个开源的Python机器学习库,其前身是著名的机器学习库Torch。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,它是一个面向Python语言的深度学习框架,不仅能够实现强大的GPU…

大家好,又见面了,我是你们的朋友全栈君。

目录

1. 概述

2. 安装

2.1 安装cuda

2.2 安装cudnn

2.3 安装Pytoch

2.4 验证


 

1. 概述

PyTorch是一个开源的Python机器学习库,其前身是著名的机器学习库Torch。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,它是一个面向Python语言的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。除了Facebook外,它已经被Twitter、CMU和Salesforce等机构采用。作为经典机器学习库Torch的端口,PyTorch 为 Python 语言使用者提供了舒适的深度学习开发选择。

尽管推出时间不长,但是目前,Pytorch已成为深度学习领域使用最火热的框架。其原因主要包括以下三点:

(1)简洁:
  PyTorch的设计追求最少的封装,尽量避免重复造轮子。 简洁的设计带来的另外一个好处就是代码易于理解。PyTorch的源码只有TensorFlow的十分之一左右,更少的抽象、更直观的设计使得PyTorch的源码十分易于阅读。

(2)速度:
  PyTorch 的灵活性不以牺牲速度为代价,在许多评测中,PyTorch 的速度表现胜过 TensorFlow和Keras 等框架。

(3)易用:
  PyTorch 是所有的框架中面向对象设计的最优雅的一个。PyTorch的面向对象的接口设计来源于Torch,而Torch的接口设计以灵活易用而著称,Keras作者最初就是受Torch的启发才开发了Keras。PyTorch继承了Torch的衣钵,尤其是API的设计和模块的接口都与Torch高度一致。PyTorch的设计最符合人们的思维,它让用户尽可能地专注于实现自己的想法,即所思即所得,不需要考虑太多关于框架本身的束缚。

2. 安装

由于Pytorch面向的是Python语言,因此首先需要安装Python,这里推荐安装Python3.6版本。Python的安装此处不再过多说明,不会的读者请参考其它资料。

Pytorch主要用来进行深度学习算法建模和推理,为了加快算法训练速度,一般情况下需要使用带GPU的电脑进行Pytoch安装,而为了能够在Pytoch中准确使用GPU,首先需要安装GPU环境,包括cuda和cudnn。在确保正确安装GPU环境后再安装Pytoch。

2.1 安装cuda

 随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像渲染和计算以外的目的(例如这里提到的通用并行计算)。CUDA即Compute Unified Device Architecture,是NVidia利用GPU平台进行通用并行计算的一种架构,它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以利用C言、OpenCL、Fortran、c++等为CUDA架构编写程序。简单来理解,cuda就是NVidia提供的可以将显卡进行并行运算的一种软件驱动。

这里注意,我们的最终目标是使用Pytoch,而特定Pytorch对cuda的版本是有要求的。因此,我们在安装cuda之前需要先确认到底装哪个cuda版本才行。首先进入Pytoch安装官网:https://pytorch.org/get-started/locally/,然后出现下图所示的配置界面

面向Windows的Pytorch完整安装教程

此处会自动列出当前最新最稳定的Pytoch版本,此时为Pytorch1.4,在操作系统上选择Windows,安装方式选择Pip,语言选择Python。cuda选择可以看到官方推荐当前与Pytorch1.4适配的版本是cuda9.2和cuda10.1,因此我们可以选择cuda10.1来进行安装。

 首先我们要确定本机是否有独立显卡。在计算机-管理-设备管理器-显示适配器中,查看是否有独立显卡,如下图所示:

面向Windows的Pytorch完整安装教程

如上图所示,可以看到,当前系统拥有两快NVIDIA显卡,型号均为GeForce GTX1080 Ti。接下来,需要测试本机独立显卡是否支持CUDA的安装以及该显卡实际执行时运行速度有多快,可以去NVIDIA官网进行查询测试:https://developer.nvidia.com/cuda-gpus。如下图所示:

面向Windows的Pytorch完整安装教程

由于我们的机器是GeForce系列,因此单击“CUDA-Enabled GeForce and TITAN Products”展开查询。如下图所示:

面向Windows的Pytorch完整安装教程

可以看到,GeForce GTX 1080Ti在支持的列表里面,其计算能力等级为6.1。接下来就可以开始安装cuda。

进入cuda安装官网:https://developer.nvidia.com/cuda-toolkit-archive

面向Windows的Pytorch完整安装教程

可以看到当前最新的cuda版本为CUDA Toolkit 10.2,但是由于需要适配Pytorch1.4,因此我们选择CUDA Toolkit 10.1进行下载。单击后会进入版本配置界面,按下图进行选择即可。

面向Windows的Pytorch完整安装教程

配置好后单击Download进行下载:

面向Windows的Pytorch完整安装教程

接着就是安装过程,双击打开显示临时解压目录,可以改变解压目录然后进行解压即可:

面向Windows的Pytorch完整安装教程

解压完成后会自动进入安装流程,如下图所示:

面向Windows的Pytorch完整安装教程

按照安装提示默认安装即可。 安装完成后,可以打开文件夹C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA,可以看到当前目录已经存在v10.1文件夹,表示已经成功安装cuda10.1版本,并且上述安装程序已经自动的向环境变量中添加了对应的cuda路径,使得后续pytorch可以正常调用和执行。

最后,测试一下cuda是否安装成功。打开cmd命令终端,然后输入命令:

nvcc -V

正常情况下会出现下图所示结果:

面向Windows的Pytorch完整安装教程

 

2.2 安装cudnn

这里读者会有疑问,cudnn是什么?为什么装了cuda了还要再装cudnn?

为了解释上述两个问题,我们需要重新梳理一下我们使用Pytorch的最终目标是什么?毫无疑问,我们是用它来进行深度学习训练和推理,深度学习本质上就是训练深度卷积神经网络。尽管我们已经可以用cuda使得显卡来完成并行计算任务,但是所有的操作还是比较底层的、复杂的。是否在cuda之上有一个专门用于深度神经网络的SDK库来加速完成相关特定的深度学习操作,答案就是cudnn。

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如caffe、tensorflow、pytorch、mxnet等。cudnn简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。

简单来说,cuda就是用来定义显卡并行运算的一些列底层GPU操作库,cudnn则是在cuda基础上专门正对深度学习定制的高级GPU操作库。

cudnn官网下载地址:https://developer.nvidia.com/cudnn,然后单击Download Cudnn,这里需要注册账号并填写相关个人信息,然后进才可以进入真正的下载页面,按照提示一步步操作即可。最终下载页面如下:

面向Windows的Pytorch完整安装教程

我们选择cuDNN v7.6.5版本,因为该版本适配cuda10.1。最后,展开后选择对应的操作系统版本即可:

面向Windows的Pytorch完整安装教程

本文选择cuDNN Library for Windows 10。下载之后,解压缩,将CUDNN压缩包里面的bin、clude、lib文件直接复制到CUDA的安装目录下(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1),直接覆盖安装即可完成。

在使用GPU进行深度学习的时候,我们经常需要查看GPU使用情况,首先添加环境变量到path中:

C:\Program Files\NVIDIA Corporation\NVSMI

然后在终端中运行命令:

nvidia-smi

即可。效果如下图所示:

面向Windows的Pytorch完整安装教程

2.3 安装Pytoch

安装完cuda和cudnn后,安装pytorch相对比较简单。在安装cuda时已经进入了pytorch的安装选择配置页面,此时根据相关配置会自动给出安装方法,如下所示:

面向Windows的Pytorch完整安装教程

此时,只需要在cmd终端中运行Run this Command中的命令即可:

pip install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html

此时会开始安装torch1.4.0和torchvision0.5.0。

2.4 验证

本小节来验证Pytorch是否安装成功并且能够成功调用cudnn。首先在命令行中输入python进入python环境,然后输入命令:

import torch 
print(torch.__version__)

效果如下图所示说明pytorch已经安装成功:

面向Windows的Pytorch完整安装教程

接下来再验证pytorch调用cuda是否正确。输入命令:

print(torch.cuda.is_available())

效果如下图所示即为成功:

面向Windows的Pytorch完整安装教程

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152775.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • matlab fmincon 精度,fmincon与quadprog误差

    matlab fmincon 精度,fmincon与quadprog误差该楼层疑似违规已被系统折叠隐藏此楼查看此楼有没有人能帮我看看这两个程序的运行结果为什么会不一样啊??困扰了好久……程序一:%text1.mclearall;clc;a=[0.058,0.075,0.092,0.111,0.136,0.092]’;b=[0.062,0.085,0.128,0.149,0.164,0.148]’;alpha=[0.054,0.075,0.096,0.1…

  • Quartz使用之:远程job的执行

    Quartz使用之:远程job的执行quartz提供了远程执行job的功能。本篇文章通过具体的例子来演示这一功能。第一步:建立以下几个文件:1.RemoteJob.java(远程要执行的任务,实现了Job接口)。2.RemoteClientLab.java(客户端程序,远程告诉Scheduler去执行一个任务)。3.client.properties(客户端属性文件)4.Rem

  • 免费淘宝IP地址库简介及PHP/C#调用实例

    免费淘宝IP地址库简介及PHP/C#调用实例

    2021年10月17日
  • eclipse adt bundle不显示Android SDK菜单

    eclipse adt bundle不显示Android SDK菜单我把adtbundle拷贝到装有jdk1.5的电脑时,Eclipse死活不显示SDK的相关菜单。原因是jdk版本太低,只有1.6以上才会有。。eclipse.ini里限制jdk版本原来是有意的。安装了jdk1.6后,就能定制GUI了。eclipse中的window→Customize Perspective→Command Groups availability→Av

    2022年10月25日
  • jenkins 邮件_邮件发送服务

    jenkins 邮件_邮件发送服务前言前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了。安装EmailExtensionPlugin插件jenkins首页-

  • 心形函数的几种表达式怎么求_心形曲线函数4种表达式

    心形函数的几种表达式怎么求_心形曲线函数4种表达式用两个函数表示:f(x)=sqrt(1-(abs(x)-1)^2)h(x)=-2*sqrt(1-0.5*abs(x))也可以根据图中的q(x)画出心形的内部:q(x)=(f(x)-h(x))/2*cos(200*x)+(f(x)+h(x))/2用一个函数表示,我拟合了很久才画出来的:f(x)=(0.64*sqrt(abs(x))-0.8+1.2^abs(x)*cos(200*x))*sqrt(cos(x))定义域:-pi/2<=x<=pi/2我个人觉得要比

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号