Skip to content

Instantly share code, notes, and snippets.

@robin-p-schmitt
Created November 22, 2021 08:21
Show Gist options
  • Save robin-p-schmitt/29e3d77d93824e7020b82158f81f266d to your computer and use it in GitHub Desktop.
Save robin-p-schmitt/29e3d77d93824e7020b82158f81f266d to your computer and use it in GitHub Desktop.
MaskedComputationLayer: beam search bug inside recurrent loop
layer <network via test_MaskedComputationLayer_beam>/'data' output: Data{'data', [B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)]}
layer <network via test_MaskedComputationLayer_beam>/'output' output: Data{'output_output', [T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}
Rec layer 'output' (search True, train False) sub net:
Input layers moved out of loop: (#: 0)
None
Output layers moved out of loop: (#: 0)
None
Layers in loop: (#: 5)
output
output_prob
unmask
mask
output_is_not_0
Unused layers: (#: 0)
None
layer <network via test_MaskedComputationLayer_beam>/output(rec-subnet)/'mask' output: Data{'mask_output', [B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])}
debug search choices:
base: <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>
network:
layer: <RecStepInfoLayer output/':i' out_type=Data{[], dtype='int32'}>
layer: <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>
layer: <_TemplateLayer(MaskedComputationLayer)(:prev:masked_computation) output/'prev:mask' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
layer: <_TemplateLayer(ChoiceLayer)(:prev:choice) output/'prev:output' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
layer: <_TemplateLayer(CompareLayer)(:prev:compare) output/'prev:output_is_not_0' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
layer: <_TemplateLayer(UnmaskLayer)(:prev:unmask) output/'prev:unmask' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
visit: <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>, search choices None
sources: 'data' search choices None, 'output/prev:mask' search choices None, 'output/prev:output_is_not_0' search choices None, 'data' search choices None
visit: <SelectSearchSourcesLayer 'data' <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)> out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>, search choices None
sources: 'data' search choices None
visit: <SourceLayer 'data' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)]}>, search choices None
sources: None
visit: <SelectSearchSourcesLayer 'prev:mask' <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)> out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])}>, search choices None
sources: 'output/prev:mask' search choices None
visit: <_TemplateLayer(MaskedComputationLayer)(:prev:masked_computation) output/'prev:mask' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>, search choices None
sources: 'data' search choices None, 'output/prev:output_is_not_0' search choices None
visit: <_TemplateLayer(CompareLayer)(:prev:compare) output/'prev:output_is_not_0' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>, search choices None
sources: 'output/prev:output' search choices <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)>
visit: <_TemplateLayer(CompareLayer)(:template:compare) output/'output_is_not_0' out_type=Data{[B&Beam{'output/output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack 'mask')>, search choices None
sources: 'output/output' search choices <SearchChoices owner='output' beam_size=3 beam_scores=None>
visit: <_TemplateLayer(CompareLayer)(:prev:compare) output/'prev:output_is_not_0' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>, search choices None
sources: 'output/prev:output' search choices <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)>
Relevant layers:
[<_TemplateLayer(ChoiceLayer)(:prev:choice) output/'prev:output' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>]
Full dependency map:
{'data': [],
'output/mask': ['output/prev:output'],
'output/output_is_not_0': ['output/output'],
'output/prev:mask': ['output/prev:output'],
'output/prev:output_is_not_0': ['output/prev:output']}
-> search choices: <_TemplateLayer(ChoiceLayer)(:prev:choice) output/'prev:output' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
Template network (check out types / shapes):
Template network (check out types / shapes):
ERROR: Got exception during in-loop construction of layer 'mask':
AssertionError: ("Layer <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}> has buggy search choices resolution.", 'see search choices debug output')
output: <_TemplateLayer(ChoiceLayer)(:template:choice) output/'output' out_type=Data{[B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
output_prob: <_TemplateLayer(LinearLayer)(:template:linear) output/'output_prob' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'output_prob:feature-dense'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output')>
unmask: <_TemplateLayer(UnmaskLayer)(:template:unmask) output/'unmask' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output_prob')>
mask: <_TemplateLayer(MaskedComputationLayer)(:template:masked_computation) output/'mask' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'unmask')>
output_is_not_0: <_TemplateLayer(CompareLayer)(:template:compare) output/'output_is_not_0' out_type=Data{[B&Beam{'output/output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack 'mask')>
ERROR: Got exception during in-loop construction of layer 'unmask':
AssertionError: ("Layer <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}> has buggy search choices resolution.", 'see search choices debug output')
output: <_TemplateLayer(ChoiceLayer)(:template:choice) output/'output' out_type=Data{[B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
output_prob: <_TemplateLayer(LinearLayer)(:template:linear) output/'output_prob' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'output_prob:feature-dense'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output')>
unmask: <_TemplateLayer(UnmaskLayer)(:template:unmask) output/'unmask' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output_prob')>
mask: <_TemplateLayer(MaskedComputationLayer)(:template:masked_computation) output/'mask' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'unmask')>
output_is_not_0: <_TemplateLayer(CompareLayer)(:template:compare) output/'output_is_not_0' out_type=Data{[B&Beam{'output/output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack 'mask')>
ERROR: Got exception during in-loop construction of layer 'output_prob':
AssertionError: ("Layer <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}> has buggy search choices resolution.", 'see search choices debug output')
output: <_TemplateLayer(ChoiceLayer)(:template:choice) output/'output' out_type=Data{[B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
output_prob: <_TemplateLayer(LinearLayer)(:template:linear) output/'output_prob' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'output_prob:feature-dense'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output')>
unmask: <_TemplateLayer(UnmaskLayer)(:template:unmask) output/'unmask' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output_prob')>
mask: <_TemplateLayer(MaskedComputationLayer)(:template:masked_computation) output/'mask' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'unmask')>
Template network (check out types / shapes):
output_is_not_0: <_TemplateLayer(CompareLayer)(:template:compare) output/'output_is_not_0' out_type=Data{[B&Beam{'output/output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack 'mask')>
Template network (check out types / shapes):
Exception creating layer <network via test_MaskedComputationLayer_beam>/'output' of class RecLayer with opts:
ERROR: Got exception during in-loop construction of layer 'output':
AssertionError: ("Layer <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}> has buggy search choices resolution.", 'see search choices debug output')
output: <_TemplateLayer(ChoiceLayer)(:template:choice) output/'output' out_type=Data{[B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>
output_prob: <_TemplateLayer(LinearLayer)(:template:linear) output/'output_prob' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'output_prob:feature-dense'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output')>
unmask: <_TemplateLayer(UnmaskLayer)(:template:unmask) output/'unmask' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output_prob')>
mask: <_TemplateLayer(MaskedComputationLayer)(:template:masked_computation) output/'mask' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'unmask')>
output_is_not_0: <_TemplateLayer(CompareLayer)(:template:compare) output/'output_is_not_0' out_type=Data{[B&Beam{'output/output'}(3)], dtype='bool', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}, ctx=loop('time:var:extern_data:data'[B])} (construction stack 'mask')>
{'_name': 'output',
'_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>,
'axis': DimensionTag{'time:var:extern_data:data'[B]},
'n_out': <class 'returnn.util.basic.NotSpecified'>,
'name': 'output',
'network': <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>,
'output': Data{'output_output', [T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}},
'sources': [<SourceLayer 'data' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)]}>],
'unit': <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>}
EXCEPTION
Traceback (most recent call last):
File "/home/robin/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/212.4746.96/plugins/python/helpers/pycharm/_jb_unittest_runner.py", line 35, in <module>
line: sys.exit(main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING))
locals:
sys = <local> <module 'sys' (built-in)>
sys.exit = <local> <built-in function exit>
main = <local> <class 'unittest.main.TestProgram'>
argv = <not found>
args = <local> ['python -m unittest', 'test_TFNetworkRecLayer.test_MaskedComputationLayer_beam'], _[0]: {len = 18}
module = <not found>
testRunner = <not found>
unittestpy = <local> <module 'teamcity.unittestpy' from '/home/robin/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/212.4746.96/plugins/python/helpers/pycharm/teamcity/unittestpy.py'>
unittestpy.TeamcityTestRunner = <local> <class 'teamcity.unittestpy.TeamcityTestRunner'>
buffer = <not found>
JB_DISABLE_BUFFERING = <local> False
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/unittest/main.py", line 100, in TestProgram.__init__
line: self.parseArgs(argv)
locals:
self = <local> <unittest.main.TestProgram object at 0x7f90fccf9fa0>
self.parseArgs = <local> <bound method TestProgram.parseArgs of <unittest.main.TestProgram object at 0x7f90fccf9fa0>>
argv = <local> ['python -m unittest', 'test_TFNetworkRecLayer.test_MaskedComputationLayer_beam'], _[0]: {len = 18}
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/unittest/main.py", line 147, in TestProgram.parseArgs
line: self.createTests()
locals:
self = <local> <unittest.main.TestProgram object at 0x7f90fccf9fa0>
self.createTests = <local> <bound method TestProgram.createTests of <unittest.main.TestProgram object at 0x7f90fccf9fa0>>
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/unittest/main.py", line 158, in TestProgram.createTests
line: self.test = self.testLoader.loadTestsFromNames(self.testNames,
self.module)
locals:
self = <local> <unittest.main.TestProgram object at 0x7f90fccf9fa0>
self.test = <local> !AttributeError: 'TestProgram' object has no attribute 'test'
self.testLoader = <local> <unittest.loader.TestLoader object at 0x7f90fcca0f70>
self.testLoader.loadTestsFromNames = <local> <bound method TestLoader.loadTestsFromNames of <unittest.loader.TestLoader object at 0x7f90fcca0f70>>
self.testNames = <local> ['test_TFNetworkRecLayer.test_MaskedComputationLayer_beam'], _[0]: {len = 55}
self.module = <local> None
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/unittest/loader.py", line 220, in TestLoader.loadTestsFromNames
line: suites = [self.loadTestsFromName(name, module) for name in names]
locals:
suites = <not found>
self = <local> <unittest.loader.TestLoader object at 0x7f90fcca0f70>
self.loadTestsFromName = <local> <bound method TestLoader.loadTestsFromName of <unittest.loader.TestLoader object at 0x7f90fcca0f70>>
name = <not found>
module = <local> None
names = <local> ['test_TFNetworkRecLayer.test_MaskedComputationLayer_beam'], _[0]: {len = 55}
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/unittest/loader.py", line 220, in <listcomp>
line: suites = [self.loadTestsFromName(name, module) for name in names]
locals:
suites = <not found>
self = <local> <unittest.loader.TestLoader object at 0x7f90fcca0f70>
self.loadTestsFromName = <local> <bound method TestLoader.loadTestsFromName of <unittest.loader.TestLoader object at 0x7f90fcca0f70>>
name = <local> 'test_TFNetworkRecLayer.test_MaskedComputationLayer_beam', len = 55
module = <local> None
names = <not found>
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/unittest/loader.py", line 205, in TestLoader.loadTestsFromName
line: test = obj()
locals:
test = <not found>
obj = <local> <function test_MaskedComputationLayer_beam at 0x7f90c2b7ddc0>
File "/mnt/projects/i6/returnn/tests/test_TFNetworkRecLayer.py", line 5413, in test_MaskedComputationLayer_beam
line: net.construct_from_dict({
"output": {"class": "rec", "from": "data", "unit": {
"mask": {
"class": "masked_computation", "mask": "prev:output_is_not_0", "from": "base:data",
"unit": {"class": "copy", "from": "data"}},
"unmask": {"class": "unmask", "from": "mask", "mask": "prev:output_is_not_0"},
"output_prob": {"class": "linear", "from": "unmask", "activation": "softmax", "n_out": dim},
"output": {
"class": "choice", "from": "output_prob", "beam_size": 3, "input_type": "prob", "target": "classes",
"initial_output": 0},
"output_is_not_0": {
"class": "compare", "from": "output", "value": 0, "kind": "not_equal",
"initial_output": True},
}}
})
locals:
net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>
net.construct_from_dict = <local> <bound method TFNetwork.construct_from_dict of <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>>
dim = <local> 5
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 607, in TFNetwork.construct_from_dict
line: self.construct_layer(net_dict, name, get_layer=get_layer)
locals:
self = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>
self.construct_layer = <local> <bound method TFNetwork.construct_layer of <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>>
net_dict = <local> {'output': {'class': 'rec', 'from': 'data', 'unit': {'mask': {'class': 'masked_computation', 'mask': 'prev:output_is_not_0', 'from': 'base:data', 'unit': {'class': 'copy', 'from': 'data'}}, 'unmask': {'class': 'unmask', 'from': 'mask', 'mask': 'prev:output_is_not_0'}, 'output_prob': {'class': 'li...
name = <local> 'output', len = 6
get_layer = <local> None
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 933, in TFNetwork.construct_layer
line: return add_layer(name=name_with_prefix, layer_class=layer_class, **layer_desc)
locals:
add_layer = <local> <bound method TFNetwork.add_layer of <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>>
name = <local> 'output', len = 6
name_with_prefix = <local> 'output', len = 6
layer_class = <local> <class 'returnn.tf.layers.rec.RecLayer'>
layer_desc = <local> {'_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>, '_name': 'output', 'n_out': <class 'returnn.util.basic.NotSpecified'>, 'sources': [<SourceLayer 'data' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)]}>], 'axis': DimensionTag{'ti..., len = 6
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 1080, in TFNetwork.add_layer
line: layer = self._create_layer(name=name, layer_class=layer_class, **layer_desc)
locals:
layer = <not found>
self = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>
self._create_layer = <local> <bound method TFNetwork._create_layer of <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>>
name = <local> 'output', len = 6
layer_class = <local> <class 'returnn.tf.layers.rec.RecLayer'>
layer_desc = <local> {'_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>, '_name': 'output', 'n_out': <class 'returnn.util.basic.NotSpecified'>, 'sources': [<SourceLayer 'data' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)]}>], 'axis': DimensionTag{'ti..., len = 6
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 1000, in TFNetwork._create_layer
line: layer = layer_class(**layer_desc)
locals:
layer = <not found>
layer_class = <local> <class 'returnn.tf.layers.rec.RecLayer'>
layer_desc = <local> {'_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>' train=False search>, '_name': 'output', 'n_out': <class 'returnn.util.basic.NotSpecified'>, 'sources': [<SourceLayer 'data' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)]}>], 'axis': DimensionTag{'ti..., len = 9
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 239, in RecLayer.__init__
line: y = self._get_output_subnet_unit(self.cell)
locals:
y = <not found>
self = <local> <RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}>
self._get_output_subnet_unit = <local> <bound method RecLayer._get_output_subnet_unit of <RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}>>
self.cell = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 934, in RecLayer._get_output_subnet_unit
line: output = cell.get_output()
locals:
output = <not found>
cell = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
cell.get_output = <local> <bound method _SubnetworkRecCell.get_output of <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 2756, in _SubnetworkRecCell.get_output
line: final_loop_vars = self._while_loop(
cond=cond,
body=body,
loop_vars=init_loop_vars,
shape_invariants=shape_invariants)
locals:
final_loop_vars = <not found>
self = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
self._while_loop = <local> <bound method _SubnetworkRecCell._while_loop of <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f90b864e040>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f90b863eee0>
loop_vars = <not found>
init_loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output_is_not_0/init_output_is_not_0_const/constant_with_shape/LogicalAnd:0' shape=(?,) dtype=bool>], [[<tf.Tensor 'output/rec/mask/mask/init_mask_zeros:0' shape=(?, 1, 5) dtype=float32>], [<tf.Tensor 'output/rec...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None), Dimension(5)])], [TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])], [TensorShape([Dimension(None)])]]), [TensorShape(None), TensorShape(None)]), _[0]: {len = 0}
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1985, in _SubnetworkRecCell._while_loop
line: return tf.while_loop(
cond=cond,
body=body,
loop_vars=loop_vars,
shape_invariants=shape_invariants,
back_prop=self.parent_rec_layer.back_prop)
locals:
tf = <global> <module 'tensorflow' from '/home/robin/miniconda3/envs/i6_env/lib/python3.9/site-packages/tensorflow/__init__.py'>
tf.while_loop = <global> <function while_loop_v2 at 0x7f91303a6a60>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f90b864e040>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f90b863eee0>
loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output_is_not_0/init_output_is_not_0_const/constant_with_shape/LogicalAnd:0' shape=(?,) dtype=bool>], [[<tf.Tensor 'output/rec/mask/mask/init_mask_zeros:0' shape=(?, 1, 5) dtype=float32>], [<tf.Tensor 'output/rec...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None), Dimension(5)])], [TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])], [TensorShape([Dimension(None)])]]), [TensorShape(None), TensorShape(None)]), _[0]: {len = 0}
back_prop = <not found>
self = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
self.parent_rec_layer = <local> <RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}>
self.parent_rec_layer.back_prop = <local> False
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/site-packages/tensorflow/python/util/deprecation.py", line 602, in while_loop_v2
line: return func(*args, **kwargs)
locals:
func = <local> <function while_loop_v2 at 0x7f91303a69d0>
args = <local> ()
kwargs = <local> {'cond': <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f90b864e040>, 'body': <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f90b863eee0>, 'loop_vars': (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output_is_not_0/init_output_is_not...
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2531, in while_loop_v2
line: return while_loop(
cond=cond,
body=body,
loop_vars=loop_vars,
shape_invariants=shape_invariants,
parallel_iterations=parallel_iterations,
back_prop=back_prop,
swap_memory=swap_memory,
name=name,
maximum_iterations=maximum_iterations,
return_same_structure=True)
locals:
while_loop = <global> <function while_loop at 0x7f91303a28b0>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f90b864e040>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f90b863eee0>
loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output_is_not_0/init_output_is_not_0_const/constant_with_shape/LogicalAnd:0' shape=(?,) dtype=bool>], [[<tf.Tensor 'output/rec/mask/mask/init_mask_zeros:0' shape=(?, 1, 5) dtype=float32>], [<tf.Tensor 'output/rec...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None), Dimension(5)])], [TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])], [TensorShape([Dimension(None)])]]), [TensorShape(None), TensorShape(None)]), _[0]: {len = 0}
parallel_iterations = <local> 10
back_prop = <local> False
swap_memory = <local> False
name = <local> None
maximum_iterations = <local> None
return_same_structure = <not found>
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2815, in while_loop
line: result = loop_context.BuildLoop(cond, body, loop_vars, shape_invariants,
return_same_structure)
locals:
result = <not found>
loop_context = <local> <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7f90c0020070>
loop_context.BuildLoop = <local> <bound method WhileContext.BuildLoop of <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7f90c0020070>>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f90b864e040>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f90b863eee0>
loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output_is_not_0/init_output_is_not_0_const/constant_with_shape/LogicalAnd:0' shape=(?,) dtype=bool>], [[<tf.Tensor 'output/rec/mask/mask/init_mask_zeros:0' shape=(?, 1, 5) dtype=float32>], [<tf.Tensor 'output/rec...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None), Dimension(5)])], [TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])], [TensorShape([Dimension(None)])]]), [TensorShape(None), TensorShape(None)]), _[0]: {len = 0}
return_same_structure = <local> True
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2297, in WhileContext.BuildLoop
line: original_body_result, exit_vars = self._BuildLoop(
pred, body, original_loop_vars, loop_vars, shape_invariants)
locals:
original_body_result = <not found>
exit_vars = <not found>
self = <local> <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7f90c0020070>
self._BuildLoop = <local> <bound method WhileContext._BuildLoop of <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7f90c0020070>>
pred = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f90b864e040>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f90b863eee0>
original_loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output_is_not_0/init_output_is_not_0_const/constant_with_shape/LogicalAnd:0' shape=(?,) dtype=bool>], [[<tf.Tensor 'output/rec/mask/mask/init_mask_zeros:0' shape=(?, 1, 5) dtype=float32>], [<tf.Tensor 'output/rec...
loop_vars = <local> [<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, <tf.Tensor 'output/rec/output_is_not_0/init_output_is_not_0_const/constant_with_shape/LogicalAnd:0' shape=(?,) dtype=bool>, <tf.Tensor 'output/rec/mask/mask/init_mask_zeros:0' shape=(?, 1, 5) dtype=float32>, <tf.Tensor 'output/rec/output..., len = 8
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None), Dimension(5)])], [TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])], [TensorShape([Dimension(None)])]]), [TensorShape(None), TensorShape(None)]), _[0]: {len = 0}
File "/home/robin/miniconda3/envs/i6_env/lib/python3.9/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2223, in WhileContext._BuildLoop
line: body_result = body(*packed_vars_for_body)
locals:
body_result = <not found>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f90b863eee0>
packed_vars_for_body = <local> (<tf.Tensor 'output/rec/while/Identity:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/while/Identity_1:0' shape=(?,) dtype=bool>], [[<tf.Tensor 'output/rec/while/Identity_2:0' shape=(?, ?, 5) dtype=float32>], [<tf.Tensor 'output/rec/while/Identity_3:0' shape=(?, ?) dtype=float32>, <tf.Tensor ...
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 2594, in _SubnetworkRecCell.get_output.<locals>.body
line: self._construct(
prev_outputs=prev_outputs, prev_extra=prev_extra,
i=i,
data=data_,
inputs_moved_out_tas=input_layers_moved_out_tas,
needed_outputs=needed_outputs)
locals:
self = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
self._construct = <local> <bound method _SubnetworkRecCell._construct of <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>>
prev_outputs = <local> {'output_is_not_0': <tf.Tensor 'output/rec/while_loop_body/prev_outputs/identity_output_is_not_0:0' shape=(?,) dtype=bool>}
prev_extra = <local> {'mask': {'_output': <tf.Tensor 'output/rec/while_loop_body/prev_extra/identity_mask_.95.output:0' shape=(?, ?, 5) dtype=float32>}, 'output': {'choice_scores': <tf.Tensor 'output/rec/while_loop_body/prev_extra/identity_output_choice_scores:0' shape=(?, ?) dtype=float32>, 'choice_src_beams': <tf.T...
i = <local> <tf.Tensor 'output/rec/while/Identity:0' shape=() dtype=int32>
data = <not found>
data_ = <local> {'source': <tf.Tensor 'output/rec/while_loop_body/source_ta_read:0' shape=(?, 5) dtype=float32>}
inputs_moved_out_tas = <not found>
input_layers_moved_out_tas = <local> {}
needed_outputs = <local> {'output'}, len = 1
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1707, in _SubnetworkRecCell._construct
line: layer = get_layer(layer_name)
locals:
layer = <not found>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
layer_name = <local> 'output', len = 6
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1675, in _SubnetworkRecCell._construct.<locals>.get_layer
line: layer = self.net.construct_layer(self.net_dict, name=name, get_layer=get_layer)
locals:
layer = <not found>
self = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
self.net.construct_layer = <local> <bound method TFNetwork.construct_layer of <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'...
self.net_dict = <local> {'mask': {'class': 'masked_computation', 'mask': 'prev:output_is_not_0', 'from': 'base:data', 'unit': {'class': 'copy', 'from': 'data'}}, 'unmask': {'class': 'unmask', 'from': 'mask', 'mask': 'prev:output_is_not_0'}, 'output_prob': {'class': 'linear', 'from': 'unmask', 'activation': 'softmax', 'n...
name = <local> 'output', len = 6
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 926, in TFNetwork.construct_layer
line: layer_class.transform_config_dict(layer_desc, network=net, get_layer=get_layer)
locals:
layer_class = <local> <class 'returnn.tf.layers.rec.ChoiceLayer'>
layer_class.transform_config_dict = <local> <bound method ChoiceLayer.transform_config_dict of <class 'returnn.tf.layers.rec.ChoiceLayer'>>
layer_desc = <local> {'beam_size': 3, 'input_type': 'prob', 'target': ['classes'], 'initial_output': 0, '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/out..., len = 6
network = <not found>
net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 5467, in ChoiceLayer.transform_config_dict
line: super(ChoiceLayer, cls).transform_config_dict(d, network=network, get_layer=get_layer)
locals:
super = <builtin> <class 'super'>
ChoiceLayer = <global> <class 'returnn.tf.layers.rec.ChoiceLayer'>
cls = <local> <class 'returnn.tf.layers.rec.ChoiceLayer'>
transform_config_dict = <not found>
d = <local> {'beam_size': 3, 'input_type': 'prob', 'target': ['classes'], 'initial_output': 0, '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/out..., len = 6
network = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 4879, in BaseChoiceLayer.transform_config_dict
line: super(BaseChoiceLayer, cls).transform_config_dict(d, network=network, get_layer=get_layer)
locals:
super = <builtin> <class 'super'>
BaseChoiceLayer = <global> <class 'returnn.tf.layers.rec.BaseChoiceLayer'>
cls = <local> <class 'returnn.tf.layers.rec.ChoiceLayer'>
transform_config_dict = <not found>
d = <local> {'beam_size': 3, 'input_type': 'prob', 'target': ['classes'], 'initial_output': 0, '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/out..., len = 6
network = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 503, in LayerBase.transform_config_dict
line: d["sources"] = [
get_layer(src_name)
for src_name in src_names
if not src_name == "none"]
locals:
d = <local> {'beam_size': 3, 'input_type': 'prob', 'target': ['classes'], 'initial_output': 0, '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/out..., len = 6
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
src_name = <not found>
src_names = <local> ['output_prob'], _[0]: {len = 11}
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 504, in <listcomp>
line: get_layer(src_name)
locals:
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
src_name = <local> 'output_prob', len = 11
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1675, in _SubnetworkRecCell._construct.<locals>.get_layer
line: layer = self.net.construct_layer(self.net_dict, name=name, get_layer=get_layer)
locals:
layer = <not found>
self = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
self.net.construct_layer = <local> <bound method TFNetwork.construct_layer of <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'...
self.net_dict = <local> {'mask': {'class': 'masked_computation', 'mask': 'prev:output_is_not_0', 'from': 'base:data', 'unit': {'class': 'copy', 'from': 'data'}}, 'unmask': {'class': 'unmask', 'from': 'mask', 'mask': 'prev:output_is_not_0'}, 'output_prob': {'class': 'linear', 'from': 'unmask', 'activation': 'softmax', 'n...
name = <local> 'output_prob', len = 11
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 926, in TFNetwork.construct_layer
line: layer_class.transform_config_dict(layer_desc, network=net, get_layer=get_layer)
locals:
layer_class = <local> <class 'returnn.tf.layers.basic.LinearLayer'>
layer_class.transform_config_dict = <local> <bound method LayerBase.transform_config_dict of <class 'returnn.tf.layers.basic.LinearLayer'>>
layer_desc = <local> {'activation': 'softmax', 'n_out': 5, '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=Dimensio...
network = <not found>
net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 503, in LayerBase.transform_config_dict
line: d["sources"] = [
get_layer(src_name)
for src_name in src_names
if not src_name == "none"]
locals:
d = <local> {'activation': 'softmax', 'n_out': 5, '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=Dimensio...
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
src_name = <not found>
src_names = <local> ['unmask'], _[0]: {len = 6}
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 504, in <listcomp>
line: get_layer(src_name)
locals:
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
src_name = <local> 'unmask', len = 6
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1675, in _SubnetworkRecCell._construct.<locals>.get_layer
line: layer = self.net.construct_layer(self.net_dict, name=name, get_layer=get_layer)
locals:
layer = <not found>
self = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
self.net.construct_layer = <local> <bound method TFNetwork.construct_layer of <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'...
self.net_dict = <local> {'mask': {'class': 'masked_computation', 'mask': 'prev:output_is_not_0', 'from': 'base:data', 'unit': {'class': 'copy', 'from': 'data'}}, 'unmask': {'class': 'unmask', 'from': 'mask', 'mask': 'prev:output_is_not_0'}, 'output_prob': {'class': 'linear', 'from': 'unmask', 'activation': 'softmax', 'n...
name = <local> 'unmask', len = 6
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 926, in TFNetwork.construct_layer
line: layer_class.transform_config_dict(layer_desc, network=net, get_layer=get_layer)
locals:
layer_class = <local> <class 'returnn.tf.layers.rec.UnmaskLayer'>
layer_class.transform_config_dict = <local> <bound method UnmaskLayer.transform_config_dict of <class 'returnn.tf.layers.rec.UnmaskLayer'>>
layer_desc = <local> {'mask': 'prev:output_is_not_0', '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{...
network = <not found>
net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 7784, in UnmaskLayer.transform_config_dict
line: super(UnmaskLayer, cls).transform_config_dict(d, network=network, get_layer=get_layer)
locals:
super = <builtin> <class 'super'>
UnmaskLayer = <global> <class 'returnn.tf.layers.rec.UnmaskLayer'>
cls = <local> <class 'returnn.tf.layers.rec.UnmaskLayer'>
transform_config_dict = <not found>
d = <local> {'mask': 'prev:output_is_not_0', '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{...
network = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 503, in LayerBase.transform_config_dict
line: d["sources"] = [
get_layer(src_name)
for src_name in src_names
if not src_name == "none"]
locals:
d = <local> {'mask': 'prev:output_is_not_0', '_network': <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{...
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
src_name = <not found>
src_names = <local> ['mask']
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 504, in <listcomp>
line: get_layer(src_name)
locals:
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f90b86b73a0>
src_name = <local> 'mask'
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1684, in _SubnetworkRecCell._construct.<locals>.get_layer
line: assert (layer.output.beam == layer_template.output.beam and
layer_choices.beam_size == layer.output.beam.beam_size == layer_template.output.beam.beam_size), (
"Layer %r has buggy search choices resolution." % layer,
self.net.debug_search_choices(layer) or "see search choices debug output")
locals:
layer = <local> <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>
layer.output = <local> Data{'mask_output', [B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}
layer.output.beam = <local> SearchBeam(name='output/prev:output', beam_size=3)
layer_template = <local> <_TemplateLayer(MaskedComputationLayer)(:template:masked_computation) output/'mask' out_type=Data{[B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'unmask')>
layer_template.output = <local> Data{'mask_output', [B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])}
layer_template.output.beam = <local> None
layer_choices = <local> <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)>
layer_choices.beam_size = <local> 3
layer.output.beam.beam_size = <local> 3
layer_template.output.beam.beam_size = <local> !AttributeError: 'NoneType' object has no attribute 'beam_size'
self = <local> <_SubnetworkRecCell '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
self.net.debug_search_choices = <local> <bound method TFNetwork.debug_search_choices of <TFNetwork '<network via test_MaskedComputationLayer_beam>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionT...
AssertionError: ("Layer <MaskedComputationLayer output/'mask' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'time:var:extern_data:data'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}> has buggy search choices resolution.", 'see search choices debug output')
Process finished with exit code 1
Empty suite
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment