Ошибка преобразования замороженного графика в Tflite -> ValueError - укажите форму ввода для входного массива 'wav data' - PullRequest
1 голос
/ 13 октября 2019

Я следовал коду, указанному в Tensorflow github-repo для классификации речевых команд, чтобы обучить пользовательский классификатор для Urban Sound Dataset. Замороженный график был успешно создан. Но когда я попытался преобразовать его в Tflite, используя TFLiteConverter , как указано ниже

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'.

Структура графика:Graph Structure

Данные, которые я дал в качестве входных данных, содержали 5 папок для каждого слова, и каждая папка состоит из 100 аудио файлов, поэтому какова будет форма моего входного тензорат.е. 'wav_data'

1 Ответ

0 голосов
/ 13 октября 2019

Как показывает трассировка ошибок, вам необходимо указать форму входного массива '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]})

...