Невозможно преобразовать модель keras в слои tfjs с помощью tenorflowjs_converter - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь использовать tenorflowjs в первый раз наряду с реакцией для создания веб-приложения, я обучил свою модель с использованием keras и сохранил свои веса в формате файла hdf5 и ссылаюсь на эту ссылку здесь - https://www.tensorflow.org/js/guide/conversion

$ tensorflowjs_converter --input_format=keras /tmp/model.h5 /tmp/tfjs_model

Это то, что я пытался, но потом я получаю ошибки.

  1. Первоначально получил эту ошибку, приведенную здесь ( add_to_collection не был найден при использовании tenorflowjs_converter ) Я решил ее, установив другую версию tenorflowjj v0.6.4

  2. Теперь, когда я установил tenorflowjs v0.6.4, я получаю еще одну ошибку, описанную ниже:

gaganganapathyas:~ codhek$ tensorflowjs_converter --input_format=keras /tmp/model.h5 /tmp/tfjs_model
Using TensorFlow backend.
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/tensorflowjs_converter", line 6, in <module>
    from tensorflowjs.converters.converter import main
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflowjs/__init__.py", line 21, in <module>
    from tensorflowjs import converters
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflowjs/converters/__init__.py", line 24, in <module>
    from tensorflowjs.converters.tf_saved_model_conversion import convert_tf_saved_model
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflowjs/converters/tf_saved_model_conversion.py", line 34, in <module>
    import tensorflow_hub as hub
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow_hub/__init__.py", line 25, in <module>
    from tensorflow_hub.feature_column import image_embedding_column
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow_hub/feature_column.py", line 25, in <module>
    from tensorflow_hub import module
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow_hub/module.py", line 23, in <module>
    from tensorflow_hub import native_module
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow_hub/native_module.py", line 26, in <module>
    from tensorflow_hub import compressed_module_resolver
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow_hub/compressed_module_resolver.py", line 35, in <module>
    from tensorflow_hub import resolver
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow_hub/resolver.py", line 34, in <module>
    FLAGS = tf.flags.FLAGS
AttributeError: 'module' object has no attribute 'flags'

Даже пытался добавить абсолютный путь вместе с вышеуказанной командой, но не сработало:

/Library/Frameworks/Python.framework/Versions/2.7/bin/tensorflowjs_converter --input_format=keras /tmp/weights.model /tmp/tfjs_model

Вот ссылка на мою модель keras cnn: https://www.kaggle.com/codhek/cnn-using-keras-using-csv-accuracy-99-82

Имеют ли значение model.save_weights() и model.save() разницу?

Кроме того, если я сохраню .json версию моей модели, могу ли я загрузить ее непосредственно в мое приложение js?

1 Ответ

1 голос
/ 25 мая 2019

Это сработало, когда вы используете tensorflow v0.6.4 с keras v2.1.6, хотя установка keras может дать вам предупреждение, что

ERROR: tensorflowjs 0.6.4 has requirement keras==2.2.2, but you'll have keras 2.1.6 which is incompatible.

Это потому, что tensorflow v0.6.4 нужно keras==2.2.2, но тогда keras-preprocessing версия не совпадает!

...