PyTorch在64位Windows下的Conda包

来源:互联网 发布:什么矩阵可以lu分解 编辑:程序博客网 时间:2024/06/06 02:01

昨天发了一篇PyTorch在64位Windows下的编译过程的文章,有朋友觉得能不能发个包,这样就不用折腾了。于是,这个包就诞生了。感谢@Jeremy Zhou为conda包的安装做了测试。

更新:已经添加了对所有Compute Capability>=2.0的显卡和老版本Windows的支持

更新:已经支持最新的0.2版本,重新键入安装命令即可进行安装或升级

先别急着激动。如果要直接使用的话,你需要满足以下条件:

  • Anaconda3 (with Python 3.5/3.6)
  • Windows 64位系统(Windows 7 或 Windows Server 2008 及以上)
  • CUDA 8.0.61(包中已内置,因此老版本也能用)
  • cuDNN v5以上(包中已经自带了v6, cuDNN v5用户亦可放心使用)

这四个条件个人感觉还算比较OK,如果不想放弃Anaconda2也可以创建虚拟环境来使用。

要安装的话,如果你不嫌弃anaconda cloud的网速的话,只需根据自己的系统键入下面的一条命令即可:

# for Windows 10 and Windows Server 2016conda install -c peterjc123 pytorch# for Windows 7/8/8.1 and Windows Server 2008/2012conda install -c peterjc123 pytorch_legacy

如果不能忍受conda那蜗牛爬般的网速的话,那我为大家将包上传至公有云中,可以尝试百度云,大家下载之后,键入如下几条指令:

conda install numpy mkl cfficonda install --offline path/to/tar/pytorch????.tar.bz2

注:文件名说明:

一般为PACKAGENAME-VERSION-PYTHON_VERSIONcu80.tar.bz

PACKAGENAME 分为 pytorch 和 pytorch_legacy, 分别为NT内核版本10和6的两类系统进行编译;VERSION 代表 pytorch 的版本;而PYTHON则代表python程序的版本,主要分为3.5和3.6;请自行选择合适的版本进行安装。

安装之后,也千万要注意,要在主代码的最外层包上

if __name__ == '__main__':

这个判断,可以参照我昨天文章中的例子,因为PyTorch的多线程库在Windows下工作还不正常。

更新:经网友提醒,若import torch时发生如下错误:

Traceback (most recent call last):  File "test.py", line 2, in <module>    import torch  File "C:\Anaconda3\lib\site-packages\torch\__init__.py", line 41, in <module>    from torch._C import *ImportError: DLL load failed: The specified module could not be found.

请将Anaconda的Python版本从3.6.0升级至3.6.1。

附一段简单测试CUDA与cuDNN是否工作正常的代码:

# CUDA TESTimport torchx = torch.Tensor([1.0])xx = x.cuda()print(xx)# CUDNN TESTfrom torch.backends import cudnnprint(cudnn.is_acceptable(xx))

如果CUDA工作不正常,那就不能使用.cuda()将模型和数据通过GPU进行加速了。而如果cuDNN不能正常工作,那就使用如下代码关掉它:

cudnn.enabled = False

以上,就是文章的全部内容啦,如果感觉还意犹未尽的话,可以给我的Github 主页或者项目加个watch或者star之类的(滑稽),以后说不定还会再分享一些相关的经验。