如何在Windows 10上使用anaconda提示安装pytorch FROM SOURCE(已启用cuda的旧gpu弃用的CUDA cc 3.5)?

问题42

我有(带的帮助下deviceQuery executableC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\extras\demo_suite根据https://forums.developer.nvidia.com/t/what-is-the-compute-capability-of-a-geforce-gt-710/146956/4

检测到1个支持CUDA的设备

设备0:“ GeForce GT 710 ” CUDA驱动程序版本/运行时版本11.0 / 11.0 CUDA功能主要/次要版本号:3.5全局内存总量:2048 MBytes(2147483648 bytes)(1)多处理器,(192)CUDA Cores / MP :192个CUDA内核

由于这是一个旧的且功能不足的图形卡,因此我需要通过使用各种所需的设置和条件将pytorch编译到计算机上来从源代码安装pytorch-这不是一件很直观的事情,这花了我几天的时间。至少,我的卡支持CUDA cc 3.5,因此它支持所有最新的CUDA和cuDNN版本,因为cc 3.5已被弃用,没有什么比这更糟了。

我跟着从README在建立从源头pytorch步骤https://github.com/pytorch/pytorch#from-source这也是在链接到正确的编译器https://gist.github.com/ax3l/9489132

我已成功在Windows 10上从源代码构建PyTorch(如pytorch repo readme.md中所述:https//github.com/pytorch/pytorch#from-source),运行时出现错误import pytorch

ImportError:DLL加载失败:动态链接库(DLL)初始化例程失败。加载“ C:\ Users \ Admin \ anaconda3 \ envs \ ml \ lib \ site-packages \ torch \ lib \ caffe2_detectron_ops_gpu.dll”或其中之一依赖项时出错。

我无法使用从源成功构建的pytorch:(DLL)初始化例程失败。加载caffe2_detectron_ops_gpu.dll发生错误

问题42

编辑:在您尝试长指南并重新安装所有内容之前,您可能会解决错误“(DLL)初始化例程失败。根据此方法(未进行测试)通过从降级torch = 1.7.1torch=1.6.0加载caffe2_detectron_ops_gpu.dll时出错”

这是我使用的一些指南。

该解决方案在这里由更多的步骤绘制,看到与组合CUDA问题的总体起点也与此相关的“超级用户”问题有关

解决方法如下:

  1. 安装cmake:https : //cmake.org/download/

添加到PATH环境变量:

C:\Program Files\CMake\bin

  1. 安装git,其中包括mingw64也可以提供curlhttps : //git-scm.com/download/win

添加到PATH环境变量:

C:\Program Files\Git\cmd

C:\Program Files\Git\mingw64\bin对于卷曲

  1. 作为编译器,我选择MSVC 2019了CUDA编译器驱动程序,NVCC:10.0.194因为它可以根据https://gist.github.com/ax3l/9489132处理CUDA cc 3.5 当然,您将需要检查自己的当前驱动程序版本。

图像

请注意,除了上面的单元格被复制到下面的空单元格之外,绿色箭头在这里什么都不会告诉您,这是表的设计,在这里没有其他要说的。 在我的案例中,绿色标记和注释只是相关的版本号(3.5和2019)。相反,与您的情况相关的完全取决于您的情况!

运行MS Visual Studio 2019 16.7.1并选择->Indivudual components可让您安装:

  • 最新MSVC v142 - VS 2019 C++-x64/x86-Buildtools (v14.27)(当时最新的x64版本)
  • 最新Windows 10 SDK10.0.19041.0)(当时的最新x64版本)。
  1. 因为我的图形卡CUDA Capability Major/Minor version number3.5,所以我现在可以安装最新的cuda 11.0.2-1可用版本。在您的情况下,请始终再次查找上表的当前版本,并找出CUDA cc的最佳CUDA版本。可通过https://developer.nvidia.com/cuda-downloads获得cuda工具包

  2. 更改PATH环境变量:

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin;%PATH% SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\CUPTI\lib64;%PATH% SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include;%PATH%

  1. https://developer.nvidia.com/cudnn-download-survey下载cuDNN 您必须注册才能执行此操作。然后,通过将最新的cuDNN zip-extract复制到以下目录来安装cuDNN:

C:\Program Files\NVIDIA cuDNN

  1. 更改PATH环境变量:

SET PATH=C:\Program Files\NVIDIA cuDNN\cuda;%PATH

  1. 根据https://stackoverflow.com/questions/48174935/conda-creating-a-virtual-environment,打开anaconda提示符并充其量为pytorch创建一个新的虚拟环境

conda create -n myenv

  1. 安装可能需要的软件包:

(myenv) C:\Users\Admin>conda install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing_extensions future six requests

  1. 在anaconda或cmd提示符下,将pytorch克隆到您选择的目录中。我在这里使用我的下载目录:C:\Users\Admin\Downloads\Pytorch>git clone https://github.com/pytorch/pytorch

  2. 在anaconda或cmd提示符下,递归更新克隆的目录: C:\Users\Admin\Downloads\Pytorch\pytorch>git submodule update --init --recursive

  3. 由于该检测器对MSVC OpenMP的支持较差,因此,根据该开发人员的评论,并参考https://pytorch.org/docs/stable/notes,我们需要使用MKL从源代码构建pytorch,以便使用Intel OpenMP。/windows.html#include-optional-components那么该怎么做呢?

https://www.7-zip.de/download.html安装7z

添加到PATH环境变量:

C:\Program Files\7-Zip\

现在下载MKL源代码(请再次检查链接中的最新版本):

curl https://s3.amazonaws.com/ossci-windows/mkl_2020.0.166.7z -k -O
7z x -aoa mkl_2020.0.166.7z -omkl

我选择的目标目录是C:\Users\Admin\mkl

还需要根据链接:

conda install -c defaults intel-openmp -f

  1. 打开anaconda提示符并激活您所谓的虚拟环境:

activate myenv

  1. 转到您选择的pytorch源代码目录。

(myenv) C:\WINDOWS\system32>cd C:\Users\Admin\Downloads\Pytorch\pytorch

  1. 现在,在开始cmake之前,我们需要设置很多变量。

当我们也使用mkl时,我们需要如下所示:

(myenv) C:\Users\Admin\Downloads\Pytorch\pytorch>set “CMAKE_INCLUDE_PATH=C:\Users\Admin\Downloads\Pytorch\mkl\include”

(myenv) C:\Users\Admin\Downloads\Pytorch\pytorch>set “LIB=C:\Users\Admin\Downloads\Pytorch\mkl\lib;%LIB%”

(myenv) C:\Users\Admin\Downloads\Pytorch\pytorch>set USE_NINJA=OFF

(myenv) C:\Users\Admin\Downloads\Pytorch\pytorch>set CMAKE_GENERATOR=Visual Studio 16 2019

(myenv) C:\Users\Admin\Downloads\Pytorch\pytorch>set USE_MKLDNN=ON

(myenv) C:\Users\Admin\Downloads\Pytorch\pytorch>set “CUDAHOSTCXX=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\cl.exe”

(myenv) C:\Users\Admin\Downloads\Pytorch\pytorch>python setup.py install --cmake

注意:让它运行一整夜,上面的安装程序花费了9.5个小时并阻止了计算机。

重要提示:Ninja可以并行化CUDA构建任务。您可能有可能使用忍者,这是根据https://pytorch.org/docs/stable/notes/windows.html#include-optional-components加快该过程的速度就我而言,使用忍者无法成功安装。您仍然可以尝试:(set CMAKE_GENERATOR=Ninja当然,首先要使用进行安装之后pip install ninja)。您可能还需要set USE_NINJA=ON,并且/或者甚至更好,请尝试set USE_NINJA完全省略并仅使用它set CMAKE_GENERATOR=Ninja(请参阅将CMake Generator切换为Ninja),也许这对您有用绝对可以使用忍者,请参阅基于成功的基于忍者的安装的注释

[在我的情况下,期望忍者通过pip安装工作也可能是错误的。也许我们还需要获取忍者的源代码,也许也需要使用curl,就像MKL一样。如果您对此有更多了解,请发表评论或编辑,谢谢。]

  1. 就我而言,这是通过使用mkl而没有使用忍者完成的。

  2. 现在一个旁注。如果您使用的是spyder,则我的至少是因为cuda安装程序损坏了:

    (myenv)C:\ WINDOWS \ system32> spyder cffi_ext.c C:\ Users \ Admin \ anaconda3 \ lib \ site-packages \ zmq \ backend \ cffi_ pycache _cffi_ext.c(268):致命错误C1083:Datei(包括) kann nichtgeöffnetwerden:“ zmq.h”:没有这样的文件或目录回溯(最近一次调用是最近的):文件“ C:\ Users \ Admin \ anaconda3 \ Scripts \ spyder-script.py”,第6行,来自spyder .app.start导入zmq文件“ C:\ Users \ Admin \ anaconda3 \ lib”中的第22行,导入主文件“ C:\ Users \ Admin \ anaconda3 \ lib \ site-packages \ spyder \ app \ start.py” \ site-packages \ zmq_ init _.py“,行50,来自zmq导入后端文件“ C:\ Users \ Admin \ anaconda3 \ lib \ site-packages \ zmq \ backend_ init_.py“,第40行,在reraise(* rec_info)文件中,文件” C:\ Users \ Admin \ anaconda3 \ lib \ site-packages \ zmq \ utils \ sixcerpt.py“,第34行,在reraise上升值文件” C :\ Users \ Admin \ anaconda3 \ lib \ site-packages \ zmq \ backend_ init _.py“,第27行,在ns = select_backend(第一个)文件“ C:\ Users \ Admin \ anaconda3 \ lib \ site-packages \ zmq \ backend \ select.py“,第28行,在select_backend mod = import(名称,fromlist = public_api)文件“ C:\ Users \ Admin \ anaconda3 \ lib \ site-packages \ zmq \ backend \ cython_ init .py”中,第6行,来自。import(常量,错误,消息,上下文,ImportError:导入错误,DLL加载失败:错误。

再次在现有安装上安装spyder:

(myenv) C:\WINDOWS\system32>conda install spyder

开孔器:

(myenv) C:\WINDOWS\system32>spyder
  1. 测试您的pytorch安装。

我做到了这一点

import torch

torch.__version__
Out[3]: '1.8.0a0+2ab74a4'

torch.cuda.current_device()
Out[4]: 0

torch.cuda.device(0)
Out[5]: <torch.cuda.device at 0x24e6b98a400>

torch.cuda.device_count()
Out[6]: 1

torch.cuda.get_device_name(0)
Out[7]: 'GeForce GT 710'

torch.cuda.is_available()
Out[8]: True

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档