Проблема преобразования тензорного потока сохраненных_моделей в тензорных потоков - PullRequest
0 голосов
/ 03 ноября 2019

Я хочу преобразовать обученную модель Python (.pb) в модель tensflowflow. Для этого сначала я сохранил модель с функцией estimator.export_savedmodel, затем запустил команду tensorflowjs_converter в Google Colab. Тем не менее, файл не создается для tenorflowjs. Преобразование также дает много предупреждений и заканчивается ошибкой.

Вот полный код, и, пожалуйста, запустите, чтобы увидеть полный вывод: https://colab.research.google.com/drive/19k2s8eHpQY9Trps9dyaxPp0HqHWp5qpb

В чем причинапроблема и как я могу это исправить?

Часть вывода:

Instructions for updating:
Use `tf.compat.v1.graph_util.extract_sub_graph`
Traceback (most recent call last):
  File "/usr/local/bin/tensorflowjs_converter", line 8, in <module>
    sys.exit(pip_main())
  File "/usr/local/lib/python3.6/dist-packages/tensorflowjs/converters/converter.py", line 638, in pip_main
    main([' '.join(sys.argv[1:])])
  File "/usr/local/lib/python3.6/dist-packages/tensorflowjs/converters/converter.py", line 642, in main
    convert(argv[0].split(' '))
  File "/usr/local/lib/python3.6/dist-packages/tensorflowjs/converters/converter.py", line 591, in convert
    strip_debug_ops=args.strip_debug_ops)
  File "/usr/local/lib/python3.6/dist-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py", line 435, in convert_tf_saved_model
    strip_debug_ops=strip_debug_ops)
  File "/usr/local/lib/python3.6/dist-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py", line 141, in optimize_graph
    ', '.join(unsupported))
ValueError: Unsupported Ops in the model before optimization
ParallelDynamicStitch, StringSplit, Unique, RegexReplace, DynamicPartition, StringToHashBucketFast, ParseExample, LookupTableFindV2, LookupTableSizeV2, SparseFillEmptyRows, StringJoin, AsString, SparseSegmentSqrtN, HashTableV2

Редактировать: Похоже, что это не поддерживается: https://github.com/tensorflow/tfjs/issues/2322

1 Ответ

0 голосов
/ 04 ноября 2019

Это связано с тем, что в вашей модели есть операции, которые еще не поддерживаются tenorflow.js. И кажется, что вы пропустили пропущенное имя операции в выводе, который вы вставили. Пожалуйста, не стесняйтесь обновлять вывод с отсутствующим именем или подать запрос на добавление в репозиторий tenorflow.js с более подробной информацией.

...