在c ++中导入嵌入式python中的tensorflow时出错

时间:2017-09-13 06:25:05

标签: python tensorflow python-c-api python-embedding

我的问题是在C ++程序中嵌入Python 3.5解释器以从C ++接收图像,并将其用作我训练的张量流模型的输入。当我在我的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 - Ordinal Not Found

     

序号225无法位于动态链接库中   libiomp5md.dll。

     

按OK后,控制台中出现此错误:

  

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

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我已经通过将libiomp5md.dll从python库文件夹复制到我的C ++代码目录来解决了这个问题。