带有自定义模型的 Tensorflow lite 示例 - “input_product_scale < output_scale was not true”

dv3

如何重现:
使用命令重新训练移动网络:

python tensorflow/tensorflow/examples/image_retraining/retrain.py 
—image_dir (data-pwd) 
—learning_rate=0.001 —testing_percentage=20 
—validation_percentage=20 —train_batch_size=32 
—validation_batch_size=-1 —flip_left_right True 
—random_scale=30 —random_brightness=30 
—eval_step_interval=100 —how_many_training_steps=200 
—architecture mobilenet_1.0_224_quantized —default_ranges_min=0 
—default_ranges_max=6 —std_values=224 
—mean_values=224  

mean valuesstd_values没有真正产生影响 - 尝试不同的组合。
然后我像这样转换了生成的 .pb 文件:

bazel-bin/tensorflow/contrib/lite/toco/toco --input_file=(path)/output_graph.pb --input_format=TENSORFLOW_GRAPHDEF 
--output_format=TFLITE 
--output_file=./mobilenet_quantized_224.tflite --inference_type=QUANTIZED_UINT8 
--input_type=QUANTIZED_UINT8 --input_array=Placeholder --output_array=final_result 
--input_shape=1,224,224,3
--output_array=final_result --input_shape=1,224,224,3

然后我在两个股票应用程序:iOS 简单和 Android 相机示例应用程序中替换了 tflite 模型与生成的模型。这会导致相同的错误:

错误:
安卓:

Can not allocate memory for the given inputs: 
tensorflow/contrib/lite/kernels/kernel_util.cc:34 
input_product_scale < output_scale was not true.

IOS:

/Library/Developer/CoreSimulator/Devices/10888914-22EB-4CA7-B019-F95D5A8A6F5C/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles

nnapi error: unable to open library libneuralnetworks.so
Loaded model resolved reportertensorflow/contrib/lite/kernels
/kernel_util.cc:34 input_product_scale < output_scale was not 
true.Failed to allocate tensors!(lldb) 

问题:
如何解决...错误?:)

在添加赏金时进行编辑:目标是获得有关如何重新训练模型并使其与 tensorflow lite 一起运行的解释。我知道这是非常新的,但我在文档中左右运行时遇到错误。

安德烈·亨茨

以下对您不起作用吗?

bazel-bin/tensorflow/contrib/lite/toco/toco --input_file=(path)/output_graph.pb --input_format=TENSORFLOW_GRAPHDEF --output_format=TFLITE --output_file=./mobilenet_quantized_224.tflite --inference_type=QUANTIZED_UINT8 -- input_type=QUANTIZED_UINT8 --input_array=Placeholder --output_array=final_result --input_shape=1,224,224,3 --mean_values=128 --std_values=128 --default_ranges_min=0 --default_ranges_max=6

我已经重现了您看到的错误,并且能够使用以下命令使其正常工作:

python tensorflow/tensorflow/examples/image_retraining/retrain.py \
  --image_dir /tmp/flower_photos \
  --learning_rate=0.001 \
  --testing_percentage=20 \
  --validation_percentage=20 \
  --train_batch_size=32 \
  --validation_batch_size=-1 \
  --flip_left_right True \
  --random_scale=30 \
  --random_brightness=30 \
  --eval_step_interval=100 \
  --how_many_training_steps=200 \
  --architecture mobilenet_1.0_224_quantized

bazel-bin/tensorflow/contrib/lite/toco/toco \
  --input_file=/tmp/output_graph.pb \
  --input_format=TENSORFLOW_GRAPHDEF \
  --output_format=TFLITE \
  --output_file=/tmp/mobilenet_quantized_224.tflite \
  --inference_type=QUANTIZED_UINT8 \
  --input_type=QUANTIZED_UINT8 \
  --input_array=Placeholder \
  --output_array=final_result \
  --input_shape=1,224,224,3 \
  --mean_value=128 \
  --std_value=128 \
  --default_ranges_min=0 \
  --default_ranges_max=6

让我知道这是否适合您。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TensorFlow Lite C ++ API示例进行推理

tensorflow lite 添加自定义操作

带有 NativeScript 的 Tensorflow lite

tensorflow 自定义估计器的简单示例

是否可以在 C++ 中为 TensorFlow Lite 模型实现自定义运算符,即使它已经有一个 bultin op 可用?

将ONNX模型转换为TensorFlow Lite

Tensorflow Lite模型输出错误

在 python 中加载 Tensorflow Lite 模型

如何基于模型 Tensorflow lite 进行预测?

Tensorflow Lite 模型输出比 Tensorflow 模型更大的值

带有 BaseUserManager 设置的 Django 自定义用户模型 is_active=True 不起作用

将tensorflow lite模型直接导入tensorflow/keras

在Tensorflow Lite C API中注册自定义运算符

如何使用Tensorflow的PTB模型示例?

TensorFlow:数据集的apply方法的简单自定义Transformation_func的示例实现

如何从Tensorflow.js(.json)模型转换为Tensorflow(SavedModel)或Tensorflow Lite(.tflite)模型?

从源 tflite 模型构建的 tensorflow-lite-select-tf-ops 和 tensorflow-lite AAR 找不到 org.tensorflow.lite.Interpreter

Tensorflow js VS Tensorflow Lite

在Hexagon DSP上运行Tensorflow Lite演示模型

使用 Keras Functional API 为 Tensorflow LITE 构建模型

为量化的Tensorflow Lite模型创建位图ByteBuffer

在 TensorFlow Lite 中运行 Keras 模型时的不同预测

将模型转换为Tensorflow-lite时出错

如何知道Tensorflow Lite模型的输入/输出功能信息?

如何将TensorFlow Lite模型量化为16位

如何创建可轻松转换为 TensorFlow Lite 的模型?

Android分类应用程序因Tensorflow Lite模型崩溃

我可以在Tensorflow Lite模型上获取指标吗?

如何验证从Keras转换的Tensorflow-Lite模型