@@ -729,6 +729,7 @@ def __init__(self, input_dim, output_dim, num_seqs, seq_len=None,
729729    """ 
730730    if  seq_len  is  None :
731731      seq_len  =  {'data' : 10 , 'classes' : 20 }
732+     self ._seq_order  =  None   # type: typing.Optional[typing.List[int]] 
732733    super (DummyDatasetMultipleSequenceLength , self ).__init__ (
733734      input_dim = input_dim ,
734735      output_dim = output_dim ,
@@ -756,6 +757,34 @@ def generate_seq(self, seq_idx):
756757                           for  i  in  range (i1 , i2 )])
757758    return  DatasetSeq (seq_idx = seq_idx , features = features , targets = targets )
758759
760+   def  get_all_tags (self ):
761+     """ 
762+     :rtype: list[str] 
763+     """ 
764+     return  ["seq-%i"  %  i  for  i  in  range (self ._num_seqs )]
765+ 
766+   def  init_seq_order (self , epoch = None , seq_list = None , seq_order = None ):
767+     """ 
768+     If random_shuffle_epoch1, for epoch 1 with "random" ordering, we leave the given order as is. 
769+     Otherwise, this is mostly the default behavior. 
770+ 
771+     :param int|None epoch: 
772+     :param list[str]|None seq_list: List of sequence tags, to set a predefined order. 
773+     :param list[int]|None seq_order: List of corpus sequence indices, to set a predefined order. 
774+     :rtype: bool 
775+     :returns whether the order changed (True is always safe to return) 
776+     """ 
777+     super (DummyDatasetMultipleSequenceLength , self ).init_seq_order (epoch = epoch , seq_list = seq_list , seq_order = seq_order )
778+ 
779+     def  get_seq_len (i ):
780+       return  self .seq_len ['data' ]
781+ 
782+     self ._seq_order  =  self .get_seq_order_for_epoch (epoch , self ._num_seqs , get_seq_len = get_seq_len )
783+     self ._num_seqs  =  len (self ._seq_order )
784+ 
785+   def  get_current_seq_order (self ):
786+     return  self ._seq_order 
787+ 
759788
760789class  DummyDatasetMultipleDataKeys (DummyDataset ):
761790  """ 
0 commit comments