首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TensorFlowInferenceInterface返回低值

TensorFlowInferenceInterface返回低值
EN

Stack Overflow用户
提问于 2018-06-10 07:00:57
回答 1查看 61关注 0票数 0

我正在编写一个Android应用程序,它通过.pb文件使用Keras模型将叶子分类为健康或不健康。我使用TensorFlow与Android,特别是TensorFlowInferenceInterface类进行接口。引用此操作的代码如下所示:

inferenceInterface.fetch("activation_7/Sigmoid",inferenceInterface.feed("conv2d_1_input",输入,1,宽度,高度,3);inferenceInterface.run(新String[]{"activation_7/Sigmoid"});

当我使用Keras从木星笔记本运行.pb网络时,它会在通常的范围内输出值(0到1)。但是,当我使用上面的代码和完全相同的图像文件运行它时,它永远不会给出大于0.1的值,这表示非常不健康的叶子。任何输入都会有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-10 07:11:08

根据您的问题,当您在jupyter笔记本上运行时,经过培训,您得到了正确的输出,但是使用Tensorflow推理接口运行时,您得到的结果是错误的。

使用Tensorflow在Android中运行.pb,首先需要冻结所有变量(将图中所有可训练和不可训练的变量转换为常量)。

参见Tensorflow的模块来冻结协议缓冲区(.pb)

当你把它们冻结后,你需要优化这个图,通常情况下,图会有你在推理过程中不需要的大部分操作,所以你需要通过优化图来删除它们。

参见Tensorflow的模块来优化协议缓冲区

最后,在android中运行这个.pb。

如果你做了所有这些步骤,请告诉我!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50781311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档