"import torch" 给出错误 "from torch._C import *, DLL load failed: The specified module could not be found"

"import torch" giving error "from torch._C import *, DLL load failed: The specified module could not be found"

我目前在 Anaconda 上使用 Python 3.5.5,但我无法导入 torch。它在 Spyder 中给我以下错误:

Python 3.5.5 |Anaconda, Inc.| (default, Mar 12 2018, 17:44:09) [MSC v.1900 
64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.

IPython 6.2.1 -- An enhanced Interactive Python.

import torch
Traceback (most recent call last):

  File "<ipython-input-1-eb42ca6e4af3>", line 1, in <module>
    import torch

  File "C:\Users\trish\Anaconda3\envs\virtual_platform\lib\site-
  packages\torch\__init__.py", line 76, in <module>
    from torch._C import *

ImportError: DLL load failed: The specified module could not be found.

网上很多建议都说工作目录不能和torch包在同一个目录,但是我手动设置工作目录为C:/Users/trish/Downloads,我得到了同样的错误。

此外,我已经尝试了以下操作:从头开始重新安装 Anaconda 和所有软件包,并且我确保我的目录中没有重复的 "torch" 文件夹。

请帮忙!谢谢!

确保为您的环境安装了正确版本的 pytorch。我在 windows 上使用 pytorch 时遇到了同样的问题,但我安装了用于 cuda 8 的默认包。所以我重新安装了 cpu 的 pytorch 包,这正是我需要的。

我在使用纯 pip 安装的 运行 torch 上遇到了同样的问题,并通过切换到 conda 解决了这个问题。 以下步骤:

  1. 从 python.org 卸载 python 3.6(如果存在)
  2. 安装miniconda
  3. 在 conda 中安装手电筒 ("conda install pytorch -c pytorch")

pip 安装问题:

import torch
  File "C:\Program Files\Python35\lib\site-packages\torch\__init__.py", line 78, in <module>
    from torch._C import *
ImportError: DLL load failed: The specified module could not be found.

切换到 conda 后它工作正常。我相信 conda 通过安装 vs_redist 2017

解决了这个问题

vs2017_runtime 15.4.27004.2010 peterjc123

但是我试过了w/o conda 并没有帮助。找不到如何检查(和调整)Python 的 vs_redist。

有同样的问题并通过使用 mkl(Intel 的数学内核库)重新安装 numpy 解决了这个问题 https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

为您的机器下载正确的 .whl。对我来说,它是 numpy‑1.14.5+mkl‑cp36‑cp36m‑win_amd64.whl(python 3.6,windows,64 位) 然后使用 pip 安装。

pip install numpy‑1.14.5+mkl‑cp36‑cp36m‑win_amd64.whl

我在 windows 10...

时遇到了类似的问题

解决方案:

  • https://anaconda.org/anaconda/intel-openmp/files

    [=31下载win-64/intel-openmp-2018.0.0-8.tar.bz2 =]
  • 解压后把Library\bin里面的dll文件放到
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

  • 确保您的 cuda 目录已添加到您的 %PATH% 环境变量

我遇到了同样的问题。就我而言,我不想要 GPU 版本的 pytorch。 我卸载了它。版本是 pytorch: 0.3.1-py36_cuda80_cudnn6he774522_2 peterjc123.

问题是 cuda 和 cudnn 。然后使用以下命令安装,现在可以使用了!

conda install -c peterjc123 pytorch-cpu

我在使用python3.6.8的conda环境和conda从channel -c pytorch安装的pytorch时也遇到了同样的问题。

以下是对我有用的方法:

1:) conda create -n envName python=3.6 anaconda

2:) conda update -n envName conda

3:) conda activate envName

4:) conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

然后用给定的代码测试手电筒:

5:) python -c "import torch; print(torch.cuda.get_device_name(0))"

注意:如果您有兼容 cuda 的 gpu

,第 5 步将 return 您的 gpu 名称

总结:我刚刚创建了一个包含整个anaconda的conda环境,然后为了解决conda版本不匹配的问题,我从基础环境更新了新环境的conda,然后在该环境中安装了pytorch并进行了测试火炬.

