CNTK (微软认知工具包) 导入错误

代码:

import cntkn = cntk.minus([1, 2, 3], [4, 5, 6]).eval()print(n)

问题:

如果在Python命令行中逐行运行代码,一切正常。

如果运行”Python main.py”,也一切正常。

但是如果在PyCharm或Visual Studio Code中运行代码,会出现错误,PyCharm的错误信息如下:

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_importFile "<frozen importlib._bootstrap>", line 969, in _find_and_loadFile "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlockedImportError: 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.

环境:

  • Anaconda: 4.3.1
  • Python: 3.5.3 (在anaconda中的虚拟环境)
  • CNTK: 2.0beta12 适用于Windows amd64 GPU
  • PyCharm: 2016.3.2
  • Visual Studio Code: 1.10.2

回答:

已解决

因为它找不到CNTK相关的DLL文件(例如CNTKLibrary-2.0.dll, EvalDll.dll),这些DLL文件在安装CNTK后与”python.exe”位于同一目录中。

有两种解决方案:

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

  1. 更改系统环境变量PATH以包含PYTHONDIR

  2. 在”import cntk”之前添加以下代码:

    import os; os.environ[‘PATH’] = PYTHONDIR + ‘;’ + os.environ[‘PATH’]

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注