Skip to content

Commit eb83683

Browse files
authored
[scripts] Add reduced-context option for TDNN-F layers. (#3658)
1 parent a911208 commit eb83683

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

egs/wsj/s5/steps/libs/nnet3/xconfig/composite_layers.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ def set_default_configs(self):
8080
'time-stride':1,
8181
'l2-regularize':0.0,
8282
'max-change': 0.75,
83-
'self-repair-scale': 1.0e-05}
83+
'self-repair-scale': 1.0e-05,
84+
'context': 'default'}
8485

8586
def set_derived_configs(self):
8687
pass
@@ -104,6 +105,10 @@ def check_configs(self):
104105
raise RuntimeError('bypass-scale is nonzero but output-dim != input-dim: {0} != {1}'
105106
''.format(output_dim, input_dim))
106107

108+
if not self.config['context'] in ['default', 'left-only', 'shift-left', 'none']:
109+
raise RuntimeError('context must be default, left-only shift-left or none, got {}'.format(
110+
self.config['context']))
111+
107112

108113
def output_name(self, auxiliary_output=None):
109114
assert auxiliary_output is None
@@ -142,9 +147,16 @@ def _generate_config(self):
142147
bypass_scale = self.config['bypass-scale']
143148
dropout_proportion = self.config['dropout-proportion']
144149
time_stride = self.config['time-stride']
145-
if time_stride != 0:
150+
context = self.config['context']
151+
if time_stride != 0 and context != 'none':
146152
time_offsets1 = '{0},0'.format(-time_stride)
147-
time_offsets2 = '0,{0}'.format(time_stride)
153+
if context == 'default':
154+
time_offsets2 = '0,{0}'.format(time_stride)
155+
elif context == 'shift-left':
156+
time_offsets2 = '{0},0'.format(-time_stride)
157+
else:
158+
assert context == 'left-only'
159+
time_offsets2 = '0'
148160
else:
149161
time_offsets1 = '0'
150162
time_offsets2 = '0'

0 commit comments

Comments
 (0)