导入 Theano 时加载编译器库出错:致命错误 C1083

Error to load compiler libraries while importing Theano: fatal error C1083

我试图在我的 Python 环境中将 Theano 与我的 GPU 一起使用几天。 导入 theano 时,出现此错误:

d:\anaconda2\include\pyconfig.h(239) : fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory

我试图在 PYTHONPATH、PATH 和 .theanorc.txt 中包含 "D:\Anaconda2\MinGW\x86_64-w64-mingw32\include"(此文件夹包含 "pyconfig.h"),但出现相同的错误消息。

您有什么想法可以将 anaconda/cuda/nvcc 连接到 Theano 中的编译器吗?

这是我的配置:

我可以 "import theano" 使用 CPU,但我想使用 GPU 进行计算。

输入 "import theano"(使用 device=gpu)后,我可以看到控制台 window 在显示错误之前启动 "nvcc.exe"。

我用 Visual Studio 2012 测试了 CUDA,它工作正常,例如 "bilateralFilter" 在 Visual Studio 中工作没有错误:

Found 1 CUDA Capable device(s) supporting CUDA
Device 0: "GeForce GTX 950"
CUDA Runtime Version: 8.0
CUDA Compute Capability: 5.2
...
Running Standard Demonstration with GLUT loop...

我找到了解决问题的方法。

简答

  1. 将 C:\Windows\System32 添加到 PATH
  2. 启动 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\vcvars64.bat

结束。

有关信息,这是我当前的新路径:

C:\Windows\System32
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64
D:\Anaconda2
D:\Anaconda2\Scripts
D:\Anaconda2\Library\bin

这是我的 PYTHONPATH:

这是我的。theanorc.txt:

[global]
device=gpu
floatx = float32

一些细节

除了 PATH 之外,还需要配置 Windows 注册表,如 post 中所述:compilation error in visual studio linked with python26 .这是通过启动 vcvars64.bat

来完成的

我以前也这样做过,但是我忘了注意到出现了一条消息:

ERROR: Cannot determine the location of the VS Common Tools folder.

根据 https://social.msdn.microsoft.com/Forums/en-US/78703f6b-f610-456c-b770-76a12be3e1ae/error-cannot-determine-the-location-of-the-vs-common-tools-folder?forum=vssetup ,解决方案是将 C:\Windows\System32 添加到 PATH.