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".
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".