Convert a @tensorflow/tfjs-converter@0.2 frozen model to @tensorflow/tfjs@3.8 version
huan opened this issue · 0 comments
huan commented
The Emoji Scavenger Hunt open-source project has a great pre-trained mode but it's a deprecated frozen model format with old @tensorflow/tfjs-convert@0.2 version.
I want to upgrade to @tensorflow/tfjs@3.8
so we need to upgrade it.
See:
Steps
1. Get a Python 2.7 environment
$ docker run --rm -ti -v $(pwd):/model ubuntu:18.04 bash
$ apt update && apt install -y python python-pip
2. Install
$ pip install tensorflowjs==0.8.5
$ tensorflowjs_converter --version
Using TensorFlow backend.
tensorflowjs 0.8.5
Dependency versions:
keras 2.2.2
tensorflow 1.13.1
3. Convert
# tensorflowjs_converter \
> --input_format=tf_frozen_model \
> --output_node_names final_result \
> ./tensorflowjs_model.pb \
> ./web
Using TensorFlow backend.
Traceback (most recent call last):
File "/usr/local/bin/tensorflowjs_converter", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/tensorflowjs/converters/converter.py", line 352, in main
strip_debug_ops=FLAGS.strip_debug_ops)
File "/usr/local/lib/python2.7/dist-packages/tensorflowjs/converters/tf_saved_model_conversion_pb.py", line 329, in convert_tf_frozen_model
graph = load_graph(frozen_model_path, output_node_names)
File "/usr/local/lib/python2.7/dist-packages/tensorflowjs/converters/tf_saved_model_conversion_pb.py", line 67, in load_graph
tf.import_graph_def(graph_def, name='')
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/importer.py", line 430, in import_graph_def
raise ValueError(str(e))
ValueError: Cannot reshape a tensor with 1001 elements to shape [0,0] (0 elements) for 'MobilenetV1/Predictions/Reshape' (op: 'Reshape') with input shapes: [1,1001], [2] and with input tensors computed as partial shapes: input[1] = [0,0].