Java 有人知道如何提取tensorflow DNN累加器模型并手动评估吗?
我试图在java实时上下文中使用DNNRegressor模型,不幸的是,这需要一个无垃圾的实现。看起来tensorflow light并没有提供无GC的实现。阻力最小的路径是提取权重并手动重新实现NN。是否有人尝试过从回归模型中提取权重并手动实现回归,如果有,您能描述一下任何陷阱吗Java 有人知道如何提取tensorflow DNN累加器模型并手动评估吗?,java,tensorflow,regression,real-time,Java,Tensorflow,Regression,Real Time,我试图在java实时上下文中使用DNNRegressor模型,不幸的是,这需要一个无垃圾的实现。看起来tensorflow light并没有提供无GC的实现。阻力最小的路径是提取权重并手动重新实现NN。是否有人尝试过从回归模型中提取权重并手动实现回归,如果有,您能描述一下任何陷阱吗 谢谢 我不太确定你的结论 阻力最小的路径是提取权重并手动重新实现NN 事实上是这样的。在我看来,你想在Android移动应用程序中使用经过培训的模型。我个人对此不太了解,但我相信有一些有效的方法可以做到这一点 但是,
谢谢 我不太确定你的结论 阻力最小的路径是提取权重并手动重新实现NN 事实上是这样的。在我看来,你想在Android移动应用程序中使用经过培训的模型。我个人对此不太了解,但我相信有一些有效的方法可以做到这一点 但是,假设您确实需要提取权重,有多种方法可以做到这一点 一种直接的方法是使用Tensorflows低级API实现您想要的确切网络,而不是使用罐装
DNNRegressor
类(顺便说一句,该类已被弃用)。这听起来可能有点不必要的复杂,但实际上很容易,而且好处是你可以完全控制
获取所有可训练变量的一般方法是使用Tensorflows方法
或者也许可以帮助你
就陷阱而言,我真的不相信有任何陷阱。在一天结束的时候,你只是储存了一堆浮子。您可能应该确保使用适当的文件格式(如hdf5)和足够的浮点精度。tf.estimator.DNNRegressor是否已弃用?不,对不起,这是对的。我不知道他们只是移动了它并保留了相同的名称,我个人目前不使用高级API。不幸的是,tensorflow light(android移动方式)仍然会产生垃圾,不适合实时java。事实证明,使用您提供的链接提取权重和偏差并在Java中重新实现无垃圾版本是非常直接的。谢谢你的帮助!