Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有人知道如何提取tensorflow DNN累加器模型并手动评估吗?_Java_Tensorflow_Regression_Real Time - Fatal编程技术网

Java 有人知道如何提取tensorflow DNN累加器模型并手动评估吗?

Java 有人知道如何提取tensorflow DNN累加器模型并手动评估吗?,java,tensorflow,regression,real-time,Java,Tensorflow,Regression,Real Time,我试图在java实时上下文中使用DNNRegressor模型,不幸的是,这需要一个无垃圾的实现。看起来tensorflow light并没有提供无GC的实现。阻力最小的路径是提取权重并手动重新实现NN。是否有人尝试过从回归模型中提取权重并手动实现回归,如果有,您能描述一下任何陷阱吗 谢谢 我不太确定你的结论 阻力最小的路径是提取权重并手动重新实现NN 事实上是这样的。在我看来,你想在Android移动应用程序中使用经过培训的模型。我个人对此不太了解,但我相信有一些有效的方法可以做到这一点 但是,

我试图在java实时上下文中使用DNNRegressor模型,不幸的是,这需要一个无垃圾的实现。看起来tensorflow light并没有提供无GC的实现。阻力最小的路径是提取权重并手动重新实现NN。是否有人尝试过从回归模型中提取权重并手动实现回归,如果有,您能描述一下任何陷阱吗


谢谢

我不太确定你的结论

阻力最小的路径是提取权重并手动重新实现NN

事实上是这样的。在我看来,你想在Android移动应用程序中使用经过培训的模型。我个人对此不太了解,但我相信有一些有效的方法可以做到这一点

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

一种直接的方法是使用Tensorflows低级API实现您想要的确切网络,而不是使用罐装
DNNRegressor
类(顺便说一句,该类已被弃用)。这听起来可能有点不必要的复杂,但实际上很容易,而且好处是你可以完全控制

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

或者也许可以帮助你


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

tf.estimator.DNNRegressor是否已弃用?不,对不起,这是对的。我不知道他们只是移动了它并保留了相同的名称,我个人目前不使用高级API。不幸的是,tensorflow light(android移动方式)仍然会产生垃圾,不适合实时java。事实证明,使用您提供的链接提取权重和偏差并在Java中重新实现无垃圾版本是非常直接的。谢谢你的帮助!