Skip to content

Commit 0537846

Browse files
tomvdwThe TensorFlow Datasets Authors
authored andcommitted
Fix compatibility with Protobuf 5+ in dataset_info.py
PiperOrigin-RevId: 911328286
1 parent b916bcd commit 0537846

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

tensorflow_datasets/core/dataset_info.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -785,11 +785,16 @@ def read_from_directory(self, dataset_info_dir: epath.PathLike) -> None:
785785
if not is_defined_in_restored:
786786
continue
787787
# Otherwise, we restore the dataset_info.json value
788-
if field.type == field.TYPE_MESSAGE:
789-
field_value.MergeFrom(field_value_restored)
790-
elif field.label == field.LABEL_REPEATED:
788+
is_repeated = getattr(
789+
field,
790+
"is_repeated",
791+
getattr(field, "label", None) == getattr(field, "LABEL_REPEATED", 3),
792+
)
793+
if is_repeated:
791794
del field_value[:]
792795
field_value.extend(field_value_restored)
796+
elif field.type == field.TYPE_MESSAGE:
797+
field_value.MergeFrom(field_value_restored)
793798
else:
794799
setattr(self._info_proto, field_name, field_value_restored)
795800

0 commit comments

Comments
 (0)