【问题标题】:Frozen Graph To Tflite Conversion Error -> ValueError - provide an input shape for input array 'wav data'Frozen Graph To Tflite Conversion Error -> ValueError - 为输入数组“wav data”提供输入形状
【发布时间】:2019-10-13 01:50:03
【问题描述】:

我按照 Tensorflow github-repo 中给出的语音命令分类代码为 Urban Sound Dataset 训练了一个自定义分类器。冻结图已成功创建。但是当我尝试使用TFLiteConverter 将其转换为 Tflite 时,如下所示

converter = tf.lite.TFLiteConverter.from_frozen_graph('five_words.pb', ['wav_data'], ['labels_softmax'], {"wav_data" :None})
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

它给出了以下错误

ValueError                                Traceback (most recent call last)
<ipython-input-30-fc0e59056dc1> in <module>()
----> 1 tflite_model = converter.convert()
      2 open("converted_model.tflite", "wb").write(tflite_model)

/usr/local/lib/python3.6/dist-packages/tensorflow_core/lite/python/lite.py in convert(self)
    887         if not shape:
    888           raise ValueError("Provide an input shape for input array "
--> 889                            "'{0}'.".format(_get_tensor_name(tensor)))
    890         # Note that shape_list might be empty for scalar shapes.
    891         shape_list = shape.as_list()

ValueError: Provide an input shape for input array 'wav_data'.

图形结构:


我作为输入提供的数据对于每个单词有 5 个文件夹,每个文件夹包含 100 个音频 文件,所以我的输入张量的形状是什么,即'wav_data'

【问题讨论】:

    标签: python tensorflow deep-learning speech-recognition tensor


    【解决方案1】:

    由于错误跟踪表明您需要提供输入数组“wav_data”的形状。您检查 wav_data 的形状并将 None 替换为数组。

    例如converter = tf.lite.TFLiteConverter.from_frozen_graph('five_words.pb', ['wav_data'], ['labels_softmax'], {"wav_data" :None})可以是converter = tf.lite.TFLiteConverter.from_frozen_graph('five_words.pb', ['wav_data'], ['labels_softmax'], {"wav_data" :[1,160,160,3]})

    【讨论】:

      猜你喜欢
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      • 2018-12-28
      • 1970-01-01
      • 2016-11-14
      • 2018-06-30
      相关资源
      最近更新 更多