Hi, all.
I tried to use convert-to-uff command to convert .pb file into .uff.
However, when I typed $convert-to-uff model/3/saved_model.pb
, I faced the following error message.
2020-07-24 12:54:59.419041: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.2
Loading model/3/saved_model.pb
Traceback (most recent call last):
File "/usr/local/bin/convert-to-uff", line 144, in <module>
main()
File "/usr/local/bin/convert-to-uff", line 139, in main
debug_mode=args.debug
File "/usr/lib/python3.6/dist-packages/uff/converters/tensorflow/conversion_helpers.py", line 275, in from_tensorflow_frozen_model
graphdef.ParseFromString(frozen_pb.read())
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/message.py", line 199, in ParseFromString
return self.MergeFromString(serialized)
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/python_message.py", line 1134, in MergeFromString
if self._InternalParse(serialized, 0, length) != length:
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/python_message.py", line 1201, in InternalParse
pos = field_decoder(buffer, new_pos, end, self, field_dict)
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/decoder.py", line 738, in DecodeField
if value._InternalParse(buffer, pos, new_pos) != new_pos:
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/python_message.py", line 1201, in InternalParse
pos = field_decoder(buffer, new_pos, end, self, field_dict)
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/decoder.py", line 717, in DecodeRepeatedField
if value.add()._InternalParse(buffer, pos, new_pos) != new_pos:
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/python_message.py", line 1201, in InternalParse
pos = field_decoder(buffer, new_pos, end, self, field_dict)
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/decoder.py", line 872, in DecodeMap
if submsg._InternalParse(buffer, pos, new_pos) != new_pos:
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/python_message.py", line 1188, in InternalParse
buffer, new_pos, wire_type) # pylint: disable=protected-access
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/decoder.py", line 973, in _DecodeUnknownField
(data, pos) = _DecodeUnknownFieldSet(buffer, pos)
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/decoder.py", line 952, in _DecodeUnknownFieldSet
(data, pos) = _DecodeUnknownField(buffer, pos, wire_type)
File "/usr/local/lib/python3.6/dist-packages/google/protobuf/internal/decoder.py", line 977, in _DecodeUnknownField
raise _DecodeError('Wrong wire type in tag.')
google.protobuf.message.DecodeError: Wrong wire type in tag.
The protobuf version is
Name: protobuf
Version: 3.12.2
Summary: Protocol Buffers
Home-page: https://developers.google.com/protocol-buffers/
Author: None
Author-email: None
License: 3-Clause BSD License
Location: /usr/local/lib/python3.6/dist-packages
Requires: setuptools, six
Required-by: tensorflow-metadata, tensorflow-hub, tensorflow-datasets, googleapis-common-protos, tensorflow, tensorboard, uff
The version of tensorRT is
ii graphsurgeon-tf 7.1.3-1+cuda10.2 arm64 GraphSurgeon for TensorRT package
ii libnvinfer-bin 7.1.0-1+cuda10.2 arm64 TensorRT binaries
ii libnvinfer-dev 7.1.0-1+cuda10.2 arm64 TensorRT development libraries and headers
ii libnvinfer-doc 7.1.0-1+cuda10.2 all TensorRT documentation
ii libnvinfer-plugin-dev 7.1.0-1+cuda10.2 arm64 TensorRT plugin libraries
ii libnvinfer-plugin7 7.1.0-1+cuda10.2 arm64 TensorRT plugin libraries
ii libnvinfer-samples 7.1.0-1+cuda10.2 all TensorRT samples
ii libnvinfer7 7.1.0-1+cuda10.2 arm64 TensorRT runtime libraries
ii libnvonnxparsers-dev 7.1.0-1+cuda10.2 arm64 TensorRT ONNX libraries
ii libnvonnxparsers7 7.1.0-1+cuda10.2 arm64 TensorRT ONNX libraries
ii libnvparsers-dev 7.1.0-1+cuda10.2 arm64 TensorRT parsers libraries
ii libnvparsers7 7.1.0-1+cuda10.2 arm64 TensorRT parsers libraries
ii nvidia-container-csv-tensorrt 7.1.0.16-1+cuda10.2 arm64 Jetpack TensorRT CSV file
ii python-libnvinfer 7.1.0-1+cuda10.2 arm64 Python bindings for TensorRT
ii python-libnvinfer-dev 7.1.0-1+cuda10.2 arm64 Python development package for TensorRT
ii python3-libnvinfer 7.1.0-1+cuda10.2 arm64 Python 3 bindings for TensorRT
ii python3-libnvinfer-dev 7.1.0-1+cuda10.2 arm64 Python 3 development package for TensorRT
ii tensorrt 7.1.0.16-1+cuda10.2 arm64 Meta package of TensorRT
ii uff-converter-tf 7.1.3-1+cuda10.2 arm64 UFF converter for TensorRT package
I made .pb file by using the following API.
import tensorflow_datasets as tfds
tf.disable_v2_behavior()
...
tf.saved_model.save(model, 'model/3')
Thanks in advance.