有谁知道如何提取 tensorflow DNNRegressor 模型并手动评估?

Does any know how to extract a tensorflow DNNRegressor model and evaluate manually?

我正在尝试在 java 实时上下文中使用 DNNRegressor 模型,不幸的是,这需要无垃圾实现。它看起来不像 tensorflow-light 提供无 GC 实现。阻力最小的途径是提取权重并手动重新实现神经网络。有没有人尝试从回归模型中提取权重并手动实施回归,如果是这样,您能描述一下任何陷阱吗?

谢谢!

我不太确定你的结论是否正确

The path of least resistance would be to extract the weights and re-implement the NN manually.

确实如此。在我看来,您想在 Android 移动应用程序中使用经过训练的模型。我个人对此了解不多,但我相信有一些有效的方法可以做到这一点。

但是,假设您确实需要提取权重,有多种方法可以做到这一点。

一种直接的方法是使用 Tensorflows 低级别 API 实现您自己想要的确切网络,而不是使用固定的 DNNRegressor class(顺便说一句,已弃用.).这听起来可能不必要地复杂,但实际上非常简单,而且好处是您可以完全掌控。

获取所有可训练变量的一般方法是使用 Tensorflows trainable_variables 方法。

或者 可能会对您有所帮助。

就陷阱而言,我真的不相信有任何陷阱。在一天结束时,您只是存储了一堆花车。您可能应该确保使用合适的文件格式,如 hdf5 和足够的浮点精度。