Преобразование модели Mozilla DeepSpeech для использования в тензорном потоке. js - PullRequest
2 голосов
/ 02 марта 2020

Я пытался преобразовать обученную модель Mozilla Deepspeech для использования в тензорном потоке. js, в ml5. js уровень SoundClassifier. Насколько я понимаю, Mozilla DeepSpeech использует TensorFlow. Я пытался следовать подсказкам, найденным здесь:

https://www.tensorflow.org/js/tutorials/conversion/import_saved_model

https://www.tensorflow.org/js/guide/conversion

tensorflowjs_converter --help

Я скачал модель DeepSpeech здесь:

https://github.com/mozilla/DeepSpeech/releases/download/v0.6.1/deepspeech-0.6.1-models.tar.gz

и после распаковки обнаружены следующие файлы:

lm.binary output_graph.pb output_graph.pbmm output_graph.tflite trie

Я попытался запустить такие команды, как:

tensorflowjs_converter --output_format=tfjs_graph_model --saved_model_tags=serve deep/ tensorflow.js/

и варианты для выполнения преобразования. tensorflow.js/ - это каталог, который я создал, deep/ - каталог, содержащий файлы модели DeepSpeech (которые перечислены выше.)

Я получаю сообщение об ошибке:

SavedModel file does not exist at: deep/saved_model.pb/{saved_model.pbtxt|saved_model.pb}

Я переименовал, например, от output_graph.pb до saved_model.pb.

Во-первых, я хотел бы знать, совместима ли модель DeepSpeech даже с tenorsflowjs_converter, и если да, то чего мне не хватает, чтобы получить это вещь работает.

1 Ответ

1 голос
/ 02 марта 2020

Я считаю, output_graph.pb - замороженная модель. в этом случае вам нужно будет запустить конвертер следующим образом:

tensorflowjs_converter \
    --input_format=tf_frozen_model \
    --output_node_names='logits' \
    deepspeech/output_graph.pb \
    tensorflowjs

, однако это приведет к следующей ошибке:

ValueError: Unsupported Ops in the model before optimization
BlockLSTM, Mfcc, AudioSpectrogram

операции BlockLSTM, Mfcc и AudioSpectrogram в настоящее время не поддерживаются TensorFlow. js, поэтому преобразование завершится неудачно:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...