是否可以在Windows上使用TensorFlow C++ API?

Ian*_*way 12 build machine-learning tensorflow

我有兴趣将TensorFlow合并到Windows 10上的Visual Studio中构建的C++服务器应用程序中,我需要知道这是否可行.谷歌最近宣布Windows对TensorFlow的支持:https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html 但是我可以告诉他这只是一个pip安装更常用的Python包,并使用C++ API,你需要自己从源代码构建repo:如何构建和使用Google TensorFlow C++ api 我尝试使用bazel自己构建项目,但遇到了试图配置构建的问题.

有没有办法让TensorFlow C++在本机Windows中工作(不使用Docker或新的Windows 10 Linux子系统,正如我见过其他人发布的那样)?

谢谢,

伊恩

mrr*_*rry 12

当然可以在Windows上使用TensorFlow的C++ API,但目前还不是很容易.现在,在Windows上构建C++ API的最简单方法是使用CMake构建,并调整项目CMake规则tf_tutorials_example_trainer(请参阅此处的源代码).使用CMake构建将为您提供一个Visual Studio项目,您可以在其中实现C++ TensorFlow程序.

请注意,该tf_tutorials_example_trainer项目构建一个控制台应用程序,它将所有TensorFlow运行时静态链接到您的程序中.目前我们还没有编写创建可重用TensorFlow DLL的必要规则,尽管这在技术上是可行的:例如,Python扩展是包含运行时的DLL,但不导出必要的符号以使用TensorFlow的C或C++ API直接.


Psi*_*-Ed 6

Joe AntogniniGitHub上的类似TensorFlow ReadMe有详细的指南,解释了通过CMake构建TensorFlow源代码.您还需要在您的机器上安装SWIG,这允许使用Python脚本语言连接C/C++源代码.我确实使用Visual CMAKE(cm​​ake-gui)和下面显示的屏幕截图.

cmake-gui setup(使用SWIG)用于使用Visual Studio构建TensorFlow C++源代码

在CMake配置中,我使用了Visual Studio 15 2017编译器.成功完成此阶段后,您可以单击"生成"按钮继续实际构建过程.

但是,在Visual Studio 2015上,当我尝试通过"ALL_BUILD"项目进行构建时,安装程​​序为我提供了"无法找到v141的构建工具"错误.即使我试图重新定位我的解决方案,这也不会消失.最后,使用Visual Studio 2017成功构建了解决方案.您还需要在成功配置之前在CMake中手动设置SWIG_EXECUTABLE路径.

如Antognini链接所示,对于我来说,16GB RAM,Core i7机器上的构建大约需要半个小时.完成后,您可能希望通过尝试运行tf_tutorials_example_trainer.exe文件来验证构建.

希望这可以帮助!

  • Joe Antognini的帖子似乎是一组有用的指令,但最终却浪费了我几个小时的时间,因为很容易意识到你应该使用的是64位MSVC编译器,而且很难从Visual中做到这一点.工作室.相比之下,当我绕过Visual Studio并按照"官方"CMake构建指令使用MSBuild时,它立即起作用. (2认同)