我正在使用Tensorflow作为火车自己模型的诗人指南。我创建了retrained_graph.pb和retrained_labels.txt。虽然我在应用程序中使用它然后我得到错误
引起:java.lang.UnsupportedOperationException:OpTranNormWithGlobalNormalization在GraphDef版本21中不可用。它已在版本9中删除。使用tf.nn.batch_normalization()。 at org.tensorflow.Graph.importGraphDef(Native Method)org.tensorflow.Graph.importGraphDef(Graph.java:118)
在应用程序的进一步训练模型之后使用Tensorflow for mobile博客并创建optimized_graph.pb,rounded_graph.pb,mmapped_graph.pb文件。
optimized_graph.pb和rounded_graph.pb文件在android应用程序中工作,没有任何错误。 使用mmapped_graph.pb时,我收到初始化失败的错误:java.io.IOException:不是有效的TensorFlow图形序列化:无效的GraphDef
使用optimize_graph.pb和rounded_graph.pb文件时应用程序的性能不佳。应用程序相机屏幕不包含任何花卉照片,否则随机花卉名称显示具有高置信度。任何方式只检测花朵,并在不开花时保持空白。 Screenshot
答案 0 :(得分:2)
应用程序的性能非常好,并且在手机的gpu上非常快。问题是你如何建立自己的模型。事实上,此应用程序的张量流图是为了根据您给出的类识别图像而构建的。换句话说,例如,如果您教授模型识别4个不同类别的图像,它会尝试标记它在这4个类中看到的所有内容。 因此,当相机屏幕上没有鲜花时,您会得到错误的结果。
解决问题的方法"这个问题是添加一个带有随机图像的额外类,这可能会对没有流动的照片有很高的信心。
如果您想要更严格的模型,则必须使用完全不同的算法。
但请记住,在应用程序中使用的可能是计算机图像识别技术的最新状态