PyTorch在64位Windows下的Conda包

3,148 阅读2分钟

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

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

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

  • Anaconda3 (with Python 3.6)
  • Windows 10 64位系统(其他由于CUDA二进制文件不一致所以不行)
  • CUDA 8.0.61
  • cuDNN v5以上(包中已经自带了v6, cuDNN v5用户亦可放心使用)

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

要安装的话,如果你不嫌弃anaconda cloud的网速的话,只需键入下面一条命令:

conda install -c peterjc123 pytorch=0.1.12

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

conda install numpy mkl cffi
conda install --offline path/to/tar/pytorch-0.1.12-py36_0.1.12cu80.tar.bz2

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

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 TEST
import torch
x = torch.Tensor([1.0])
xx = x.cuda()
print(xx)

# CUDNN TEST
from torch.backends import cudnn
print(cudnn.is_acceptable(xx))

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

cudnn.enabled = False

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