MCPcopy Create free account
hub / github.com/pytorch/pytorch / get_field

Method get_field

caffe2/python/schema.py:1001–1051  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

999 return child
1000
1001 def get_field(self):
1002
1003 list_names = ['lengths', 'values']
1004 map_names = ['lengths', 'keys', 'values']
1005
1006 if len(self.children) == 0 or self.field is not None:
1007 if self.field is None:
1008 return Struct()
1009 else:
1010 return self.field
1011
1012 child_names = []
1013 for child in self.children:
1014 child_names.append(child.name)
1015
1016 if (set(child_names) == set(list_names)):
1017 for child in self.children:
1018 if child.name == 'values':
1019 values_field = child.get_field()
1020 else:
1021 lengths_field = child.get_field()
1022 self.field = List(
1023 values_field,
1024 lengths_blob=lengths_field
1025 )
1026 self.type_str = "List"
1027 return self.field
1028 elif (set(child_names) == set(map_names)):
1029 for child in self.children:
1030 if child.name == 'keys':
1031 key_field = child.get_field()
1032 elif child.name == 'values':
1033 values_field = child.get_field()
1034 else:
1035 lengths_field = child.get_field()
1036 self.field = Map(
1037 key_field,
1038 values_field,
1039 lengths_blob=lengths_field
1040 )
1041 self.type_str = "Map"
1042 return self.field
1043
1044 else:
1045 struct_fields = []
1046 for child in self.children:
1047 struct_fields.append((child.name, child.get_field()))
1048
1049 self.field = Struct(*struct_fields)
1050 self.type_str = "Struct"
1051 return self.field
1052
1053 def print_recursively(self):
1054 for child in self.children:

Callers 1

from_column_listFunction · 0.80

Calls 4

StructClass · 0.85
ListClass · 0.70
MapFunction · 0.70
appendMethod · 0.45

Tested by

no test coverage detected