Skip to content

Instantly share code, notes, and snippets.

@robin-p-schmitt
Last active December 3, 2021 10:36
Show Gist options
  • Save robin-p-schmitt/d59570c322891fcbb49bc0a7d6944562 to your computer and use it in GitHub Desktop.
Save robin-p-schmitt/d59570c322891fcbb49bc0a7d6944562 to your computer and use it in GitHub Desktop.
ReinterpretDataLayer: beam information of new DimensionTag is not set correctly
layer <network via test_concat_new_dim_tag>/'data' output: Data{'data', [B,T|'time'[B],F|F'feature:data'(5)]}
layer <network via test_concat_new_dim_tag>/'data_new' output: Data{'data_new_output', [B,T|'new-time'[?],F|F'feature:data'(5)]}
layer <network via test_concat_new_dim_tag>/'output' output: Data{'output_output', [T|'time'[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: (#: 7)
output
output_prob
data_red
data_concat
prev_out
prev_out1
prev_out0
Unused layers: (#: 0)
None
layer <network via test_concat_new_dim_tag>/output(rec-subnet)/'prev_out0' output: Data{'prev_out0_output', [B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time'[B])}
layer <network via test_concat_new_dim_tag>/output(rec-subnet)/'prev_out1' output: Data{'prev_out1_output', [B&Beam{'output/prev:output'}(3)], ctx=loop('time'[B])}
layer <network via test_concat_new_dim_tag>/output(rec-subnet)/'prev_out' output: Data{'prev_out_output', [B&Beam{'output/prev:output'}(3),F|'prev_out_expand_dims'(1)], ctx=loop('time'[B])}
layer <network via test_concat_new_dim_tag>/output(rec-subnet)/'data_concat' output: Data{'data_concat_output', [B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'data_concat_output_feature'(6)], ctx=loop('time'[B])}
Exception creating layer <network via test_concat_new_dim_tag>/output(rec-subnet)/'data_concat' of class CopyLayer with opts:
{'_name': 'data_concat',
'_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>,
'_src_common_search_choices': <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)>,
'name': 'data_concat',
'network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>,
'output': Data{'data_concat_output', [B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'data_concat_output_feature'(6)], ctx=loop('time'[B])},
'sources': [<SelectSearchSourcesLayer 'data_new' <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)> out_type=Data{[B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>,
<ExpandDimsLayer output/'prev_out' out_type=Data{[B&Beam{'output/prev:output'}(3),F|'prev_out_expand_dims'(1)], ctx=loop('time'[B])}>]}
Exception creating layer <network via test_concat_new_dim_tag>/'output' of class RecLayer with opts:
{'_name': 'output',
'_network': <TFNetwork '<network via test_concat_new_dim_tag>' train=False search>,
'axis': DimensionTag{'time'[B]},
'n_out': <class 'returnn.util.basic.NotSpecified'>,
'name': 'output',
'network': <TFNetwork '<network via test_concat_new_dim_tag>' train=False search>,
'output': Data{'output_output', [T|'time'[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'[B],F|F'feature:data'(5)]}>],
'unit': <_SubnetworkRecCell '<network via test_concat_new_dim_tag>/output(rec-subnet)'>}
ERROR: Got exception during in-loop construction of layer 'data_concat':
AssertionError:
Template network (check out types / shapes):
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'[B])} (construction stack None)>
output_prob: <_TemplateLayer(SoftmaxLayer)(:template:softmax) output/'output_prob' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'output_prob:feature-dense'(5)], ctx=loop('time'[B])} (construction stack 'output')>
data_red: <_TemplateLayer(ReduceLayer)(:template:reduce) output/'data_red' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'data_concat_output_feature'(6)], ctx=loop('time'[B])} (construction stack 'output_prob')>
data_concat: <_TemplateLayer(CopyLayer)(:template:copy) output/'data_concat' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'data_concat_output_feature'(6)], ctx=loop('time'[B])} (construction stack 'data_red')>
prev_out: <_TemplateLayer(ExpandDimsLayer)(:template:expand_dims) output/'prev_out' out_type=Data{[B&Beam{'output/prev:output'}(3),F|'prev_out_expand_dims'(1)], ctx=loop('time'[B])} (construction stack 'data_concat')>
prev_out1: <_TemplateLayer(CastLayer)(:template:cast) output/'prev_out1' out_type=Data{[B&Beam{'output/prev:output'}(3)], ctx=loop('time'[B])} (construction stack 'prev_out')>
prev_out0: <_TemplateLayer(ReinterpretDataLayer)(:template:reinterpret_data) output/'prev_out0' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time'[B])} (construction stack 'prev_out1')>
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_TFNetworkLayer.test_concat_new_dim_tag'], _[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 0x7f9608665610>
self.parseArgs = <local> <bound method TestProgram.parseArgs of <unittest.main.TestProgram object at 0x7f9608665610>>
argv = <local> ['python -m unittest', 'test_TFNetworkLayer.test_concat_new_dim_tag'], _[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 0x7f9608665610>
self.createTests = <local> <bound method TestProgram.createTests of <unittest.main.TestProgram object at 0x7f9608665610>>
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 0x7f9608665610>
self.test = <local> !AttributeError: 'TestProgram' object has no attribute 'test'
self.testLoader = <local> <unittest.loader.TestLoader object at 0x7f96086d9040>
self.testLoader.loadTestsFromNames = <local> <bound method TestLoader.loadTestsFromNames of <unittest.loader.TestLoader object at 0x7f96086d9040>>
self.testNames = <local> ['test_TFNetworkLayer.test_concat_new_dim_tag'], _[0]: {len = 43}
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 0x7f96086d9040>
self.loadTestsFromName = <local> <bound method TestLoader.loadTestsFromName of <unittest.loader.TestLoader object at 0x7f96086d9040>>
name = <not found>
module = <local> None
names = <local> ['test_TFNetworkLayer.test_concat_new_dim_tag'], _[0]: {len = 43}
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 0x7f96086d9040>
self.loadTestsFromName = <local> <bound method TestLoader.loadTestsFromName of <unittest.loader.TestLoader object at 0x7f96086d9040>>
name = <local> 'test_TFNetworkLayer.test_concat_new_dim_tag', len = 43
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_concat_new_dim_tag at 0x7f95ce77b940>
File "/mnt/projects/i6/returnn/tests/test_TFNetworkLayer.py", line 398, in test_concat_new_dim_tag
line: net.construct_from_dict({
"data_new": {"class": "reinterpret_data", "from": "data",
"set_dim_tags": {"t": new_time_tag}
},
"output": {"class": "rec", "from": "data", "unit": {
"prev_out0": {
"class": "reinterpret_data", "from": "prev:output", "set_sparse": False},
"prev_out1": {"class": "cast", "from": "prev_out0", "dtype": "float32"},
"prev_out": {"class": "expand_dims", "from": "prev_out1", "axis": "f"},
"data_concat": {
"class": "copy", "from": ["base:data_new", "prev_out"]
},
"data_red": {"class": "reduce", "from": "data_concat", "axis": "stag:new-time", "mode": "max"},
"output_prob": {"class": "softmax", "from": "data_red", "target": "classes", "loss": "ce"},
"output": {
"class": "choice", "from": "output_prob", "beam_size": 3, "target": "classes",
"input_type": "prob", "initial_output": 0}
}}
})
locals:
net = <local> <TFNetwork '<network via test_concat_new_dim_tag>' train=False search>
net.construct_from_dict = <local> <bound method TFNetwork.construct_from_dict of <TFNetwork '<network via test_concat_new_dim_tag>' train=False search>>
new_time_tag = <local> DimensionTag{'new-time'[?]}
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 609, in TFNetwork.construct_from_dict
line: self.construct_layer(net_dict, name, get_layer=get_layer)
locals:
self = <local> <TFNetwork '<network via test_concat_new_dim_tag>' train=False search>
self.construct_layer = <local> <bound method TFNetwork.construct_layer of <TFNetwork '<network via test_concat_new_dim_tag>' train=False search>>
net_dict = <local> {'data_new': {'class': 'reinterpret_data', 'from': 'data', 'set_dim_tags': {'t': DimensionTag{'new-time'[?]}}}, 'output': {'class': 'rec', 'from': 'data', 'unit': {'prev_out0': {'class': 'reinterpret_data', 'from': 'prev:output', 'set_sparse': False}, 'prev_out1': {'class': 'cast', 'from': 'prev_...
name = <local> 'output', len = 6
get_layer = <local> None
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 935, 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_concat_new_dim_tag>' 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_concat_new_dim_tag>' train=False search>, '_name': 'output', 'n_out': <class 'returnn.util.basic.NotSpecified'>, 'sources': [<SourceLayer 'data' out_type=Data{[B,T|'time'[B],F|F'feature:data'(5)]}>], 'axis': DimensionTag{'time'[B]}, 'unit': <_SubnetworkR..., len = 6
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 1082, 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_concat_new_dim_tag>' train=False search>
self._create_layer = <local> <bound method TFNetwork._create_layer of <TFNetwork '<network via test_concat_new_dim_tag>' 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_concat_new_dim_tag>' train=False search>, '_name': 'output', 'n_out': <class 'returnn.util.basic.NotSpecified'>, 'sources': [<SourceLayer 'data' out_type=Data{[B,T|'time'[B],F|F'feature:data'(5)]}>], 'axis': DimensionTag{'time'[B]}, 'unit': <_SubnetworkR..., len = 6
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 1002, 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_concat_new_dim_tag>' train=False search>, '_name': 'output', 'n_out': <class 'returnn.util.basic.NotSpecified'>, 'sources': [<SourceLayer 'data' out_type=Data{[B,T|'time'[B],F|F'feature:data'(5)]}>], 'axis': DimensionTag{'time'[B]}, 'unit': <_SubnetworkR..., len = 9
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 250, 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'[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'[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_concat_new_dim_tag>/output(rec-subnet)'>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1037, in RecLayer._get_output_subnet_unit
line: output = cell.get_output()
locals:
output = <not found>
cell = <local> <_SubnetworkRecCell '<network via test_concat_new_dim_tag>/output(rec-subnet)'>
cell.get_output = <local> <bound method _SubnetworkRecCell.get_output of <_SubnetworkRecCell '<network via test_concat_new_dim_tag>/output(rec-subnet)'>>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 2862, 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_concat_new_dim_tag>/output(rec-subnet)'>
self._while_loop = <local> <bound method _SubnetworkRecCell._while_loop of <_SubnetworkRecCell '<network via test_concat_new_dim_tag>/output(rec-subnet)'>>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f95ce411c10>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f95ce411ca0>
loop_vars = <not found>
init_loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output/init_output_const/constant_with_shape/Mul:0' shape=(?,) dtype=int32>], [[<tf.Tensor 'output/rec/output/zeros:0' shape=(?, 1) dtype=float32>, <tf.Tensor 'output/rec/output/zeros_1:0' shape=(?, 3) dtype=int3...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])]]), [TensorShape(None), TensorShape(None)]), _[0]: {len = 0}
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 2091, 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 0x7f963be03940>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f95ce411c10>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f95ce411ca0>
loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output/init_output_const/constant_with_shape/Mul:0' shape=(?,) dtype=int32>], [[<tf.Tensor 'output/rec/output/zeros:0' shape=(?, 1) dtype=float32>, <tf.Tensor 'output/rec/output/zeros_1:0' shape=(?, 3) dtype=int3...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])]]), [TensorShape(None), TensorShape(None)]), _[0]: {len = 0}
back_prop = <not found>
self = <local> <_SubnetworkRecCell '<network via test_concat_new_dim_tag>/output(rec-subnet)'>
self.parent_rec_layer = <local> <RecLayer 'output' out_type=Data{[T|'time'[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 0x7f963be038b0>
args = <local> ()
kwargs = <local> {'cond': <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f95ce411c10>, 'body': <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f95ce411ca0>, 'loop_vars': (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output/init_output_const/constant_...
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 0x7f963be01790>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f95ce411c10>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f95ce411ca0>
loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output/init_output_const/constant_with_shape/Mul:0' shape=(?,) dtype=int32>], [[<tf.Tensor 'output/rec/output/zeros:0' shape=(?, 1) dtype=float32>, <tf.Tensor 'output/rec/output/zeros_1:0' shape=(?, 3) dtype=int3...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), 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 0x7f95ce3f6100>
loop_context.BuildLoop = <local> <bound method WhileContext.BuildLoop of <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7f95ce3f6100>>
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f95ce411c10>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f95ce411ca0>
loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output/init_output_const/constant_with_shape/Mul:0' shape=(?,) dtype=int32>], [[<tf.Tensor 'output/rec/output/zeros:0' shape=(?, 1) dtype=float32>, <tf.Tensor 'output/rec/output/zeros_1:0' shape=(?, 3) dtype=int3...
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), 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 0x7f95ce3f6100>
self._BuildLoop = <local> <bound method WhileContext._BuildLoop of <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7f95ce3f6100>>
pred = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7f95ce411c10>
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7f95ce411ca0>
original_loop_vars = <local> (<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, ([<tf.Tensor 'output/rec/output/init_output_const/constant_with_shape/Mul:0' shape=(?,) dtype=int32>], [[<tf.Tensor 'output/rec/output/zeros:0' shape=(?, 1) dtype=float32>, <tf.Tensor 'output/rec/output/zeros_1:0' shape=(?, 3) dtype=int3...
loop_vars = <local> [<tf.Tensor 'output/rec/initial_i:0' shape=() dtype=int32>, <tf.Tensor 'output/rec/output/init_output_const/constant_with_shape/Mul:0' shape=(?,) dtype=int32>, <tf.Tensor 'output/rec/output/zeros:0' shape=(?, 1) dtype=float32>, <tf.Tensor 'output/rec/output/zeros_1:0' shape=(?, 3) dtype=int32>, <..., len = 6
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), 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 0x7f95ce411ca0>
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=int32>], [[<tf.Tensor 'output/rec/while/Identity_2:0' shape=(?, ?) dtype=float32>, <tf.Tensor 'output/rec/while/Identity_3:0' shape=(?, ?) dtype=int32>]]), [<tf.TensorArr...
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 2700, 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_concat_new_dim_tag>/output(rec-subnet)'>
self._construct = <local> <bound method _SubnetworkRecCell._construct of <_SubnetworkRecCell '<network via test_concat_new_dim_tag>/output(rec-subnet)'>>
prev_outputs = <local> {'output': <tf.Tensor 'output/rec/while_loop_body/prev_outputs/identity_output:0' shape=(?,) dtype=int32>}
prev_extra = <local> {'output': {'choice_scores': <tf.Tensor 'output/rec/while_loop_body/prev_extra/identity_output_choice_scores:0' shape=(?, ?) dtype=float32>, 'choice_src_beams': <tf.Tensor 'output/rec/while_loop_body/prev_extra/identity_output_choice_src_beams:0' shape=(?, ?) dtype=int32>}}
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 1813, in _SubnetworkRecCell._construct
line: layer = get_layer(layer_name)
locals:
layer = <not found>
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
layer_name = <local> 'output', len = 6
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1781, 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_concat_new_dim_tag>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> trai...
self.net_dict = <local> {'prev_out0': {'class': 'reinterpret_data', 'from': 'prev:output', 'set_sparse': False}, 'prev_out1': {'class': 'cast', 'from': 'prev_out0', 'dtype': 'float32'}, 'prev_out': {'class': 'expand_dims', 'from': 'prev_out1', 'axis': 'f'}, 'data_concat': {'class': 'copy', 'from': ['base:data_new', 'pre..., len = 7
name = <local> 'output', len = 6
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 928, 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, 'target': ['classes'], 'input_type': 'prob', 'initial_output': 0, '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', spar..., len = 6
network = <not found>
net = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 5579, 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, 'target': ['classes'], 'input_type': 'prob', 'initial_output': 0, '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', spar..., len = 6
network = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 4991, 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, 'target': ['classes'], 'input_type': 'prob', 'initial_output': 0, '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', spar..., len = 6
network = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 562, 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, 'target': ['classes'], 'input_type': 'prob', 'initial_output': 0, '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', spar..., len = 6
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
src_name = <not found>
src_names = <local> ['output_prob'], _[0]: {len = 11}
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 563, in <listcomp>
line: get_layer(src_name)
locals:
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
src_name = <local> 'output_prob', len = 11
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1781, 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_concat_new_dim_tag>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> trai...
self.net_dict = <local> {'prev_out0': {'class': 'reinterpret_data', 'from': 'prev:output', 'set_sparse': False}, 'prev_out1': {'class': 'cast', 'from': 'prev_out0', 'dtype': 'float32'}, 'prev_out': {'class': 'expand_dims', 'from': 'prev_out1', 'axis': 'f'}, 'data_concat': {'class': 'copy', 'from': ['base:data_new', 'pre..., len = 7
name = <local> 'output_prob', len = 11
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 928, 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.SoftmaxLayer'>
layer_class.transform_config_dict = <local> <bound method LayerBase.transform_config_dict of <class 'returnn.tf.layers.basic.SoftmaxLayer'>>
layer_desc = <local> {'target': 'classes', 'loss': 'ce', '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}>...
network = <not found>
net = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 562, 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> {'target': 'classes', 'loss': 'ce', '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}>...
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
src_name = <not found>
src_names = <local> ['data_red'], _[0]: {len = 8}
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 563, in <listcomp>
line: get_layer(src_name)
locals:
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
src_name = <local> 'data_red', len = 8
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1781, 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_concat_new_dim_tag>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> trai...
self.net_dict = <local> {'prev_out0': {'class': 'reinterpret_data', 'from': 'prev:output', 'set_sparse': False}, 'prev_out1': {'class': 'cast', 'from': 'prev_out0', 'dtype': 'float32'}, 'prev_out': {'class': 'expand_dims', 'from': 'prev_out1', 'axis': 'f'}, 'data_concat': {'class': 'copy', 'from': ['base:data_new', 'pre..., len = 7
name = <local> 'data_red', len = 8
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 928, 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.ReduceLayer'>
layer_class.transform_config_dict = <local> <bound method LayerBase.transform_config_dict of <class 'returnn.tf.layers.basic.ReduceLayer'>>
layer_desc = <local> {'axis': 'stag:new-time', 'mode': 'max', '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(...
network = <not found>
net = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 562, 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> {'axis': 'stag:new-time', 'mode': 'max', '_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(...
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
src_name = <not found>
src_names = <local> ['data_concat'], _[0]: {len = 11}
File "/mnt/projects/i6/returnn/returnn/tf/layers/base.py", line 563, in <listcomp>
line: get_layer(src_name)
locals:
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
src_name = <local> 'data_concat', len = 11
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1781, 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_concat_new_dim_tag>/output(rec-subnet)'>
self.net = <local> <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[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_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> trai...
self.net_dict = <local> {'prev_out0': {'class': 'reinterpret_data', 'from': 'prev:output', 'set_sparse': False}, 'prev_out1': {'class': 'cast', 'from': 'prev_out0', 'dtype': 'float32'}, 'prev_out': {'class': 'expand_dims', 'from': 'prev_out1', 'axis': 'f'}, 'data_concat': {'class': 'copy', 'from': ['base:data_new', 'pre..., len = 7
name = <local> 'data_concat', len = 11
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7f95ce411b80>
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 935, 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_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=Fals...
name = <local> 'data_concat', len = 11
name_with_prefix = <local> 'data_concat', len = 11
layer_class = <local> <class 'returnn.tf.layers.basic.CopyLayer'>
layer_desc = <local> {'_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>, '_name': 'dat...
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 1082, 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_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>
self._create_layer = <local> <bound method TFNetwork._create_layer of <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=...
name = <local> 'data_concat', len = 11
layer_class = <local> <class 'returnn.tf.layers.basic.CopyLayer'>
layer_desc = <local> {'_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>, '_name': 'dat...
File "/mnt/projects/i6/returnn/returnn/tf/network.py", line 1002, in TFNetwork._create_layer
line: layer = layer_class(**layer_desc)
locals:
layer = <not found>
layer_class = <local> <class 'returnn.tf.layers.basic.CopyLayer'>
layer_desc = <local> {'_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>, '_name': 'dat..., len = 7
File "/mnt/projects/i6/returnn/returnn/tf/layers/basic.py", line 293, in CopyLayer.__init__
line: super(CopyLayer, self).__init__(in_dim=in_dim, out_dim=out_dim, **kwargs)
locals:
super = <builtin> <class 'super'>
CopyLayer = <global> <class 'returnn.tf.layers.basic.CopyLayer'>
self = <local> <CopyLayer output/'data_concat' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'data_concat_output_feature'(6)], ctx=loop('time'[B])}>
__init__ = <not found>
in_dim = <local> None
out_dim = <local> None
kwargs = <local> {'_network': <TFNetwork '<network via test_concat_new_dim_tag>/output(rec-subnet)' parent_layer=<RecLayer 'output' out_type=Data{[T|'time'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse_dim=DimensionTag{F'classes:sparse-dim'(5)}}> train=False search>, '_name': 'dat..., len = 7
File "/mnt/projects/i6/returnn/returnn/tf/layers/basic.py", line 265, in _ConcatInputLayer.__init__
line: self.input_data = concat_sources_with_opt_dropout(
self.sources, out_dim=in_dim,
dropout=dropout, dropout_noise_shape=dropout_noise_shape, dropout_on_forward=dropout_on_forward,
allow_broadcast_all_sources=True if out_shape else NotSpecified)
locals:
self = <local> <CopyLayer output/'data_concat' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'data_concat_output_feature'(6)], ctx=loop('time'[B])}>
self.input_data = <local> None
concat_sources_with_opt_dropout = <global> <function concat_sources_with_opt_dropout at 0x7f95cde40550>
self.sources = <local> [<SelectSearchSourcesLayer 'data_new' <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)> out_type=Data{[B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>, <ExpandDimsLayer output/'prev_out' out_type=Data{[B&Beam{'outp...
out_dim = <not found>
in_dim = <local> None
dropout = <local> 0
dropout_noise_shape = <local> None
dropout_on_forward = <local> False
allow_broadcast_all_sources = <not found>
out_shape = <local> None
NotSpecified = <global> <class 'returnn.util.basic.NotSpecified'>
File "/mnt/projects/i6/returnn/returnn/tf/layers/basic.py", line 201, in concat_sources_with_opt_dropout
line: data = concat_sources(src_layers, out_dim=out_dim, allow_broadcast_all_sources=allow_broadcast_all_sources)
locals:
data = <not found>
concat_sources = <global> <function concat_sources at 0x7f95cde40430>
src_layers = <local> [<SelectSearchSourcesLayer 'data_new' <SearchChoices owner='prev:output' beam_size=3 beam_scores=shaped:(None,None)> out_type=Data{[B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}>, <ExpandDimsLayer output/'prev_out' out_type=Data{[B&Beam{'outp...
out_dim = <local> None
allow_broadcast_all_sources = <local> <class 'returnn.util.basic.NotSpecified'>
File "/mnt/projects/i6/returnn/returnn/tf/layers/basic.py", line 126, in concat_sources
line: data.placeholder = tf.concat(
axis=data.feature_dim_axis,
values=[layer_data.placeholder for layer_data in layers_data])
locals:
data = <local> Data{'concat_data_new_prev_out', [B&Beam{'output/prev:output'}(3),T|'new-time'[B],F|F'concat_data_new_prev_out_feature'(6)]}
data.placeholder = <local> <tf.Tensor 'concat_data_new_prev_out/concat_sources/concat:0' shape=(?, 1, 6) dtype=float32>
tf = <global> <module 'tensorflow' from '/home/robin/miniconda3/envs/i6_env/lib/python3.9/site-packages/tensorflow/__init__.py'>
tf.concat = <global> <function concat at 0x7f964c7275e0>
axis = <not found>
data.feature_dim_axis = <local> 2
values = <not found>
layer_data = <not found>
layer_data.placeholder = <not found>
layers_data = <local> [Data{'data_new_output', [B&Beam{'output/prev:output'}(3),T|'new-time'[B&Beam{'output/prev:output'}(3)],F|F'feature:data'(5)]}, Data{'prev_out_output', [B&Beam{'output/prev:output'}(3),T|'prev_out_expand_dims'(1),F|F'concat_data_new_prev_out_feature_dummy_dim1'(1)], ctx=loop('time'[B])}]
File "/mnt/projects/i6/returnn/returnn/tf/util/data.py", line 3256, in Data.placeholder
line: self.sanity_check(assume_complete=False)
locals:
self = <local> Data{'concat_data_new_prev_out', [B&Beam{'output/prev:output'}(3),T|'new-time'[B],F|F'concat_data_new_prev_out_feature'(6)]}
self.sanity_check = <local> <bound method Data.sanity_check of Data{'concat_data_new_prev_out', [B&Beam{'output/prev:output'}(3),T|'new-time'[B],F|F'concat_data_new_prev_out_feature'(6)]}>
assume_complete = <not found>
File "/mnt/projects/i6/returnn/returnn/tf/util/data.py", line 1820, in Data.sanity_check
line: assert tag.batch == self.batch or self.batch.is_broadcast()
locals:
tag = <local> DimensionTag{'new-time'[B]}
tag.batch = <local> BatchInfo{B}
self = <local> Data{'concat_data_new_prev_out', [B&Beam{'output/prev:output'}(3),T|'new-time'[B],F|F'concat_data_new_prev_out_feature'(6)]}
self.batch = <local> BatchInfo{B, Beam{'output/prev:output'}(3)}
self.batch.is_broadcast = <local> <bound method BatchInfo.is_broadcast of BatchInfo{B, Beam{'output/prev:output'}(3)}>
AssertionError
network = {
"data_new": {"class": "reinterpret_data", "from": "data",
"set_dim_tags": {"t": new_time_tag}},
"output": {"class": "rec", "from": "data", "unit": {
"prev_out0": {
"class": "reinterpret_data", "from": "prev:output", "set_sparse": False},
"prev_out1": {"class": "cast", "from": "prev_out0", "dtype": "float32"},
"prev_out": {"class": "expand_dims", "from": "prev_out1", "axis": "f"},
"data_concat": {
"class": "copy", "from": ["base:data_new", "prev_out"]
},
"data_red": {"class": "reduce", "from": "data_concat", "axis": "stag:new-time", "mode": "max"},
"output_prob": {"class": "softmax", "from": "data_red", "target": "classes", "loss": "ce"},
"output": {
"class": "choice", "from": "output_prob", "beam_size": 3, "target": "classes",
"input_type": "prob", "initial_output": 0}
}}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment