Created
November 22, 2021 08:21
-
-
Save robin-p-schmitt/29e3d77d93824e7020b82158f81f266d to your computer and use it in GitHub Desktop.
MaskedComputationLayer: beam search bug inside recurrent loop
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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