@@ -63,20 +63,26 @@ def load_from_ppnlp(path, *args, **kwargs):
63
63
64
64
class DatasetTuple :
65
65
def __init__ (self , splits ):
66
- self .tuple_cls = namedtuple ('datasets' , splits )
66
+ self .identifier_map , identifiers = self ._gen_identifier_map (splits )
67
+ self .tuple_cls = namedtuple ('datasets' , identifiers )
67
68
self .tuple = self .tuple_cls (* [None for _ in splits ])
68
69
69
70
def __getitem__ (self , key ):
70
71
if isinstance (key , (int , slice )):
71
72
return self .tuple [key ]
72
73
if isinstance (key , str ):
73
- return getattr (self .tuple , key )
74
-
75
- def __repr__ (self ):
76
- return self .tuple .__repr__ ()
74
+ return getattr (self .tuple , self .identifier_map [key ])
77
75
78
76
def __setitem__ (self , key , value ):
79
- self .tuple = self .tuple ._replace (** {key : value })
77
+ self .tuple = self .tuple ._replace (** {self .identifier_map [key ]: value })
78
+
79
+ def _gen_identifier_map (self , splits ):
80
+ identifier_map = {}
81
+ identifiers = []
82
+ for i in range (len (splits )):
83
+ identifiers .append ('splits_' + str (i ))
84
+ identifier_map [splits [i ]] = 'splits_' + str (i )
85
+ return identifier_map , identifiers
80
86
81
87
def __len__ (self ):
82
88
return len (self .tuple )
0 commit comments