如何使用tensorflow.dll修复Windows c_api错误?

时间:2019-01-29 17:07:28

标签: c windows api tensorflow

我尝试使用来自https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-1.12.0.zip上的https://www.tensorflow.org/install/lang_c的tenserflow c api和tenserflow.dll在Windows c程序上进行编译。 这个例子:

#include <stdio.h>
#include <tensorflow/c/c_api.h>

int main() {
printf("Hello from TensorFlow C library version %s\n", TF_Version());
return 0;
}

编译是成功的,但是当我运行它时,我收到一个libtenserflow.so找不到的错误。看起来https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-1.12.0.zip中的tensorfow,dll是针对Windows系统错误构建的,因为libtensorflow.so是Linux的目标。

你能解释或解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我猜它正在寻找tensorflow.so,因为您在VS Code的WSL模式(或其他IDE)上使用GCC工具。但是要加载DLL,您需要安装Visual Studio。

以下是运行Tensorflow for C演示的简单过程:

  1. 在Visual Studio中创建一个新项目;
  2. 配置项目属性(假设Tensorflow路径为C:\ tensorflow \;将其替换为您的):

C / C ++>常规>其他包含目录,添加“ C:\ tensorflow \ include \” 调试>环境,添​​加“ PATH = C:\ tensorflow \ lib \;%PATH%”

别忘了tensorflow.dll路径前的“ PATH =“。

  1. 编译并运行。

您还可以将Tensorflow路径添加到系统环境(用路径替换C:\ tensorflow \):

SET PATH=%PATH%;C:\tensorflow\lib\

P.S。如果您不喜欢Visual Studio IDE,而更喜欢在命令行模式下使用Tensorflow,请尝试使用Bazel for Windows