Created
November 23, 2021 07:37
-
-
Save robin-p-schmitt/fac5efca3d838f2fb265fabb6f3a78a9 to your computer and use it in GitHub Desktop.
RangeInAxisLayer: beam search bug with SliceNdLayer
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_SliceNdLayer_RangeInAxisLayer>/'data' output: Data{'data', [B,T|'time:var:extern_data:data'[B],F|F'feature:data'(5)]} | |
layer <network via test_SliceNdLayer_RangeInAxisLayer>/'output' output: Data{'output_output', [T|'time:var:extern_data:data'[B&Beam{'output/output'}(3)],B&Beam{'output/output'}(3)], dtype='int32', sparse=True, 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: (#: 1) | |
slice_range | |
Layers in loop: (#: 5) | |
slices | |
start | |
output | |
output_prob | |
slices_red | |
Unused layers: (#: 0) | |
None | |
layer <network via test_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)/'start' output: Data{'start_output', [B&Beam{'output/prev:output'}(3)], dtype='int32', sparse=True, dim=5, ctx=loop('time:var:extern_data:data'[B])} | |
layer <network via test_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)/'slices' output: Data{'slices_gather_output', [B&Beam{'output/prev:output'}(3),T|'sliced-time:slices'[?]{ctx=loop('time:var:extern_data:data'[B])},F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} | |
layer <network via test_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)/':dyn-tag-accum:1:slices' output: Data{'sliced-time:slices:dyn_size', [B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])} | |
ERROR: Got exception during in-loop construction of layer ':dyn-tag-accum:1:slices': | |
AssertionError: ("Layer <LengthLayer output/':dyn-tag-accum:1:slices' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])}> 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=True, 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')> | |
slices_red: <_TemplateLayer(ReduceLayer)(:template:reduce) output/'slices_red' out_type=Data{[B&Beam{'output/prev:output'}(3),F|F'feature:slices_red_output'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'output_prob')> | |
slices: <_TemplateLayer(SliceNdLayer)(:template:slice_nd) output/'slices' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'sliced-time:slices'[?]{ctx=loop('time:var:extern_data:data'[B])},F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])} (construction stack 'slices_red')> | |
start: <_TemplateLayer(CopyLayer)(:template:copy) output/'start' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse=True, dim=5, ctx=loop('time:var:extern_data:data'[B])} (construction stack 'slices')> | |
slice_range: <_TemplateLayer(RangeInAxisLayer)(:template:range_in_axis) output/'slice_range' out_type=Data{[T|'sliced-time:slices'[?]{ctx=loop('time:var:extern_data:data'[B])}], dtype='int32', ctx=loop('time:var:extern_data:data'[B])} (construction stack None)> | |
:dyn-tag-accum:1:slices: <_TemplateLayer(LengthLayer)(:template:length) output/':dyn-tag-accum:1:slices' out_type=Data{[B], dtype='int32', ctx=loop('time:var:extern_data:data'[B])} (construction stack None)> | |
Collected (unique) exceptions during template construction: | |
(Note that many of these can be ignored, or are expected.) | |
<returnn.tf.layers.rec._SubnetworkRecCell._construct_template.<locals>.CollectedException object at 0x7efd5849f700> | |
<returnn.tf.layers.rec._SubnetworkRecCell._construct_template.<locals>.CollectedException object at 0x7efd58820a60> | |
debug search choices: | |
base: <LengthLayer output/':dyn-tag-accum:1:slices' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])}> | |
network: | |
layer: <LengthLayer output/':dyn-tag-accum:1:slices' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])}> | |
layer: <RecStepInfoLayer output/':i' out_type=Data{[], dtype='int32'}> | |
layer: <_TemplateLayer(ChoiceLayer)(:prev:choice) output/'prev:output' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse=True, dim=5, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)> | |
layer: <SliceNdLayer output/'slices' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'sliced-time:slices'[B&Beam{'output/prev:output'}(3)]{ctx=loop('time:var:extern_data:data'[B])},F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])}> | |
layer: <CopyLayer output/'start' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse=True, dim=5, ctx=loop('time:var:extern_data:data'[B])}> | |
visit: <LengthLayer output/':dyn-tag-accum:1:slices' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])}>, search choices None | |
sources: 'output/slices' search choices None | |
visit: <SliceNdLayer output/'slices' out_type=Data{[B&Beam{'output/prev:output'}(3),T|'sliced-time:slices'[B&Beam{'output/prev:output'}(3)]{ctx=loop('time:var:extern_data:data'[B])},F|F'feature:data'(5)], ctx=loop('time:var:extern_data:data'[B])}>, search choices None | |
sources: 'data' search choices None, 'output/start' 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: <CopyLayer output/'start' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse=True, dim=5, ctx=loop('time:var:extern_data:data'[B])}>, 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=True, dim=5, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)>] | |
Full dependency map: | |
{'data': [], | |
'output/:dyn-tag-accum:1:slices': ['output/prev:output'], | |
'output/slices': ['output/prev:output'], | |
'output/start': ['output/prev:output']} | |
-> search choices: <_TemplateLayer(ChoiceLayer)(:prev:choice) output/'prev:output' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', sparse=True, dim=5, ctx=loop('time:var:extern_data:data'[B])} (construction stack None)> | |
Template network (check out types / shapes): | |
Exception creating layer <network via test_SliceNdLayer_RangeInAxisLayer>/'output' of class RecLayer with opts: | |
{'_name': 'output', | |
'_network': <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>' train=False search>, | |
'_time_dim_tag': DimensionTag{'time:var:extern_data:data'[B]}, | |
'n_out': <class 'returnn.util.basic.NotSpecified'>, | |
'name': 'output', | |
'network': <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>' 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=True, 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_SliceNdLayer_RangeInAxisLayer>/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_TFNetworkLayer.test_SliceNdLayer_RangeInAxisLayer'], _[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 0x7efd92abbfa0> | |
self.parseArgs = <local> <bound method TestProgram.parseArgs of <unittest.main.TestProgram object at 0x7efd92abbfa0>> | |
argv = <local> ['python -m unittest', 'test_TFNetworkLayer.test_SliceNdLayer_RangeInAxisLayer'], _[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 0x7efd92abbfa0> | |
self.createTests = <local> <bound method TestProgram.createTests of <unittest.main.TestProgram object at 0x7efd92abbfa0>> | |
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 0x7efd92abbfa0> | |
self.test = <local> !AttributeError: 'TestProgram' object has no attribute 'test' | |
self.testLoader = <local> <unittest.loader.TestLoader object at 0x7efd92a62f70> | |
self.testLoader.loadTestsFromNames = <local> <bound method TestLoader.loadTestsFromNames of <unittest.loader.TestLoader object at 0x7efd92a62f70>> | |
self.testNames = <local> ['test_TFNetworkLayer.test_SliceNdLayer_RangeInAxisLayer'], _[0]: {len = 54} | |
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 0x7efd92a62f70> | |
self.loadTestsFromName = <local> <bound method TestLoader.loadTestsFromName of <unittest.loader.TestLoader object at 0x7efd92a62f70>> | |
name = <not found> | |
module = <local> None | |
names = <local> ['test_TFNetworkLayer.test_SliceNdLayer_RangeInAxisLayer'], _[0]: {len = 54} | |
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 0x7efd92a62f70> | |
self.loadTestsFromName = <local> <bound method TestLoader.loadTestsFromName of <unittest.loader.TestLoader object at 0x7efd92a62f70>> | |
name = <local> 'test_TFNetworkLayer.test_SliceNdLayer_RangeInAxisLayer', len = 54 | |
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_SliceNdLayer_RangeInAxisLayer at 0x7efd587dff70> | |
File "/mnt/projects/i6/returnn/tests/test_TFNetworkLayer.py", line 3169, in test_SliceNdLayer_RangeInAxisLayer | |
line: net.construct_from_dict({ | |
"output": {"class": "rec", "from": "data", "unit": { | |
"start": {"class": "copy", "from": "prev:output"}, | |
"slices": {"class": "slice_nd", "from": "base:data", "start": "start", "size": None}, # [B,T[B],slice[B,T],D] | |
"slices_red": {"class": "reduce", "from": "slices", "axis": "dyn:-1", "mode": "max"}, # [B,T[B],D] | |
"slice_range": {"class": "range_in_axis", "from": "slices", "axis": "dyn:-1", "is_output_layer": True}, | |
"output_prob": {"class": "linear", "from": "slices_red", "activation": "softmax", "n_out": dim}, | |
"output": { | |
"class": "choice", "from": "output_prob", "beam_size": 3, "input_type": "prob", "target": "classes", | |
"initial_output": 0} | |
}} | |
}) | |
locals: | |
net = <local> <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>' train=False search> | |
net.construct_from_dict = <local> <bound method TFNetwork.construct_from_dict of <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>' train=False search>> | |
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_SliceNdLayer_RangeInAxisLayer>' train=False search> | |
self.construct_layer = <local> <bound method TFNetwork.construct_layer of <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>' train=False search>> | |
net_dict = <local> {'output': {'class': 'rec', 'from': 'data', 'unit': {'start': {'class': 'copy', 'from': 'prev:output'}, 'slices': {'class': 'slice_nd', 'from': 'base:data', 'start': 'start', 'size': None}, 'slices_red': {'class': 'reduce', 'from': 'slices', 'axis': 'dyn:-1', 'mode': 'max'}, 'slice_range': {'clas... | |
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_SliceNdLayer_RangeInAxisLayer>' 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_SliceNdLayer_RangeInAxisLayer>' 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)]}>], '_time_dim_tag': Dimen..., 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_SliceNdLayer_RangeInAxisLayer>' train=False search> | |
self._create_layer = <local> <bound method TFNetwork._create_layer of <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>' 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_SliceNdLayer_RangeInAxisLayer>' 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)]}>], '_time_dim_tag': Dimen..., 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_SliceNdLayer_RangeInAxisLayer>' 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)]}>], '_time_dim_tag': Dimen..., 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=True, 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=True, dim=5}>> | |
self.cell = <local> <_SubnetworkRecCell '<network via test_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)'> | |
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 930, in RecLayer._get_output_subnet_unit | |
line: output = cell.get_output() | |
locals: | |
output = <not found> | |
cell = <local> <_SubnetworkRecCell '<network via test_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)'> | |
cell.get_output = <local> <bound method _SubnetworkRecCell.get_output of <_SubnetworkRecCell '<network via test_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)'>> | |
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 2690, 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_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)'> | |
self._while_loop = <local> <bound method _SubnetworkRecCell._while_loop of <_SubnetworkRecCell '<network via test_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)'>> | |
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7efd58591d30> | |
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7efd58591ca0> | |
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), TensorShape(None), TensorShape(None)]), _[0]: {len = 0} | |
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1923, 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 0x7efdce3be700> | |
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7efd58591d30> | |
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7efd58591ca0> | |
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), TensorShape(None), TensorShape(None)]), _[0]: {len = 0} | |
back_prop = <not found> | |
self = <local> <_SubnetworkRecCell '<network via test_SliceNdLayer_RangeInAxisLayer>/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=True, 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 0x7efdce3be670> | |
args = <local> () | |
kwargs = <local> {'cond': <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7efd58591d30>, 'body': <function _SubnetworkRecCell.get_output.<locals>.body at 0x7efd58591ca0>, '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 0x7efdce3ba550> | |
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7efd58591d30> | |
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7efd58591ca0> | |
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), 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 0x7efd58521460> | |
loop_context.BuildLoop = <local> <bound method WhileContext.BuildLoop of <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7efd58521460>> | |
cond = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7efd58591d30> | |
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7efd58591ca0> | |
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), 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 0x7efd58521460> | |
self._BuildLoop = <local> <bound method WhileContext._BuildLoop of <tensorflow.python.ops.control_flow_ops.WhileContext object at 0x7efd58521460>> | |
pred = <local> <function _SubnetworkRecCell.get_output.<locals>.cond at 0x7efd58591d30> | |
body = <local> <function _SubnetworkRecCell.get_output.<locals>.body at 0x7efd58591ca0> | |
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 = 8 | |
shape_invariants = <local> (TensorShape([]), ([TensorShape([Dimension(None)])], [[TensorShape([Dimension(None), Dimension(None)]), TensorShape([Dimension(None), Dimension(None)])]]), [TensorShape(None), TensorShape(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 0x7efd58591ca0> | |
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 2532, 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_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)'> | |
self._construct = <local> <bound method _SubnetworkRecCell._construct of <_SubnetworkRecCell '<network via test_SliceNdLayer_RangeInAxisLayer>/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> {'slices', ':dyn-tag-accum:1:slices', 'slice_range', 'output'}, len = 4 | |
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1691, in _SubnetworkRecCell._construct | |
line: layer = get_layer(layer_name) | |
locals: | |
layer = <not found> | |
get_layer = <local> <function _SubnetworkRecCell._construct.<locals>.get_layer at 0x7efd58591dc0> | |
layer_name = <local> ':dyn-tag-accum:1:slices', len = 23 | |
File "/mnt/projects/i6/returnn/returnn/tf/layers/rec.py", line 1677, 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> <LengthLayer output/':dyn-tag-accum:1:slices' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])}> | |
layer.output = <local> Data{'sliced-time:slices:dyn_size', [B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])} | |
layer.output.beam = <local> SearchBeam(name='output/prev:output', beam_size=3) | |
layer_template = <local> <_TemplateLayer(LengthLayer)(:template:length) output/':dyn-tag-accum:1:slices' out_type=Data{[B], dtype='int32', ctx=loop('time:var:extern_data:data'[B])} (construction stack None)> | |
layer_template.output = <local> Data{':dyn-tag-accum:1:slices_length', [B], dtype='int32', 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_SliceNdLayer_RangeInAxisLayer>/output(rec-subnet)'> | |
self.net = <local> <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>/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=True, dim=5}> train=False search> | |
self.net.debug_search_choices = <local> <bound method TFNetwork.debug_search_choices of <TFNetwork '<network via test_SliceNdLayer_RangeInAxisLayer>/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=True, dim=5}... | |
AssertionError: ("Layer <LengthLayer output/':dyn-tag-accum:1:slices' out_type=Data{[B&Beam{'output/prev:output'}(3)], dtype='int32', ctx=loop('time:var:extern_data:data'[B])}> 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