returnn 1.20250305.155930__py3-none-any.whl → 1.20250317.160550__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of returnn might be problematic. Click here for more details.

returnn/PKG-INFO CHANGED
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: returnn
3
- Version: 1.20250305.155930
3
+ Version: 1.20250317.160550
4
4
  Summary: The RWTH extensible training framework for universal recurrent neural networks
5
5
  Home-page: https://github.com/rwth-i6/returnn/
6
6
  Author: Albert Zeyer
@@ -1,2 +1,2 @@
1
- version = '1.20250305.155930'
2
- long_version = '1.20250305.155930+git.c6cce38'
1
+ version = '1.20250317.160550'
2
+ long_version = '1.20250317.160550+git.b173148'
@@ -294,7 +294,7 @@ class ConformerEncoder(ISeqDownsamplingEncoder):
294
294
  def __init__(
295
295
  self,
296
296
  in_dim: Dim,
297
- out_dim: Dim = Dim(512, name="conformer-enc-default-out-dim"),
297
+ out_dim: Union[Dim, int] = Dim(512, name="conformer-enc-default-out-dim"),
298
298
  *,
299
299
  num_layers: int,
300
300
  input_layer: Optional[Union[ConformerConvSubsample, ISeqDownsamplingEncoder, rf.Module, Any]],
@@ -333,6 +333,11 @@ class ConformerEncoder(ISeqDownsamplingEncoder):
333
333
  """
334
334
  super().__init__()
335
335
 
336
+ assert isinstance(in_dim, Dim)
337
+ if isinstance(out_dim, int):
338
+ out_dim = Dim(out_dim, name="conformer-enc-out-dim")
339
+ assert isinstance(out_dim, Dim)
340
+
336
341
  self.in_dim = in_dim
337
342
  self.out_dim = out_dim
338
343
  self.dropout = dropout
@@ -21,6 +21,7 @@ def mask_nested(
21
21
  s: T,
22
22
  *,
23
23
  mask: Tensor,
24
+ mask_cpu: Optional[Tensor] = None,
24
25
  mask_value: Union[T, Tensor, float, None],
25
26
  dim_map: Optional[Dict[Dim, Dim]] = None,
26
27
  allow_dim_extension: bool = True,
@@ -30,6 +31,7 @@ def mask_nested(
30
31
 
31
32
  :param s:
32
33
  :param mask:
34
+ :param mask_cpu: mask tensor for CPU. this is used e.g. for dyn dim sizes
33
35
  :param mask_value:
34
36
  :param dim_map:
35
37
  :param allow_dim_extension:
@@ -37,7 +39,7 @@ def mask_nested(
37
39
  """
38
40
  if dim_map is None:
39
41
  dim_map = {}
40
- partial_kwargs = dict(mask=mask, dim_map=dim_map, allow_dim_extension=allow_dim_extension)
42
+ partial_kwargs = dict(mask=mask, mask_cpu=mask_cpu, dim_map=dim_map, allow_dim_extension=allow_dim_extension)
41
43
  structures = [s]
42
44
  if type(s) is type(mask_value): # mask_value also same nested structure?
43
45
  tree.assert_same_structure(s, mask_value)
@@ -49,7 +51,13 @@ def mask_nested(
49
51
 
50
52
 
51
53
  def _mask_prepare_dims(
52
- s: T, mask_value: Union[T, Tensor, float, None], *, mask: Tensor, dim_map: Dict[Dim, Dim], allow_dim_extension: bool
54
+ s: T,
55
+ mask_value: Union[T, Tensor, float, None],
56
+ *,
57
+ mask: Tensor,
58
+ mask_cpu: Optional[Tensor] = None,
59
+ dim_map: Dict[Dim, Dim],
60
+ allow_dim_extension: bool,
53
61
  ) -> T:
54
62
  if isinstance(s, Dim):
55
63
  if mask_value is None:
@@ -69,6 +77,7 @@ def _mask_prepare_dims(
69
77
  new_dyn_size = _mask(
70
78
  s.get_size_tensor(),
71
79
  mask=mask,
80
+ mask_cpu=mask_cpu,
72
81
  mask_value=mask_value.get_size_tensor(),
73
82
  dim_map=dim_map,
74
83
  allow_dim_extension=allow_dim_extension,
@@ -80,11 +89,19 @@ def _mask_prepare_dims(
80
89
 
81
90
 
82
91
  def _mask(
83
- s: T, mask_value: Union[T, Tensor, float, None], *, mask: Tensor, dim_map: Dict[Dim, Dim], allow_dim_extension: bool
92
+ s: T,
93
+ mask_value: Union[T, Tensor, float, None],
94
+ *,
95
+ mask: Tensor,
96
+ mask_cpu: Optional[Tensor] = None,
97
+ dim_map: Dict[Dim, Dim],
98
+ allow_dim_extension: bool,
84
99
  ) -> T:
85
100
  if s is None:
86
101
  return s
87
102
  if isinstance(s, Tensor):
103
+ if s.device == "cpu" and mask_cpu is not None:
104
+ mask = mask_cpu
88
105
  if dim_map:
89
106
  for d in s.dims:
90
107
  if d in dim_map:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: returnn
3
- Version: 1.20250305.155930
3
+ Version: 1.20250317.160550
4
4
  Summary: The RWTH extensible training framework for universal recurrent neural networks
5
5
  Home-page: https://github.com/rwth-i6/returnn/
6
6
  Author: Albert Zeyer
@@ -1,9 +1,9 @@
1
- returnn/PKG-INFO,sha256=QrtdJEd1UUGZh5SpkBvrgoXEka1vXc8i6Gcjd7EkQ9U,5215
1
+ returnn/PKG-INFO,sha256=TV21aoMQ025cRAZICtmi0RJ_meXE0a64AGfhceYHZjI,5215
2
2
  returnn/__init__.py,sha256=biBtRsM0WZ406vShaeH-9WFoqJ8XwTbn6g0EeFJ7l8E,1012
3
3
  returnn/__main__.py,sha256=qBFbuB1yN3adgVM5pXt2-Yq9vorjRNchNPL8kDKx44M,31752
4
4
  returnn/__old_mod_loader__.py,sha256=nvsNY-xELdS_IPNkv66Q9Rmvg4dbGW0-EBRDcCmctos,7654
5
5
  returnn/__setup__.py,sha256=22kQn2fh11iPM0hLb2Fy5sLmoU1JGvmDxXRYuRgQkwU,4659
6
- returnn/_setup_info_generated.py,sha256=-Ag7t9l0Rop5Xdrb4ipMF5x6UbTBss6lGxGITzTntCA,77
6
+ returnn/_setup_info_generated.py,sha256=ArtH4g8hmYryE0Dl4mKk7JFa1Qkulave6EJ1xHrafOY,77
7
7
  returnn/config.py,sha256=3tmKhB6FnQZaNdtcYsiB61JnEY--iZ2qmJ4yq0b6tE0,29140
8
8
  returnn/forward_iface.py,sha256=A_OJiaXsX4MlXQRzST86ylyxSUZbC402PQL1REcqHjM,911
9
9
  returnn/learning_rate_control.py,sha256=ZvWryAn_tv9DhV8sh1LV3eE34Yltl3On3mYZAG4hR9s,34684
@@ -104,7 +104,7 @@ returnn/frontend/loss.py,sha256=r_qRAiFIXgXTnFuLoAhE5jsyAZYMCucRzf55XfWbkC8,7441
104
104
  returnn/frontend/math_.py,sha256=KlJxdIib8ENlid7cc4lcwHv5e21tzTjTEV8VgEDAijo,16984
105
105
  returnn/frontend/matmul.py,sha256=3QaGiZtSs9PriT40T7Vc3KnYKPgYSN4tCZytYeq9qMA,1945
106
106
  returnn/frontend/module.py,sha256=219rh5mE0CD0-NdxXLsKyhv3BNtOI9jSyiI1Rb8MOyU,10700
107
- returnn/frontend/nested.py,sha256=oDiqnyTML7ZtCxrufU4ypG0fOZ_WsZPIvfdSn1Phs6M,14698
107
+ returnn/frontend/nested.py,sha256=Hm4GT5ZI1OyWpYxv_SP5jlBztJsjGVMgtvKJnvQYa00,15068
108
108
  returnn/frontend/normalization.py,sha256=QIjXYg0C8BD2g_1lAkVO4Cara729uHC_bsQh99VsWeI,14061
109
109
  returnn/frontend/parameter.py,sha256=w6SN-uv87OyeWBt90_3UBbK0h6sftSOCxkqXPg76caY,10375
110
110
  returnn/frontend/parametrizations.py,sha256=hVbOlgm1pQAmZnAnNxq8Tk23rykr_iy3-6R1H6CwlMA,2798
@@ -138,7 +138,7 @@ returnn/frontend/decoder/__init__.py,sha256=A-koKyPVlXp_V_2bk6GKZ1Xfv4rYIcfxGMXQ
138
138
  returnn/frontend/decoder/transformer.py,sha256=GzZ-1HxDjmzM8bsW9KZn-4_W97vsnChbo_NtL-OBYJA,23179
139
139
  returnn/frontend/encoder/__init__.py,sha256=0QGLlujRIKx3zBREeShza_-xhGIxj73zbd7t-g1m-ho,17
140
140
  returnn/frontend/encoder/base.py,sha256=A759EwCYAmSi-kzXz1vaTjR2l59TvNGQlzaNdp3UOKs,2109
141
- returnn/frontend/encoder/conformer.py,sha256=YPtH0Clx2QrKOoxbtUSkYR7QiDp-EYmoOcGc_gc2ZEk,19778
141
+ returnn/frontend/encoder/conformer.py,sha256=ro0uzEzDbAyNGYN5ff0KmiDl4HOYQluu64mJxYzuy-M,19972
142
142
  returnn/frontend/encoder/conformer_v2.py,sha256=vAYdT8m2Zzg3IIZZafeccClFHU1_c9T-EgBOsHadQPA,7701
143
143
  returnn/frontend/encoder/e_branchformer.py,sha256=zEla-iXJciK7bCenlTwsPB8dXo_VPMlFm2xc3op_lPY,12278
144
144
  returnn/frontend/encoder/transformer.py,sha256=Jj0mF1D2MohOk-9sGYdsLtVW_86fwoq4pKWCdPMvPR8,11580
@@ -253,8 +253,8 @@ returnn/util/sig_proc.py,sha256=Tjz0VOAVyqu2qDCF5HZ1JjALjcFsHcNkcd96WgZeKfE,7265
253
253
  returnn/util/task_system.py,sha256=y4sMVXQ25Qd2z0rx03uOlXlkE-jbCYC1Sjfn-XlraVU,26003
254
254
  returnn/util/train_proc_manager.py,sha256=Pjht28k6uz6BNQ47uW6Gf880iyq5q4wx7P_K2tmoAM8,3266
255
255
  returnn/util/watch_memory.py,sha256=BR5P2kvBN6UI81cE0_1WAA6Hd1SByLbBaiDxvLhPOew,4213
256
- returnn-1.20250305.155930.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
257
- returnn-1.20250305.155930.dist-info/METADATA,sha256=QrtdJEd1UUGZh5SpkBvrgoXEka1vXc8i6Gcjd7EkQ9U,5215
258
- returnn-1.20250305.155930.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
259
- returnn-1.20250305.155930.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
260
- returnn-1.20250305.155930.dist-info/RECORD,,
256
+ returnn-1.20250317.160550.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
257
+ returnn-1.20250317.160550.dist-info/METADATA,sha256=TV21aoMQ025cRAZICtmi0RJ_meXE0a64AGfhceYHZjI,5215
258
+ returnn-1.20250317.160550.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
259
+ returnn-1.20250317.160550.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
260
+ returnn-1.20250317.160550.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
2
+ Generator: setuptools (75.3.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5