小编Pau*_*iro的帖子

边缘TPU编译器:错误:quantized_dimension必须在[0,1)范围内。是3

我正在尝试使Mobilenetv2模型(将最后一层重新训练到我的数据中)在Google Edge TPU珊瑚上运行。

我已经按照这个教程https://www.tensorflow.org/lite/performance/post_training_quantization?hl=zh-CN进行了训练后量化。相关代码为:

...
train = tf.convert_to_tensor(np.array(train, dtype='float32'))
my_ds = tf.data.Dataset.from_tensor_slices(train).batch(1)


# POST TRAINING QUANTIZATION
def representative_dataset_gen():
    for input_value in my_ds.take(30):
        yield [input_value]

converter = tf.lite.TFLiteConverter.from_keras_model_file(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_dataset_gen
converter.target_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
tflite_quant_model = converter.convert()
Run Code Online (Sandbox Code Playgroud)

我已经成功生成了tflite量化模型,但是当我运行edgetpu_compiler时(此页面为https://coral.withgoogle.com/docs/edgetpu/compiler/#usage),我得到以下输出:

edgetpu_compiler  Notebooks/MobileNetv2_3class_visit_split_best-val- 
acc.h5.quant.tflite

Edge TPU Compiler version 2.0.258810407
INFO: Initialized TensorFlow Lite runtime.
ERROR: quantized_dimension must be in range [0, 1). Was 3.
ERROR: quantized_dimension must be in range [0, 1). Was 3.
ERROR: quantized_dimension must …
Run Code Online (Sandbox Code Playgroud)

quantization tensorflow tpu google-coral

8
推荐指数
1
解决办法
719
查看次数

标签 统计

google-coral ×1

quantization ×1

tensorflow ×1

tpu ×1