doruk.sonmez
doruk.sonmez

Reputation: 437

ObjectDetecionAPI TypeError: __new__() got an unexpected keyword argument 'serialized_options'

I did everything it says at https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md and lastly updated my protoc. When i enter $ protoc --version, it throws libprotoc 3.5.1 on the terminal. But when i try to do $ python object_detection/builders/model_builder_test.py, it throws an error TypeError: _ new _() got an unexpected keyword argument 'serialized_options'. What am i doing wrong?

Upvotes: 4

Views: 19468

Answers (4)

Vincent
Vincent

Reputation: 109

Updating protobuf to 3.8 works for me.

pip install -U protobuf

Upvotes: 2

smm
smm

Reputation: 858

On python3, none of the above solution worked. So I uninstalled the existing installation using pip. Then installed again by pip3 install protobuf. Then it worked.

Upvotes: 1

shellhue
shellhue

Reputation: 569

Updating protobuf to 3.6 works for me.

pip install -U protobuf

Upvotes: 29

Peter Szoldan
Peter Szoldan

Reputation: 4868

Based on this thread in the TensorFlow repository, you should downgrade your protobuf to 3.4.0.

Upvotes: 3

Related Questions