Windows下安装PyTorch0.3.0

本文系转载,出处:关于 PyTorch 0.3.0 在Windows下的安装和使用

PyTorch简介

在2017年1月18日,facebook下的Torch7团队宣布PyTorch开源后就引来了剧烈的反响。PyTorch 是 Torch 在 Python 上的衍生版本。Torch 是一个使用 Lua 语言的神经网络库, Torch 很好用, 但是 Lua 流行度不够, 所以facebook开发团队将 Lua 的 Torch 移植到了更流行的语言 Python 上,推出了PyTorch 。

2017年12月5日,深度学习框架PyTorch更新到0.3.0。

PyTorch是一个Python优先的深度学习框架,是一个和tensorflow,Caffe,MXnet一样,非常底层的框架。先说下PyTorch相比于Tensorflow的三大优势:

一.Python优先支持

PyTorch主推的特性之一,就是支持Python(官方的提法:puts Python first)。因为直接构建自 Python C API,PyTorch从细粒度上直接支持python的访问。相比于原生Python实现,引入的新概念很少,这不仅降低了 Python 用户理解的门槛,也能保证代码基本跟原生的 Python 实现一致。事实上,开发者可以直接用原生 Python 代码扩展 PyTorch 的 operation

Tensorflow总有一种用 Python 调用 C++ 写的第三方动态链接库的感觉;写模型需要更多代码,无法贯彻 Python的简约风格;而且写新的 operation 必须用 C++ 开发。

二.动态图的良好支持

Tensorflow运行必须提前建好静态计算图,然后通过feedrun重复执行建好的图。但是Pytorch却不需要这么麻烦:PyTorch的程序可以在执行时动态构建/调整计算图。相对来说,pytorch具有更好的灵活性。这得益于PyTorch直接基于 Python C API 构建的 Python 接口。

TensorFlow饱受诟病的痛点就是只支持静态图模型。也就是说,在处理数据前必须预先定义好一个完整的模型。如果数据非常规整,那还好。但实际工程和研究项目中的数据,难免有一些边角的情况。很多项目,其实需要大量实验才能选择正确的图模型。这就很痛苦了。因此,很多项目转而采用了PyTorch等支持动态图模型的框架,以便在运行程序的时候动态修正模型。

不过在2017年10月31日万圣节这天,Google发布了TensorFlow Eager Execution(贪婪执行),为TensorFlow添加了命令式编程的接口。启用贪婪执行后,TensorFlow操作会立刻执行,不用通过Session.run()执行一个预先定义的图。相信在TensorFlow1.5左右,谷歌会正式为TensorFlow加入动态图的支持!

三.易于Debug

Pytorch在运行时可以生成动态图,开发者就可以在堆栈跟踪中看到哪一行代码导致了错误。你甚至可以在调试器中停掉解释器并看看某个层会产生什么。

PyTorch的Windows支持

PyTorch官方暂时没有提供Windows下的pip或者conda安装包。不过关于PyTorchWindows官方CI和官方版本,Soumith大神已经发话了:准备在Pytorch 0.4.0添加Windows正式版支持,CI版本正在搭建中。

不过知乎有个用户蒲嘉宸为大家孜孜不倦地提供着自己在Windows 下的PyTorch pipconda安装包。关于具体编译过程,大家可以去看下他的知乎主页。

PyTorch在Windows下的安装

据网友反应,这次的包需要CUDA 9 才能使用。CUDA 8 的包过两天上传,暂时可以访问这个页面获取CI的包进行使用,注意要先安装VC2017 Redist

conda-build没有提供MSVC 2017的支持之前,我们没有办法来制作相应的Conda包,因此只能通过whl包来进行安装。具体怎么安装呢?目前将编译好的包上传到了GithubRelease页面上(旧的包没有启用BLAS,已删除,新的正在上传中),国内的在百度云,需要的用户可以自己下载安装。安装的命令如下:

# 对于 Conda 的用户
conda install numpy mkl pyyaml cffi

# For Python 3.5
pip install torch-0.3.0b0.591e73e-cp35-cp35m-win_amd64.whl

# For Python 3.6
pip install torch-0.3.0b0.591e73e-cp36-cp36m-win_amd64.whl
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

如果你是Anaconda|Python用户,请执行第一条命令,然后在这里下载对应whl文件或bz2文件进行安装。 
如果你安装了原生Python,请直接下载whl文件根据对应版本,按照后两条命令安装即可。 
另外下载链接里面文件对应PythonPyTorch多个版本,请根据自己的实际需要下载和安装。 
关于bz2文件的安装教程,见: Win10 Python3.6下安装Pytorch

测试

Python交互模式下输入:

import torch
 
 
  • 1

如果不报错,就是安装成功!

笔者上传下自己和读者传来的安装成功图:

这里写图片描述

这里写图片描述

版本日志

错误修复
  1. backward中的错误会导致死锁
  2. DataLoader多线程时的内存泄漏
  3. torch.cuda中的缩进bug
新功能
  1. 添加对 CUDA 和 cuDNN 新版本的支持
  2. 添加对 Ninja 和 clcache 编译器的支持
存在问题
  1. Conda下的bz2b包不支持 Python3.5 及以下的版本
  2. 不能支持 torch.distributed(分布式)、NCCL(多卡)和 Magma
  3. 不能把 num_worker 设置为1以上的值。有问题可以尝试调成0。另外代码入口得用以下的if语句包裹。即代码里面必须要有:
if __name__ == '__main__':
 
 
  • 1

Win10 Python3.6下安装Pytorch见本人另一篇博客:http://blog.csdn.net/xiangxianghehe/article/details/73500031,此版本是Pytorch0.2 。

Ubuntu 16.04下安装的Pytorch的教程 见本人另一篇博客:http://blog.csdn.net/xiangxianghehe/article/details/78662289

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值