nicknochnack / TFODCourse

944 stars 919 forks source link

ParseError: 172:3 : Message type "object_detection.protos.TrainConfig" has no field named "fine_tune_checkpoint_version". #154

Closed JT-Studios closed 8 months ago

JT-Studios commented 8 months ago

When I try to run: config = config_util.get_configs_from_pipeline_file(files['PIPELINE_CONFIG'])

I get:


ParseError Traceback (most recent call last) Cell In[11], line 1 ----> 1 config = config_util.get_configs_from_pipeline_file(files['PIPELINE_CONFIG'])

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/object_detection/utils/config_util.py:98, in get_configs_from_pipeline_file(pipeline_config_path, config_override) 96 with tf.io.gfile.GFile(pipeline_config_path, "r") as f: 97 proto_str = f.read() ---> 98 text_format.Merge(proto_str, pipeline_config) 99 if config_override: 100 text_format.Merge(config_override, pipeline_config)

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/google/protobuf/text_format.py:719, in Merge(text, message, allow_unknown_extension, allow_field_number, descriptor_pool, allow_unknown_field) 690 def Merge(text, 691 message, 692 allow_unknown_extension=False, 693 allow_field_number=False, 694 descriptor_pool=None, 695 allow_unknown_field=False): 696 """Parses a text representation of a protocol message into a message. 697 698 Like Parse(), but allows repeated values for a non-repeated field, and uses (...) 717 ParseError: On text parsing problems. 718 """ --> 719 return MergeLines( 720 text.split(b'\n' if isinstance(text, bytes) else u'\n'), 721 message, 722 allow_unknown_extension, 723 allow_field_number, 724 descriptor_pool=descriptor_pool, 725 allow_unknown_field=allow_unknown_field)

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/google/protobuf/text_format.py:793, in MergeLines(lines, message, allow_unknown_extension, allow_field_number, descriptor_pool, allow_unknown_field) 768 """Parses a text representation of a protocol message into a message. 769 770 See Merge() for more details. (...) 787 ParseError: On text parsing problems. 788 """ 789 parser = _Parser(allow_unknown_extension, 790 allow_field_number, 791 descriptor_pool=descriptor_pool, 792 allow_unknown_field=allow_unknown_field) --> 793 return parser.MergeLines(lines, message)

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/google/protobuf/text_format.py:818, in _Parser.MergeLines(self, lines, message) 816 """Merges a text representation of a protocol message into a message.""" 817 self._allow_multiple_scalars = True --> 818 self._ParseOrMerge(lines, message) 819 return message

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/google/protobuf/text_format.py:837, in _Parser._ParseOrMerge(self, lines, message) 835 tokenizer = Tokenizer(str_lines) 836 while not tokenizer.AtEnd(): --> 837 self._MergeField(tokenizer, message)

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/google/protobuf/text_format.py:967, in _Parser._MergeField(self, tokenizer, message) 964 tokenizer.Consume(',') 966 else: --> 967 merger(tokenizer, message, field) 969 else: # Proto field is unknown. 970 assert (self.allow_unknown_extension or self.allow_unknown_field)

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/google/protobuf/text_format.py:1042, in _Parser._MergeMessageField(self, tokenizer, message, field) 1040 if tokenizer.AtEnd(): 1041 raise tokenizer.ParseErrorPreviousToken('Expected "%s".' % (end_token,)) -> 1042 self._MergeField(tokenizer, sub_message) 1044 if is_map_entry: 1045 value_cpptype = field.message_type.fields_by_name['value'].cpp_type

File ~/Desktop/Jupyter/TFODCourse/tfod/lib/python3.11/site-packages/google/protobuf/text_format.py:932, in _Parser._MergeField(self, tokenizer, message) 929 field = None 931 if not field and not self.allow_unknown_field: --> 932 raise tokenizer.ParseErrorPreviousToken( 933 'Message type "%s" has no field named "%s".' % 934 (message_descriptor.full_name, name)) 936 if field: 937 if not self._allow_multiple_scalars and field.containing_oneof: 938 # Check if there's a different field set in this oneof. 939 # Note that we ignore the case if the same field was set before, and we 940 # apply _allow_multiple_scalars to non-scalar fields as well.

ParseError: 172:3 : Message type "object_detection.protos.TrainConfig" has no field named "fine_tune_checkpoint_version".