From e0012b9191e327050e118b8bd3a84f08a55b4fcc Mon Sep 17 00:00:00 2001 From: Albert Zeyer Date: Sun, 29 Aug 2021 16:48:27 +0200 Subject: [PATCH 1/5] gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ee8953246..b8d97235c 100644 --- a/.gitignore +++ b/.gitignore @@ -24,8 +24,8 @@ ipython-kernel-*.json /dist /_setup_info_generated.py -# via test cases run directly in this directory -/dataset_id* +# via test cases run directly in this directory, or maybe in the tests dir +dataset_id* # via GitHub codespaces /pythonenv* From 371e031655f25e19ed47829c30a4c94a94ee654c Mon Sep 17 00:00:00 2001 From: Albert Zeyer Date: Fri, 27 Aug 2021 11:57:07 +0200 Subject: [PATCH 2/5] get_rec_initial_extra_outputs fix doc --- returnn/tf/layers/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/returnn/tf/layers/base.py b/returnn/tf/layers/base.py index 7244c4901..ccec7a9e5 100644 --- a/returnn/tf/layers/base.py +++ b/returnn/tf/layers/base.py @@ -1461,7 +1461,7 @@ def get_rec_initial_output(cls, batch_dim, name, output, rec_layer, initial_outp def get_rec_initial_extra_outputs(cls, batch_dim, rec_layer, **kwargs): """ :param tf.Tensor batch_dim: for this layer, might be with beam - :param TFNetworkRecLayer.RecLayer rec_layer: + :param returnn.tf.layers.rec.RecLayer rec_layer: :rtype: dict[str,tf.Tensor] """ return {} From 0c0c376e4c3efac56f0b0e6ea968d463dfb8df05 Mon Sep 17 00:00:00 2001 From: Albert Zeyer Date: Fri, 27 Aug 2021 12:17:04 +0200 Subject: [PATCH 3/5] DimensionTag, nicer short_repr --- returnn/tf/util/data.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/returnn/tf/util/data.py b/returnn/tf/util/data.py index ab05e7900..0e79b4aed 100644 --- a/returnn/tf/util/data.py +++ b/returnn/tf/util/data.py @@ -95,7 +95,7 @@ def short_repr(self): desc += "(%i)" % self.dimension else: if self.dyn_size_ext: - desc += "[%s]" % ",".join(self.dyn_size_ext.get_batch_axes_short_description()) + desc += "[%s]" % ",".join(self.dyn_size_ext.get_batch_axes_short_description(special_axes=False)) else: desc += "[?]" return desc @@ -1467,8 +1467,9 @@ def get_description(self, with_name=True, with_placeholder=False, catch_exceptio args += ["batch_shape_meta=" + batch_shape_meta] return "Data(%s)" % ", ".join(args) - def get_batch_axes_short_description(self): + def get_batch_axes_short_description(self, special_axes=True): """ + :param bool special_axes: special markers for old-style time_dim_axis and feature_dim_axis :rtype: list[str] """ res = [] @@ -1479,10 +1480,11 @@ def get_batch_axes_short_description(self): descriptions.append(self.batch.short_repr()) else: descriptions.append("B?") - if axis == self.time_dim_axis: - descriptions.append("T") - if axis == self.feature_dim_axis: - descriptions.append("F") + if special_axes: + if axis == self.time_dim_axis: + descriptions.append("T") + if axis == self.feature_dim_axis: + descriptions.append("F") if self.batch_shape[axis] is None: if axis == self.batch_dim_axis: pass # expected @@ -1490,7 +1492,7 @@ def get_batch_axes_short_description(self): descriptions.append(dim_tag.short_repr()) elif axis != self.batch_dim_axis or not self.batch: descriptions.append(dim_tag.short_repr()) - res.append("|".join(descriptions)) + res.append("|".join(descriptions) or "?") return res def get_compare_key(self): From 3339d7a9709ed77e1eece6cf77ff10154edf6a32 Mon Sep 17 00:00:00 2001 From: Albert Zeyer Date: Mon, 30 Aug 2021 11:53:31 +0200 Subject: [PATCH 4/5] TFNetwork fix doc --- returnn/tf/network.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/returnn/tf/network.py b/returnn/tf/network.py index 2330130c1..bdbf415a8 100644 --- a/returnn/tf/network.py +++ b/returnn/tf/network.py @@ -347,7 +347,7 @@ def __init__(self, config=None, extern_data=None, rnd_seed=None, inside_rec_time_dim=None, absolute_name_prefix=None, name=None): """ - :param Config.Config config: only needed to init extern_data if not specified explicitly + :param returnn.config.Config config: only needed to init extern_data if not specified explicitly :param ExternData|None extern_data: :param int|None rnd_seed: :param bool|tf.Tensor train_flag: True if we want to use this model in training, False if in eval, or dynamic From 6e96325521866b2e25c0db35b223113a01e396d4 Mon Sep 17 00:00:00 2001 From: Albert Zeyer Date: Sat, 28 Aug 2021 15:27:29 +0200 Subject: [PATCH 5/5] Rec layer template construction, better reraise --- returnn/tf/layers/rec.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/returnn/tf/layers/rec.py b/returnn/tf/layers/rec.py index 1bcedf993..af8499639 100644 --- a/returnn/tf/layers/rec.py +++ b/returnn/tf/layers/rec.py @@ -1373,7 +1373,8 @@ def __call__(lself, name, is_prev_time_frame=False): try: assert not self.layer_data_templates, "do not call this multiple times" get_templated_layer.construct("output") - assert "output" in self.layer_data_templates + if "output" not in self.layer_data_templates: + raise ConstructCtx.recent_exception assert not ConstructCtx.layers if "end" in self.net_dict: # used to specify ending of a sequence