首页 文章

Tensorflow重新训练模型性能

提问于
浏览
2

我正在使用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)at org.tensorflow.Graph.importGraphDef(Graph.java:118)

之后,应用程序的进一步训练模型使用Tensorflow for mobile博客并创建optimized_graph.pb,rounded_graph.pb,mmapped_graph.pb文件 .

optimize_graph.pb和rounded_graph.pb文件在android应用程序中工作,没有任何错误 . 使用mmapped_graph.pb时,我收到初始化失败的错误:java.io.IOException:不是有效的TensorFlow图形序列化:无效的GraphDef

使用optimize_graph.pb和rounded_graph.pb文件时,应用程序的性能不佳 . 虽然应用程序相机屏幕不包含任何花卉照片,否则随机花卉名称显示具有高置信度 . 任何方式只检测花朵,并在不开花时保持空白 . Screenshot

1 回答

  • 2

    应用程序的性能非常好,并且在手机的gpu上非常快 . 问题是你如何 Build 自己的模型 . 实际上,此应用程序的张量流图是为了根据您提供给它的类来识别图像而构建的 . 换句话说,例如,如果您教授模型识别4种不同类别的图像,它会尝试标记它在这4个类中看到的所有内容 . 因此,当相机屏幕不包含鲜花时,您会得到错误的结果 .

    一种“解决”这个问题的方法是添加一个带有随机图像的额外类,这可能会对无流量照片有很高的信心 .

    如果您想要更严格的模型,则必须使用完全不同的算法 .

    但请记住,在应用程序中使用的可能是计算机图像识别的最新技术

相关问题