如何部署Tensorflow训练模型以推断Windows独立应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何部署Tensorflow训练模型以推断Windows独立应用程序相关的知识,希望对你有一定的参考价值。

我想在Windows独立桌面应用程序中使用Tensorflow培训的模型。我只需要执行预测,我可以使用Tensorflow Python API训练模型。推荐的方法是什么?

我知道有一个C ++ API,但它很难编译,特别是在Windows上。我能为Windows找到任何预构建的C ++ Tensorflow二进制文件吗?

有一种简单的方法可以将Tensorflow作为Windows安装程序先决条件分发Python吗?

我可以在其他技术中导入Tensorflow模型并将其用于推理吗? OpenCv DNN模块有一个从Tensorflow导入数据的功能,但我知道它有很多限制,我无法导入和使用OpenCv模型。

感谢帮助!

答案

我和你一样挑战同样的问题。你应该至少尝试编译它(尝试CMake,它可能更容易)

如果你还有问题:

另一答案

我问a similar question并最终找到了答案的方法。最后,我发现Tensorflow instructions实际上相当不错(这是我读他们的很糟糕!)。我没有尝试过使用Bazel for Windows,但使用CMake构建Tensorflow最终工作正常。

主要问题是编译器堆空间问题。如果您使用的是MS Visual Studio 32位编译器(默认),这似乎总是出现在某个随机位置。关键是要确保你运行vcvarsall.batvcvars64.bat或调用64位编译器所需的任何东西(在任务管理器中,它应该显示为cl.exe,而不是cl.exe *32)我发现很难(读取:不可能)获取Visual Studio使用64位编译器,但使用MSBuild工具在命令行上编译工作正常。

一旦你可以构建示例程序,你就有一个应用程序的例子,它链接到一个静态tensorflow库来完成它的工作。您可以根据需要创建自己的应用程序链接到此库。

以上是关于如何部署Tensorflow训练模型以推断Windows独立应用程序的主要内容,如果未能解决你的问题,请参考以下文章

81TensorFlow 2 模型部署方法实践--TensorFlow Serving 部署模型

如何创建一个可轻松转换为TensorFlow Lite的模型?

java调用tensorflow训练好的模型

在 Python 中,获取 tensorflow2 模型训练的图像大小?

TensorFlow2 动手训练模型和部署服务

TensorFlow2 动手训练模型和部署服务