python中的CNTK(Microsoft认知工具包)引发了严重的恐惧

python中的CNTK(Microsoft认知工具包)引发了严重的恐惧,python,machine-learning,cntk,Python,Machine Learning,Cntk,代码: 问题: 如果在python命令行中逐行运行代码,就可以了 如果运行“Python main.py”,也可以 但如果在PyCharm或Visual Studio代码中运行代码,则会发生错误,PyCharm错误转储: 回溯(最近一次呼叫最后一次): swig\u import\u helper中的文件“D:\Apps\Anaconda3\envs\Python3.53\lib\site packages\cntk\cntk\u py.py”,第18行 返回导入lib.import\u模块(m

代码:

问题:

如果在python命令行中逐行运行代码,就可以了

如果运行“Python main.py”,也可以

但如果在PyCharm或Visual Studio代码中运行代码,则会发生错误,PyCharm错误转储:

回溯(最近一次呼叫最后一次):
swig\u import\u helper中的文件“D:\Apps\Anaconda3\envs\Python3.53\lib\site packages\cntk\cntk\u py.py”,第18行
返回导入lib.import\u模块(mname)
文件“D:\Apps\Anaconda3\envs\Python3.53\lib\importlib\\ uuuu init\ uuuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第986行,在_gcd_import中
文件“”,第969行,在“查找”和“加载”中
文件“”,第956行,在“查找”和“加载”中解锁
导入错误:没有名为“cntk.\u cntk\u py”的模块
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“D:/Dev/machine\u learning/Test\u CNTK/main.py”,第1行,在
进口cntk
文件“D:\Apps\Anaconda3\envs\Python3.53\lib\site packages\cntk\\uuuuuu init\uuuuuu.py”,第11行,在
从.核心导入*
文件“D:\Apps\Anaconda3\envs\Python3.53\lib\site packages\cntk\core.py”,第10行,在
从…起导入cntk_py
文件“D:\Apps\Anaconda3\envs\Python3.53\lib\site packages\cntk\cntk_py.py”,第21行,在
_cntk_py=swig_import_helper()
swig\u import\u helper中的文件“D:\Apps\Anaconda3\envs\Python3.53\lib\site packages\cntk\cntk\u py.py”,第20行
返回importlib.import\u模块(“cntk\u py”)
文件“D:\Apps\Anaconda3\envs\Python3.53\lib\importlib\\ uuuu init\ uuuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
ImportError:DLL加载失败:找不到指定的模块。
环境:

  • 蟒蛇:4.3.1
  • Python:3.5.3(anaconda中的虚拟环境)
  • CNTK:2.0beta12适用于windows amd64 GPU
  • PyCharm:2016.3.2
  • Visual Studio代码:1.10.2
已解决

由于无法找到带有CNTK的DLL文件(例如CNTKLibrary-2.0.DLL、evaldl.DLL),这些DLL在安装CNTK后位于“python.exe”的同一目录中

有两种解决方案:

(假设PYTHONDIR是python.exe所在的目录)

  • 更改系统环境路径以包括PYTHONDIR

  • 在“导入cntk”之前添加以下代码:

    导入操作系统;os.environ['PATH']=PYTHONDIR+';'+os.environ['PATH']

  • import cntk
    n = cntk.minus([1, 2, 3], [4, 5, 6]).eval()
    print(n)
    
    Traceback (most recent call last):
    File "D:\Apps\Anaconda3\envs\Python3.53\lib\site-packages\cntk\cntk_py.py", line 18, in swig_import_helper
      return importlib.import_module(mname)
    File "D:\Apps\Anaconda3\envs\Python3.53\lib\importlib\__init__.py", line 126, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load
    File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
    ImportError: No module named 'cntk._cntk_py'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "D:/Dev/machine_learning/Test_CNTK/main.py", line 1, in <module>
        import cntk
      File "D:\Apps\Anaconda3\envs\Python3.53\lib\site-packages\cntk\__init__.py", line 11, in <module>
        from .core import *
      File "D:\Apps\Anaconda3\envs\Python3.53\lib\site-packages\cntk\core.py", line 10, in <module>
        from . import cntk_py
      File "D:\Apps\Anaconda3\envs\Python3.53\lib\site-packages\cntk\cntk_py.py", line 21, in <module>
        _cntk_py = swig_import_helper()
      File "D:\Apps\Anaconda3\envs\Python3.53\lib\site-packages\cntk\cntk_py.py", line 20, in swig_import_helper
        return importlib.import_module('_cntk_py')
      File "D:\Apps\Anaconda3\envs\Python3.53\lib\importlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: DLL load failed: The specified module could not be found.