Skip to content

Commit f704424

Browse files
committed
extend DummyDatasetMultipleDataKeys
1 parent df3e1d0 commit f704424

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

returnn/datasets/generating.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

760789
class DummyDatasetMultipleDataKeys(DummyDataset):
761790
"""

0 commit comments

Comments
 (0)