对于 CPU 版本,这里是 link 我的另一个答案:https://gist.github.com/peterjc123/6b804651288e76db7b5fabe5348e1f03#gistcomment-2842825

https://gist.github.com/peterjc123/6b804651288e76db7b5fabe5348e1f03#gistcomment-2842837

Windows10 解决方案(这适用于我的系统):

我的系统遇到了同样的问题。以前我使用的是 Python 3.5,我使用 virtualenv 模块创建了一个名为 pytorch_test 的虚拟环境,因为我不想弄乱我的 tensorflow 安装(这花了我很多时间)。我遵循了每条指示,但似乎没有用。我安装了 python 3.6.7 添加到路径中。然后我使用以下方法创建了虚拟环境:

virtualenv --python=3.6 pytorch_test

然后转到目标文件夹

cd D:\pytorch_test

并激活虚拟环境在cmd中输入命令:

.\Scripts\activate

执行此操作后,命令提示符将显示:

(pytorch_test) D:\pytorch_test>

如果在使用之前没有更新 pip,请更新:

(pytorch_test) D:\pytorch_test>python -m pip install --upgrade pip

然后从站点安装 numpy+mkl:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

如果您有 python 3.6.7,请从列表中选择正确的版本:wheel 文件: numpy‑1.15.4+mkl‑cp36‑cp36m‑win_amd64.whl(对于 64 位)

(请注意,如果整个事情不起作用,只需分别进行简单的 numpy 安装和 mkl 安装) 然后使用以下命令安装 openmp:

(pytorch_test) D:\pytorch_test>pip install intel-openmp

现在你已经完成了先决条件。要安装 pytorch,请转到以前的版本站点: https://pytorch.org/get-started/previous-versions/

此处 select Windows 二进制文件列表中的合适版本。例如,我在我的系统中安装了 CUDA 9.0 python 3.6.7 所以我选择了 gpu 版本:

cu90/torch-1.0.0-cp36-cp36m-win_amd64.whl

(pytorch有0.4.0和1.0.0两个可用版本,我用的是1.0.0)

下载文件后使用 pip 安装它(假设 whl 文件位于 D:)。您必须从虚拟环境 pytorch_test 本身执行此操作:

(pytorch_test) D:\pytorch_test>pip install D:\torch-1.0.0-cp36-cp36m-win_amd64.whl

先决条件如六,枕头将自动安装。 然后一旦一切都完成了,使用 torchvision 安装模型。 只需输入:

(pytorch_test) D:\pytorch_test>pip install torchvision

要检查一切是否正常,请尝试以下脚本:

import torch
test = torch.rand(4, 7)
print(test)

如果一切顺利,那就不是问题了。每当出现这样的问题时,它都与一个或多个依赖项的版本不匹配有关。这也发生在 tensorflow 安装过程中。

在 cmd 中使用命令 deactivate 停用以下虚拟环境:

(pytorch_test) D:\pytorch_test>deactivate

这是我系统中 pip list 的输出:


Package      Version
------------ -----------
intel-openmp 2019.0
mkl          2019.0
numpy        1.16.2
Pillow       6.0.0
pip          19.0.3
setuptools   41.0.0
six          1.12.0
torch        1.0.0
torchvision  0.2.2.post3
wheel        0.33.1

希望这对您有所帮助。这是我在这个社区的第一个回答,希望对大家有所帮助。在尝试了各种组合之后,我今天下午设置了 pytorch。我在安装 CNTK 和 tensorflow 时遇到了同样的导入问题。不管怎样,我把它们分开放在不同的虚拟环境中,这样我就可以随时使用它们。

我正在使用带有 NVIDIA GeForce 显卡的 Windows 10 计算机。 NVIDIA 显示我有 CUDA 10.1,但是当我在 Jupyter Lab 运行 import torch 时收到此错误,并怀疑它与 CUDA 支持有关。

我通过直接从 NVIDIA 下载并安装 CUDA Toolkit 解决了这个问题。它安装了所有必需的 Visual Studio 组件。当我回到 Jupyter Lab 时,import torch 运行 没有错误。