I am trying to follow steps in sources/tracker_NvDeepSORT/README to setup the Re-ID model. But I am getting the following two errors. This is after downloading the mars-small128.pb file and placing it under sources/tracker_NvDeepSORT/. Is this due to imcompatible tf version?
My environment:
•Hardware Platform: RTX 3070 Mobile
•DeepStream Version: 6.2-devel container
•TensorRT Version: 8.5.2.2
•NVIDIA GPU Driver Version (valid for GPU only): 525.105.17
In second step it specifies to install tensorflow and pyyaml by running $ pip3 install tensorflow-gpu PyYAML ,but I get the error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [18 lines of output]
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-ov42g02p/tensorflow-gpu_6e3590eaee7244b5ae23b0854e280c4c/setup.py", line 37, in <module>
raise Exception(TF_REMOVAL_WARNING)
Exception:
=========================================================
The "tensorflow-gpu" package has been removed!
Please install "tensorflow" instead.
Other than the name, the two packages have been identical
since TensorFlow 2.1, or roughly since Sep 2019. For more
information, see: pypi.org/project/tensorflow-gpu
=========================================================
[end of output]
Then I tried $ pip3 install tensorflow PyYAML and it installed tensorflow correctly. Third step specifies just to run $ python3 convert.py , but I get the following error
root@jorge-ASUS-TUF-Dash-F15-FX517ZR-FX517ZR:/opt/nvidia/deepstream/deepstream-6.2/sources/tracker_NvDeepSORT# python3 convert.py
2023-05-03 20:22:18.963157: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2023-05-03 20:22:18.986814: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Traceback (most recent call last):
File "convert.py", line 19, in <module>
import uff
File "/usr/lib/python3.8/dist-packages/uff/__init__.py", line 48, in <module>
from uff import converters, model # noqa
File "/usr/lib/python3.8/dist-packages/uff/model/__init__.py", line 48, in <module>
from . import uff_pb2 as uff_pb # noqa
File "/usr/lib/python3.8/dist-packages/uff/model/uff_pb2.py", line 33, in <module>
_descriptor.EnumValueDescriptor(
File "/usr/local/lib/python3.8/dist-packages/google/protobuf/descriptor.py", line 796, in __new__
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates