在C ++中的嵌入式Python中导入Tensorflow时出错


问题内容

我的问题是关于将Python 3.5解释器嵌入C 程序以从C

接收图像,并将其用作我训练有素的tensorflow模型的输入。当我在python代码中导入tensorflow库时出现错误(其他库工作正常)。简化的代码如下:

#include <string>
#include <windows.h>
#include <stdio.h>


int main()
{
    Py_InitializeEx(1);

    PyObject* sysPath = PySys_GetObject((char*)"path");
    PyObject* curDir = PyUnicode_FromString(".");
    PyList_Append(sysPath, curDir);
    Py_DECREF(curDir);


    PyRun_SimpleString("import tensorflow\n"
        "print(tensorflow.__version__)\n");


    Py_Finalize();
    return 0;
}

错误是:

ConsoleApplication5.exe-找不到序数

序号225不能位于动态链接库libiomp5md.dll中。

然后按确定,此错误出现在控制台中:

英特尔MKL致命错误:无法加载mkl_intel_thread.dll。

我的设置在Windows 7 x64,Anaconda Python 3.5.2,tensorflow-1.1.0和CUDA 8上。

是一个具有不同错误的类似问题。

谢谢你的帮助。


问题答案:

我通过将libiomp5md.dllpython库文件夹复制到C ++代码目录中来解决此问题。