Сценарий retrain.py, описанный в Как переопределить классификатор изображений для новых категорий был запущен как
python retrain.py --tfhub_module https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/2 --image_dir /tmp/test
и выдает выходной файл /tmp/output_graph.pb. Преобразование этого с
/tmp/output_graph.pb
tensorflowjs_converter --input_format=tf_saved_model --output_format=tfjs_graph_model /tmp/output_graph.pb /tmp/model
не удалось с
IOError: Файл SavedModel не существует по адресу: /tmp/output_graph.pb/ enjsaved_model.pbtxt|saved_model.pb rout*11015
Если файл output_graph.pb переименован в saved_model.pb ( с помощью @ edkeveked ), ошибка изменится на
output_graph.pb
saved_model.pb
RuntimeError: MetaGraphDef, связанный с тегами 'serve', не найден в SavedModel. Чтобы проверить доступные наборы тегов в SavedModel, используйте CLI SavedModel: saved_model_cli
saved_model_cli
saved_model_cli show --dir . сообщает о пустом наборе тегов.
saved_model_cli show --dir .
Как это можно исправить?
Путь ввода - это путь к папке, а не к файлу.Учтите следующее:
tensorflowjs_converter --input_format=tf_saved_model --output_format=tfjs_graph_model /tmp /tmp/model
Как подсказал @Ping Yu в Обнаружение изображения Retrain с MobileNet , вы можете использовать
python retrain.py --tfhub_module https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/2 \ --image_dir /tmp/flower_photos --saved_model_dir /tmp/saved_retrained_model tensorflowjs_converter --input_format=tf_saved_model \ --output_format=tfjs_graph_model \ --saved_model_tags=serve \ /tmp/saved_retrained_model/ /tmp/converted_model/
Сохраняет модель, используя сохраненный формат модели.