returnn 1.20250901.123052__py3-none-any.whl → 1.20260105.192646__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.
Files changed (50) hide show
  1. returnn/PKG-INFO +2 -2
  2. returnn/_setup_info_generated.py +2 -2
  3. returnn/config.py +1 -1
  4. returnn/datasets/basic.py +29 -13
  5. returnn/datasets/distrib_files.py +61 -3
  6. returnn/datasets/generating.py +12 -21
  7. returnn/datasets/huggingface.py +434 -0
  8. returnn/datasets/lm.py +20 -0
  9. returnn/datasets/meta.py +179 -60
  10. returnn/datasets/multi_proc.py +1 -1
  11. returnn/datasets/postprocessing.py +597 -108
  12. returnn/datasets/text_dict.py +1 -1
  13. returnn/datasets/util/vocabulary.py +90 -0
  14. returnn/frontend/_backend.py +7 -0
  15. returnn/frontend/array_.py +54 -1
  16. returnn/frontend/attention.py +54 -20
  17. returnn/frontend/conv.py +273 -54
  18. returnn/frontend/decoder/transformer.py +36 -17
  19. returnn/frontend/encoder/conformer.py +1 -0
  20. returnn/frontend/encoder/transformer.py +2 -0
  21. returnn/frontend/loss.py +40 -1
  22. returnn/frontend/module.py +8 -1
  23. returnn/frontend/nested.py +9 -0
  24. returnn/native_op.cpp +80 -0
  25. returnn/sprint/cache.py +12 -13
  26. returnn/tensor/_dim_extra.py +51 -29
  27. returnn/tensor/_tensor_extra.py +6 -1
  28. returnn/tensor/utils.py +7 -4
  29. returnn/tf/frontend_layers/_backend.py +11 -2
  30. returnn/tf/frontend_low_level/_backend.py +15 -0
  31. returnn/tf/layers/basic.py +16 -38
  32. returnn/tf/native_op.py +11 -58
  33. returnn/tf/network.py +1 -1
  34. returnn/tf/util/basic.py +19 -0
  35. returnn/torch/data/returnn_dataset_wrapper.py +9 -3
  36. returnn/torch/engine.py +67 -2
  37. returnn/torch/frontend/_backend.py +119 -7
  38. returnn/torch/util/diagnose_gpu.py +65 -31
  39. returnn/torch/util/exception_helper.py +7 -1
  40. returnn/util/basic.py +6 -7
  41. returnn/util/better_exchook.py +4 -0
  42. returnn/util/collect_outputs_dict.py +79 -0
  43. returnn/util/debug.py +11 -2
  44. returnn/util/file_cache.py +42 -4
  45. returnn/util/task_system.py +1 -1
  46. {returnn-1.20250901.123052.dist-info → returnn-1.20260105.192646.dist-info}/METADATA +2 -2
  47. {returnn-1.20250901.123052.dist-info → returnn-1.20260105.192646.dist-info}/RECORD +50 -48
  48. {returnn-1.20250901.123052.dist-info → returnn-1.20260105.192646.dist-info}/LICENSE +0 -0
  49. {returnn-1.20250901.123052.dist-info → returnn-1.20260105.192646.dist-info}/WHEEL +0 -0
  50. {returnn-1.20250901.123052.dist-info → returnn-1.20260105.192646.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,7 @@ See https://github.com/rwth-i6/returnn/issues/1519 for initial discussion.
9
9
  Main class is :class:`FileCache`.
10
10
  """
11
11
 
12
+ from __future__ import annotations
12
13
  from typing import Any, Collection, Dict, Iterable, List, Optional, Tuple, Union
13
14
  import errno
14
15
  import os
@@ -143,12 +144,12 @@ class FileCache:
143
144
  filenames = [filenames]
144
145
  self._touch_files_thread.files_remove(fn_ for fn in filenames for fn_ in [fn, self._get_info_filename(fn)])
145
146
 
146
- def cleanup(self, *, need_at_least_free_space_size: int = 0):
147
+ def cleanup(self, *, need_at_least_free_space_size: int = 0) -> CleanupResult:
147
148
  """
148
149
  Cleanup cache directory.
149
150
  """
150
151
  if not os.path.exists(self.cache_directory):
151
- return
152
+ return CleanupResult(abort_reason="cache directory does not exist")
152
153
  disk_usage = shutil.disk_usage(self.cache_directory)
153
154
  want_free_space_size = max(
154
155
  int(self._cleanup_disk_usage_wanted_multiplier * need_at_least_free_space_size),
@@ -164,7 +165,13 @@ class FileCache:
164
165
  cur_time = time.time()
165
166
  # If we have enough free space, and we did a full cleanup recently, we don't need to do anything.
166
167
  if want_free_space_size <= disk_usage.free and cur_time - last_full_cleanup < 60 * 10:
167
- return
168
+ return CleanupResult(
169
+ abort_reason=(
170
+ f"enough free space"
171
+ f" ({human_bytes_size(want_free_space_size)} < {human_bytes_size(disk_usage.free)})"
172
+ f" and recent cleanup ({(cur_time - last_full_cleanup) / 60:.1f} minutes ago)"
173
+ )
174
+ )
168
175
  # immediately update the file's timestamp to reduce racyness between worker processes
169
176
  # Path().touch() also creates the file if it doesn't exist yet
170
177
  pathlib.Path(cleanup_timestamp_file).touch(exist_ok=True)
@@ -319,6 +326,8 @@ class FileCache:
319
326
  except Exception as exc:
320
327
  print(f"FileCache: Error while removing empty dir {root}: {type(exc).__name__}: {exc}")
321
328
 
329
+ return CleanupResult(freed=cur_expected_free - disk_usage.free)
330
+
322
331
  def handle_cached_files_in_config(self, config: Any) -> Tuple[Any, List[str]]:
323
332
  """
324
333
  :param config: some config, e.g. dict, or any nested structure
@@ -417,7 +426,21 @@ class FileCache:
417
426
  orig_mtime_ns = os.stat(src_filename).st_mtime_ns
418
427
  FileInfo(mtime_ns=orig_mtime_ns).save(info_file_name)
419
428
 
420
- _copy_with_prealloc(src_filename, dst_tmp_filename)
429
+ try:
430
+ _copy_with_prealloc(src_filename, dst_tmp_filename)
431
+ except Exception:
432
+ # Cleanup if it was created already.
433
+ # That avoids some of the ambiguity of the existence of the .copy file.
434
+ # https://github.com/rwth-i6/returnn/issues/1785
435
+ try:
436
+ os.remove(dst_tmp_filename)
437
+ except FileNotFoundError:
438
+ pass
439
+ try:
440
+ os.remove(info_file_name)
441
+ except FileNotFoundError: # not really expected here, but safe to ignore
442
+ pass
443
+ raise
421
444
  os.rename(dst_tmp_filename, dst_filename)
422
445
 
423
446
  @staticmethod
@@ -445,6 +468,21 @@ class FileCache:
445
468
  return True
446
469
 
447
470
 
471
+ class CleanupResult:
472
+ """
473
+ Result from :func:`FileCache.cleanup`.
474
+ """
475
+
476
+ def __init__(self, *, freed: int = 0, abort_reason: Optional[str] = None):
477
+ self.freed = freed
478
+ self.abort_reason = abort_reason
479
+
480
+ def __repr__(self):
481
+ if self.abort_reason:
482
+ return f"CleanupResult(abort_reason={self.abort_reason})"
483
+ return f"CleanupResult(freed={human_bytes_size(self.freed)})"
484
+
485
+
448
486
  def get_instance(config: Optional[Config] = None) -> FileCache:
449
487
  """
450
488
  Returns a file cache instance potentially initialized by the global config.
@@ -671,7 +671,7 @@ class Pickler(_BasePickler):
671
671
  return
672
672
  # For some reason, Numpy fromstring/tostring is faster than Numpy loads/dumps.
673
673
  self.save(make_numpy_ndarray_fromstring)
674
- self.save((obj.tostring(), str(obj.dtype), obj.shape))
674
+ self.save((obj.tobytes(), str(obj.dtype), obj.shape))
675
675
  self.write(pickle.REDUCE)
676
676
 
677
677
  dispatch[numpy.ndarray] = save_ndarray
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: returnn
3
- Version: 1.20250901.123052
3
+ Version: 1.20260105.192646
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
@@ -36,7 +36,7 @@ Welcome to RETURNN
36
36
  `RETURNN paper 2018 <https://arxiv.org/abs/1805.05225>`_.
37
37
 
38
38
  RETURNN - RWTH extensible training framework for universal recurrent neural networks,
39
- is a Theano/TensorFlow-based implementation of modern recurrent neural network architectures.
39
+ is a PyTorch/TensorFlow-based implementation of modern recurrent neural network architectures.
40
40
  It is optimized for fast and reliable training of recurrent neural networks in a multi-GPU environment.
41
41
 
42
42
  The high-level features and goals of RETURNN are:
@@ -1,40 +1,41 @@
1
- returnn/PKG-INFO,sha256=Q09xg2cVnIca0qB_AWTi80jbjkBE5s6htDNdfNeEOYk,5215
1
+ returnn/PKG-INFO,sha256=jqFiOkEQgJcdKNaO9ISAulL31UxmgD3XbysYERiHCp0,5216
2
2
  returnn/__init__.py,sha256=biBtRsM0WZ406vShaeH-9WFoqJ8XwTbn6g0EeFJ7l8E,1012
3
3
  returnn/__main__.py,sha256=lHyZcu_0yc9f7Vf_Kfdy9PmeU0T76XVXnpalHi5WKro,31740
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=5CMSFeWeRNgH2Yb1aqfRufv6wh5xGpLR06Ad-TZ4GAA,77
7
- returnn/config.py,sha256=3tmKhB6FnQZaNdtcYsiB61JnEY--iZ2qmJ4yq0b6tE0,29140
6
+ returnn/_setup_info_generated.py,sha256=DDcUMIhrwQNitCW-h7MYuVKCTHNiUEIm4-xXNzgxHV4,77
7
+ returnn/config.py,sha256=JK8EjDsUdyY2c90s0KY1rLD1kesVfz6vRT0gxy_AQ5I,29142
8
8
  returnn/forward_iface.py,sha256=A_OJiaXsX4MlXQRzST86ylyxSUZbC402PQL1REcqHjM,911
9
9
  returnn/learning_rate_control.py,sha256=ZvWryAn_tv9DhV8sh1LV3eE34Yltl3On3mYZAG4hR9s,34684
10
10
  returnn/log.py,sha256=WoTDv4XDovgvgXa7iiav-nA8pb25lOEzndbnVrDLfUo,12319
11
- returnn/native_op.cpp,sha256=KcBoq875Jc7P9o77P_ZY0CLg_gCnbHV4KLksI_C5Yas,35760
11
+ returnn/native_op.cpp,sha256=itGDV05Nqg59g37qXAt-Z4c-rX7eDRQFY9efDPjaVlg,38613
12
12
  returnn/native_op.py,sha256=4_NnvfNxsM8GE_FsD6yOg6PZegqIdtJ3Sl1GdBWmFvg,244424
13
13
  returnn/pretrain.py,sha256=MHiXJZqkQFmDVyaYsGpd_Acv20wxl7Pr6s6qJzAT2FI,22648
14
14
  returnn/datasets/__init__.py,sha256=PvDlfDOaaopIeUIt0OSvHD2eHZkdkyE-sjMXf35EH5U,390
15
15
  returnn/datasets/audio.py,sha256=Gmj7a08dnvYh7Z-G1TNapz42L50AIcDE9JeIZaO1s1M,23334
16
- returnn/datasets/basic.py,sha256=_42fQztTZq7jNQrWdFBwulB1bNta17LOTyrD8XJ-7_E,73089
16
+ returnn/datasets/basic.py,sha256=s0Vjag5lJ5wGXKENN4KHwGtx7ZDiLdWAFIjFbiqAQsE,74159
17
17
  returnn/datasets/bundle_file.py,sha256=KQNrS1MSf-4_idlK0c0KFwON-f5sEK0sWU15WpoMYpE,2380
18
18
  returnn/datasets/cached.py,sha256=RyefRjSDdp-HveK-2vLy2C6BIHcpqQ_lNvUKlIa4QAI,25412
19
19
  returnn/datasets/cached2.py,sha256=oJOq2lWRQpxm6kyUKW1w5qZBd4kdKEpwM7KY_QnXbq4,11922
20
- returnn/datasets/distrib_files.py,sha256=MA4BuqJEyen-3aA_naS9RWOHrP3OjVjP63VeWfLWigs,30233
21
- returnn/datasets/generating.py,sha256=9U_w6URIrv-Rb-hDbPOzYW9qYXzJbw32N6G268IKyoM,99833
20
+ returnn/datasets/distrib_files.py,sha256=48edqdf7YpnPJ-TOis3Mz5U9A2DSxfiYT1HCMSti3zw,32718
21
+ returnn/datasets/generating.py,sha256=o9-JZ2s5QKssux6GcSaM3oivf_PE6nhSOeytRyGB7pQ,99574
22
22
  returnn/datasets/hdf.py,sha256=v5sjBenURR9Z-g7AQ9tsL84yDSye5RtbLpym3M6HSDE,67833
23
- returnn/datasets/lm.py,sha256=rQ3jV43lSnlGkKu7m5jTTH7aK0BOMXQocsHfJ8OGec8,99950
23
+ returnn/datasets/huggingface.py,sha256=ls9WMR6gUcMgGksl80g0An1az5Xjya_V3ojbbbsZqrU,20047
24
+ returnn/datasets/lm.py,sha256=CXl_g-Z28RWlBTzx35uC4r_GCwOP05LIsUp0iSi6JG4,100652
24
25
  returnn/datasets/map.py,sha256=kOBJVZmwDhLsOplzDNByIfa0NRSUaMo2Lsy36lBvxrM,10907
25
- returnn/datasets/meta.py,sha256=6XPPxhiNSxWw9Hu5Z6wG8dD9Zk82FqiI-k9HGQSTKgw,95658
26
- returnn/datasets/multi_proc.py,sha256=3kZNXbwfuEdQrlOaiY-XnADrQrz7QOqZIQTZUwIWuS8,22614
26
+ returnn/datasets/meta.py,sha256=hTtfwINIxP2S4JQ5IQXzvTh2MixwxzeF06pPTW36yl0,101456
27
+ returnn/datasets/multi_proc.py,sha256=BClXq0fActi1XQa4vcMhHmhYF0Q-fnnDzlIlbBM6_DM,22614
27
28
  returnn/datasets/normalization_data.py,sha256=J3njQCMvWAbIAVPepO2L_Xdau9eWYB7Zyd6STeGzTbc,14615
28
29
  returnn/datasets/numpy_dump.py,sha256=wl8bKIKAlff2HPJPtuu5wBg3TLOf16d2wLVB4lLAwTM,5158
29
- returnn/datasets/postprocessing.py,sha256=6SfT58BxbHYO2QlGzOgIV04Zqkp-kl0B85168DQaB9A,24060
30
+ returnn/datasets/postprocessing.py,sha256=Yy7rSzpB8z6PkUTZsPE_AN9Di8FPdNn617JTCV7L-VI,42453
30
31
  returnn/datasets/raw_wav.py,sha256=M7eTHp4CTtLQf3yPTiJY-mSJYgZNxkGV9IFN9J1dq_4,9144
31
32
  returnn/datasets/sprint.py,sha256=JAs5dOmdteSOwA7YQcTF9KaTCtGfRjiyJUZClSr85pY,55502
32
33
  returnn/datasets/stereo.py,sha256=PkowC91bZWihIYuIZgyGgPcNwgq5jBvyxxu1nER-VhM,17633
33
- returnn/datasets/text_dict.py,sha256=BPE73nh6-vtSLy3SiDf4dpFl9RJorE7oO6l5y2FU3MI,9965
34
+ returnn/datasets/text_dict.py,sha256=xOWwZc5xGVg2Ic1Ezbm-uEcj_i7ajxqRfPn_TihQbzc,10009
34
35
  returnn/datasets/util/__init__.py,sha256=rEKhSD6fyhDiQF-x7dUQMwa29JZu72SDm7mYcCcLghY,52
35
36
  returnn/datasets/util/feature_extraction.py,sha256=axtXDb9wcNpOmyhmW3WJUj5xda29TKkKvOcGGvq7ExA,23923
36
37
  returnn/datasets/util/strings.py,sha256=pP8pmXhArkssYqmPOLuxEG9gsko891ZxrWiai86qbLE,412
37
- returnn/datasets/util/vocabulary.py,sha256=1W13FgxPVP9XSIyhkt4I7CXK5lj99zT97R-gLa_xnAU,27964
38
+ returnn/datasets/util/vocabulary.py,sha256=994cHmRI3Yy8mHL79oCMrJITRIS9su11V2zizF5__Fo,31389
38
39
  returnn/engine/__init__.py,sha256=br7hpn8i_hIBi2uTQfnN3BF9g5DREYa_mQi0_Nvlu6o,228
39
40
  returnn/engine/base.py,sha256=0n4FtB_B2H3W_9KdoLr0P7YPER-hVkbk69pwFqsqmqw,18467
40
41
  returnn/engine/batch.py,sha256=amXW8mGspuSQjo00JdisE2eOLy5Ij1weWWzkE-lXSJM,9912
@@ -75,20 +76,20 @@ returnn/extern/graph_editor/subgraph.py,sha256=q9o0zVBLDrTIidaXg5WG5daDW0mLbwv2J
75
76
  returnn/extern/graph_editor/transform.py,sha256=qMGSenpbAnGqdG6QP6iWjlm6_ccySYJaZKOoAj1dbOM,29348
76
77
  returnn/extern/graph_editor/util.py,sha256=HfRbyQPmQ6_n5-O-096n0KeJtllQXFtaurpeJS_URZ0,18706
77
78
  returnn/frontend/__init__.py,sha256=2aS7nbxXniIrBp2DODl0xN0f3IJ_dX4Bi9ZlR7W5_DE,1472
78
- returnn/frontend/_backend.py,sha256=39l5MC1DaT0MPklMM8HXAW9nqisIIZQ9g2QSHOOtPQE,50741
79
+ returnn/frontend/_backend.py,sha256=MVZn2HSkF3tsqchYvy2QM9pA4ILdKq07kj-_AAHGUy0,50942
79
80
  returnn/frontend/_cache.py,sha256=Uao2xzfvVaKABk1fkxcpXzxKIGJaI9FwwlTvvoNUstk,8550
80
81
  returnn/frontend/_numpy_backend.py,sha256=fZjks7p3dgxVZ6tSDazTTgBxNjJqXjfqgw_7mA7rDEE,9066
81
82
  returnn/frontend/_random_journal.py,sha256=_ktP_mjgx8vtQQGX_DofdhewJj0aPiczefTWeemPkmo,5457
82
83
  returnn/frontend/_utils.py,sha256=uVQldGHyYKIyhSEmumJ04ix5eP5tjZw4CEC0w6-zhyQ,12074
83
- returnn/frontend/array_.py,sha256=7uX5-Os2OyYUfC5soprIUx7rr-371yKf9DcckRKONXY,53855
84
- returnn/frontend/attention.py,sha256=GKt-Xqnz8sIyXVrE0i4VCS7J2Wu7dmoH_BA0Cu8CrXQ,45769
84
+ returnn/frontend/array_.py,sha256=O-q137hb7V-Rw1xWV2ezDyFYepVXQlnqWcPDZ_WLUN8,56660
85
+ returnn/frontend/attention.py,sha256=bFD9Ei6GxSi-BC1OfueDyTIE-51a3dKKZOWdSIbz7l8,46633
85
86
  returnn/frontend/backend.py,sha256=iQ9w4xl8Ea7bgpb0VUaCKq50rV5Bl2E5J8Rhd-oqD_c,883
86
87
  returnn/frontend/build_from_dict.py,sha256=rfWa2rjjhIR_kIQED_nMrygrQBunS6unegzWTLVbC98,3017
87
88
  returnn/frontend/cond.py,sha256=gh6wg0aSbAJQfKRv4BQAu-EfPWtWPLFjgc8IaPPFmwg,1023
88
89
  returnn/frontend/const.py,sha256=A5fP9w6Akv56d89pPvdoZaXvC9ZTYcexepnS9O2clOc,3945
89
90
  returnn/frontend/container.py,sha256=wF3OlQN7WlOVmmdapUth_Unha3DVf6h1B7okBJAuJDA,8011
90
91
  returnn/frontend/control_flow_ctx.py,sha256=v17CsNwRnZYe8GdMtGJt2ftibfxMCGK1i0l-GX5ILu0,699
91
- returnn/frontend/conv.py,sha256=4Mrq7MFc0f7SJ8g-wJEv4Lg3Stmju-fMwD09qKv6CuQ,32174
92
+ returnn/frontend/conv.py,sha256=RbVyFGspn40VNT1B-KWWaDBBUhd7VFhKTN-V_SrwPlU,39514
92
93
  returnn/frontend/device.py,sha256=Sjara0EmFLhu9O55cN_p6OwU0NgdNCCQjyAuQhiWpGw,1437
93
94
  returnn/frontend/dims.py,sha256=_HDU-Kxn3pApicFkm0F4Fs-ZAuF1gKXG8rroQHCFQQI,13073
94
95
  returnn/frontend/dropout.py,sha256=TjqZCKDIOBeHr14-NCemOm9m3p84LxQuPH1DvRAYg88,5028
@@ -100,11 +101,11 @@ returnn/frontend/init.py,sha256=bVB7bpghaY8DI_HL0mkB_9z95onWnIX2zlW4hlMYnRw,7494
100
101
  returnn/frontend/label_smoothing.py,sha256=lxmaowNr61sCMzMewqHhu1r0CcklYfhLXlFnBu8DeAU,5676
101
102
  returnn/frontend/linear.py,sha256=xRUjnkD3MTWDezSaYATBYJQ2fa1RhKMNrTuhC54hhVs,2252
102
103
  returnn/frontend/loop.py,sha256=t-z6ke1X03I2aPUEqLYmVZWyMzfW3IedFvKUGc-TCX8,16160
103
- returnn/frontend/loss.py,sha256=uSvou2MPd13JiLAg_OIQ3AyyLvD3RHjMEVgFEN0gKqU,7440
104
+ returnn/frontend/loss.py,sha256=aSKzjhjIikeNJqzcUBBlaBTXILuAoW6wrmsExGtJJBY,8572
104
105
  returnn/frontend/math_.py,sha256=A_RkZ5lH2uXMchfPIH3itraWtMNNCVckQHHpf7aIIZQ,17295
105
106
  returnn/frontend/matmul.py,sha256=xkueyxzSDz8MsYaWxPSjmV2Yy-tcaiOQDXbFt1IQM2A,1944
106
- returnn/frontend/module.py,sha256=219rh5mE0CD0-NdxXLsKyhv3BNtOI9jSyiI1Rb8MOyU,10700
107
- returnn/frontend/nested.py,sha256=6Nbe3pPIuSziI33Pi_qis0vwHjuVUNXDmedqfzIBfOU,15125
107
+ returnn/frontend/module.py,sha256=nt35I9xyHuH42qobLHGUFoNI5-mVieAtA36SqK6NhpY,11065
108
+ returnn/frontend/nested.py,sha256=PKsKWHwE2SI19DjZ9vRI8q4-ywIGMK3-TTUuqdXrVlM,15592
108
109
  returnn/frontend/normalization.py,sha256=NrIIaZ3c2yf-WH2R9lPaL2TAq4IcNQc4OE5kFYdoihw,14139
109
110
  returnn/frontend/parameter.py,sha256=zvrkhSYC1c_O9kVwgHvOtOnWNurl5J28lkS0i1LQpWU,10627
110
111
  returnn/frontend/parametrizations.py,sha256=ptNgBw5IiPXVpB3QGse7AGAhdXp8X1rCqYUl2Mae8aI,2876
@@ -135,27 +136,27 @@ returnn/frontend/conversions/espnet_e_branchformer.py,sha256=Mmp3G6nySy0CqeHa-um
135
136
  returnn/frontend/conversions/hf_llama.py,sha256=1WQOhQyUWwkAznaRqK2zpThP8XZbaomkaE8qMG_bZPY,9662
136
137
  returnn/frontend/conversions/torch_nn.py,sha256=WAq_hs1tb5OC4iGmVemXvo3qba_e1MJXxRzG9pNK2HI,2204
137
138
  returnn/frontend/decoder/__init__.py,sha256=A-koKyPVlXp_V_2bk6GKZ1Xfv4rYIcfxGMXQHkHZiOQ,41
138
- returnn/frontend/decoder/transformer.py,sha256=20a37hMiPbQBHx3tSbOeiAbFPVRcX_KYpPuw8tmY6GU,23658
139
+ returnn/frontend/decoder/transformer.py,sha256=64Z1IY_WcDuj8Ti73BGwbT_grrEpxBl5mIsBZkqJzHQ,24650
139
140
  returnn/frontend/encoder/__init__.py,sha256=0QGLlujRIKx3zBREeShza_-xhGIxj73zbd7t-g1m-ho,17
140
141
  returnn/frontend/encoder/base.py,sha256=A759EwCYAmSi-kzXz1vaTjR2l59TvNGQlzaNdp3UOKs,2109
141
- returnn/frontend/encoder/conformer.py,sha256=rWulygolesbYkLw9naSxwygaZhWqKpHKEVj-1AQbel0,21351
142
+ returnn/frontend/encoder/conformer.py,sha256=FQYXdeNaE8ZCiexAVNPk5fiP3x1gEOTzTga5N0HBcHo,21370
142
143
  returnn/frontend/encoder/conformer_v2.py,sha256=vAYdT8m2Zzg3IIZZafeccClFHU1_c9T-EgBOsHadQPA,7701
143
144
  returnn/frontend/encoder/e_branchformer.py,sha256=SZdhpb90FaQdpzgvSOtFPLbLCa0NdycbB5Z4vMoY4TM,12279
144
- returnn/frontend/encoder/transformer.py,sha256=Jj0mF1D2MohOk-9sGYdsLtVW_86fwoq4pKWCdPMvPR8,11580
145
+ returnn/frontend/encoder/transformer.py,sha256=0-ku9A8r_w3USQd0aAQ0fdPvFILNWcGaGZ7g3SE-Xjo,11656
145
146
  returnn/import_/__init__.py,sha256=L2dKxWCcn0fz_7H7OS-zw5i5Yrljjjh_d61dEcFP_JY,243
146
147
  returnn/import_/common.py,sha256=0cmvyd7NtMLH55IskEoSDtkcMwChxLhauV2UZ4mK68I,8148
147
148
  returnn/import_/git.py,sha256=IXBVOybQAHf5OlMfVY6oZ-7eiDYPG0OR7MyDJKcVHSM,13961
148
149
  returnn/import_/import_.py,sha256=q_NQRbfK5TsALakUxixE0SCqDccfGh6wkquCmJ-3s6w,798
149
150
  returnn/sprint/__init__.py,sha256=bKRS04_tJdp-z6Rmv4Fm3hGD9M3UVRcXtvcS8VG12KA,64
150
- returnn/sprint/cache.py,sha256=sYWQJHHvdcXDXl_SNraEsl3X8yS0F4eZjFHiuDhHkjQ,35069
151
+ returnn/sprint/cache.py,sha256=9QxVIUoDXo2WGkenof7vuh8vqBXShf0Dr4twiLsygaQ,34976
151
152
  returnn/sprint/control.py,sha256=FFjpvoktLgp4ETxaMVKrwiegnAQLW5lD_VF4OG3ttUw,31133
152
153
  returnn/sprint/error_signals.py,sha256=FvXscTpbLWKRKsK3slPT6QfU5FytLUNblB7Ogup_L7k,23348
153
154
  returnn/sprint/extern_interface.py,sha256=l-v1X-Yg0UpTFe7Y3c4FwWOqpSNuv9Oy5EzqlKWUMlE,12055
154
155
  returnn/sprint/interface.py,sha256=1j5SB0V8hSW8A5song9ciZtcBnZoKKfNipk9ezOIMuA,36491
155
156
  returnn/tensor/README.md,sha256=X6BqcRLrPLPnwF9yR69uqIFrMnNluj9pBkOPHwNgzuo,501
156
157
  returnn/tensor/__init__.py,sha256=on6j5PEOQpck50UcsR4nJzJSDmoVy34z1Oq4efv6Ax0,154
157
- returnn/tensor/_dim_extra.py,sha256=rwtDR5WRS8wqgKj4WkPaWtaKa8UJYTrS76ZhX0W5bP4,115580
158
- returnn/tensor/_tensor_extra.py,sha256=gbSl6HMtn8WFYloanew_RaNNwx3eCpnKv3UfCkntJiQ,164923
158
+ returnn/tensor/_dim_extra.py,sha256=tHE3N6hUKqbzedJ8RNhn9aJHxvhTQuI9JckCLsPbKKI,116776
159
+ returnn/tensor/_tensor_extra.py,sha256=1UPNisRAbljkvfMcrEXaPAF-2Dz7AdgC3jAKVVAnAO8,165084
159
160
  returnn/tensor/_tensor_mixin_base.py,sha256=H5z86I0NejxrSgMH1c5oXQzBqS6L9HpvP4y7oegBaSc,643
160
161
  returnn/tensor/_tensor_op_overloads.py,sha256=HklwuTBjy7mH_665VKaCUdu-oC3aa7Uz1ZQiCz4jeZc,5448
161
162
  returnn/tensor/control_flow_ctx.py,sha256=L9e32AfYDUDgsEDHL07thSFyYFqwhyVSqzE_bM03Y4M,5252
@@ -163,7 +164,7 @@ returnn/tensor/dim.py,sha256=652DlcSe6o6l5OyY5xt9Yigij_Xry-ToG9AemMX3roY,4208
163
164
  returnn/tensor/marked_dim.py,sha256=Ae2hQIb5QixRU2gDhQEm0tmYt8TmomWoGERB414jR8o,1884
164
165
  returnn/tensor/tensor.py,sha256=IIHbDu0D_aX8U4LKTm5ThD_fuoGhn98B9EyvVBsPJ3E,9083
165
166
  returnn/tensor/tensor_dict.py,sha256=-20YPbXfRDE9WurkfQM-Mw6H8ouaBGL_90SDmK0b4cw,7534
166
- returnn/tensor/utils.py,sha256=B6_XyNTXPIyLxWk061Qo-Md8_DnINGdVwpXJF6pahBk,9772
167
+ returnn/tensor/utils.py,sha256=GoA4J7Cm8Q1e-NjkGEvCPMOqa4-KdCUjyGLnGTAPlDk,9957
167
168
  returnn/tf/__init__.py,sha256=X4g2LFCFTl0uiybMRkfBY8AYkgMa6HX0vVxxTk0nMiE,88
168
169
  returnn/tf/compat.py,sha256=NkAkdlR37m2d9qh3i33sIfEGilOaFBeCofAQpQwnZpY,1632
169
170
  returnn/tf/data_pipeline.py,sha256=iNkNHv5PiGcudlajG8eO336rPD3hya5kWMDrjhWa4jA,36632
@@ -171,13 +172,13 @@ returnn/tf/distributed.py,sha256=PCLspuNg4XP4ZX3Q444IlohUJEy0Dc8rp8YlmDqVbEc,151
171
172
  returnn/tf/engine.py,sha256=nhAMSEVUIf6Onm8jaRkT2CuY5XbOV5CEeWyOMUk67kY,146610
172
173
  returnn/tf/horovod.py,sha256=Dpv_3wZxB8q8Gqk6xah4iJ4vKGKWWg1-7PPhpSMPlec,5404
173
174
  returnn/tf/hyper_param_tuning.py,sha256=IfVRYYz-oSwOa2E7-vwh-pnWL4j-StHHbSYv7VbvcPE,31619
174
- returnn/tf/native_op.py,sha256=jieVDsDzF3cPsxncfy7lMheWf076FRbAE3L0P3TjwiY,79691
175
- returnn/tf/network.py,sha256=9kB82cTpdTtRW0mObYE7rAb_YRRwSfPYkkUZKRuXxio,224656
175
+ returnn/tf/native_op.py,sha256=LuwPj-0lMBDZeP9q79cI1FuIYudnMavUlKsTQWMrkl4,77382
176
+ returnn/tf/network.py,sha256=ZBo5qXOZHBJLjv2E8y9APeiRIpz5KEQdc6GN3rl6LBM,224668
176
177
  returnn/tf/sprint.py,sha256=Yqjh0-6sCWHpdDPQCzHKx7TwQCOjJyjfd0KHtnYdd-8,5471
177
178
  returnn/tf/updater.py,sha256=RcvoGnjBcObbLfLHH_mDRSY2lTeLyNoAFsZpHUiIgRY,72036
178
179
  returnn/tf/frontend_layers/README.md,sha256=P4vVl_EK-4jT55m40mq-K4Nr9yFY0tJR5fmDzTHSDFE,1096
179
180
  returnn/tf/frontend_layers/__init__.py,sha256=MGUn7rv6fOefbtkX-5pq6fC1T6Y5h0oh1uOPSEcv1_I,506
180
- returnn/tf/frontend_layers/_backend.py,sha256=pxeX7g4nbGXot5gyqp32ajhOfVmBdaUNlSq4ZQsV9xM,47331
181
+ returnn/tf/frontend_layers/_backend.py,sha256=tsCUuDGOXlEAPNXAz4dH-pxsKtEe_vKZRp3hfHvEr7k,47709
181
182
  returnn/tf/frontend_layers/_utils.py,sha256=ijByaDOqPDod5mZC9EoTkt8PHBEODXHsWbkwDOF9XW4,4205
182
183
  returnn/tf/frontend_layers/cond.py,sha256=bGd_g2tzpKXO218Xk-so59vFPJF-jF_ZvoZIU-1qBzw,14832
183
184
  returnn/tf/frontend_layers/config_entry_points.py,sha256=t01RWOiaZohzuqPXX-MLV0P5yCOfE0dz-9dZ77_pK4c,5751
@@ -190,16 +191,16 @@ returnn/tf/frontend_layers/masked_computation.py,sha256=I_TW0Qm4Yl_wPZ6TkuK7a-wB
190
191
  returnn/tf/frontend_layers/parameter_assign.py,sha256=B_7kgobRyFtExiuSy2MsVGpAR36-jdG-xKABGc6EUGM,5103
191
192
  returnn/tf/frontend_layers/prev_tensor_ref.py,sha256=EqTAanOgYAhl8o2fMylN52mfReH9heAQFdzn9CwqAX4,2282
192
193
  returnn/tf/frontend_low_level/__init__.py,sha256=34469k3KzMUIGowxReOZnbf6WdTjxY73Gp1a4WqDN1M,62
193
- returnn/tf/frontend_low_level/_backend.py,sha256=JwwRRIGnElqBC4bTImdB7w3U1u_SJESeZHYLmq86wog,24479
194
+ returnn/tf/frontend_low_level/_backend.py,sha256=Hv838I2eyOP2qVNWs5DJxseyxUbAET2lm0ZZcbW_CsE,24991
194
195
  returnn/tf/layers/__init__.py,sha256=Ngu-X84nWFgz7ndDu88DqoZ-5lUMMTQWH4g7N8pSoCg,72
195
196
  returnn/tf/layers/base.py,sha256=sUxEfh6WxaHWHG7O3cfxB6gG6YpEHkFKUJVayKvTBSI,152968
196
- returnn/tf/layers/basic.py,sha256=zHDPLP97jSvYYZcMPqQVOVxFk6I1BfXd71XVfs0VIkQ,615386
197
+ returnn/tf/layers/basic.py,sha256=ujn8ltTgEK4GDL8Y9CmtVSKXSnCCGdfx30-vGphBWFA,614275
197
198
  returnn/tf/layers/rec.py,sha256=3f6M_5aAMPvx7aAHdPV3VSFRHf7tjpp8lrXSzmk1I5c,548435
198
199
  returnn/tf/layers/segmental_model.py,sha256=wUyDZGr-eTVIIQWcsHLML0wtOxuWn_NFKOIrUKQcvoI,21515
199
200
  returnn/tf/layers/signal_processing.py,sha256=vRlkN7k7otk9_Qdv0qr_l6V0VT5Q6dO2MxwZWb2HH2M,52693
200
201
  returnn/tf/layers/variable.py,sha256=G1dIEoq0iQsXp-uOAUPTaBKHSOQfx7Sn-spD8MRv0HM,11446
201
202
  returnn/tf/util/__init__.py,sha256=mEg5jNVbQBLO2TGwO4Ff2F5qQN5_Zg4hAAQfX5taeec,92
202
- returnn/tf/util/basic.py,sha256=HWoRCkiPsMY0z9l0boB1NW0xqubVw-W8cZTZFHphNoc,303027
203
+ returnn/tf/util/basic.py,sha256=ezK-XBKQcscVKmCL43wsieiUZntHUVOZwhDZtVItOqg,304088
203
204
  returnn/tf/util/data.py,sha256=AlSa0r_IaXtjKG1q1vxUybFazpjt4lUX8LYq0STJv-w,29471
204
205
  returnn/tf/util/gradient_checkpoint.py,sha256=_1NGAmNZ5NiGhFYVRWvBV5yejt-EZWbbvxNWHbESp5Q,7426
205
206
  returnn/tf/util/ken_lm.py,sha256=R60UAoywriuDIeQ2Hk3Vm_waf2Hxxc88ofzEw6X6Sd4,17313
@@ -207,16 +208,16 @@ returnn/tf/util/open_fst.py,sha256=sZRDw4TbxvhGqpGdUJWy1ebvlZm4_RPhygpRw9uLAOQ,1
207
208
  returnn/torch/README.md,sha256=jzJ2FpOHW02vxN69yKaV97C9LI-hmvjBglKfdZXIDdc,85
208
209
  returnn/torch/__init__.py,sha256=MHEUyNHB20Vy89uKAqZoj6FxJKF1Gq3HW-i6ra1pNcI,24
209
210
  returnn/torch/distributed.py,sha256=_lyJR71HIoCHpMi5GztGM7YwrX54Am8zSkjnDkE1Lbk,7524
210
- returnn/torch/engine.py,sha256=JSsQZZiVs9TxRyFEJuR3iH-YZb9sRw7TzoIAIqmplZY,78275
211
+ returnn/torch/engine.py,sha256=XaJhVpF181sf8M1iXAs3u0zr37VVUG3SW81-DIZgg3g,81280
211
212
  returnn/torch/updater.py,sha256=nNd1mBPQyvIB096BEFi0KKmRI-U3jnRETzb743p2B9c,32064
212
213
  returnn/torch/data/__init__.py,sha256=6cLNEi8KoGI12PF6akN7mI_mtjlx-0hcQAfMYoExwik,132
213
214
  returnn/torch/data/extern_data.py,sha256=5al706ZaYtHWLp5VH2vS-rW69YXP3NHyOFRKY0WY714,7810
214
215
  returnn/torch/data/pipeline.py,sha256=HgIL0jQsPcgvh_SPC4wQ6BzclmrnpFja-UiboF_GPN4,29459
215
216
  returnn/torch/data/queued_data_iter.py,sha256=PoOsGHdHVZjTmcyfq_ZOw--P6hyfTdmAWIRGq_Z_nLM,888
216
- returnn/torch/data/returnn_dataset_wrapper.py,sha256=2CaDapzrlqahANuq-nyVAtv5ENHuM8A7okORwYJDisg,8006
217
+ returnn/torch/data/returnn_dataset_wrapper.py,sha256=fMahf05G0SPYm6HxSQpVm8JhsIHons-i1Ce4aQv4IjM,8332
217
218
  returnn/torch/data/tensor_utils.py,sha256=-Teqi--LLbt6q_5mDRdoHZHmPgSdC83W706ukif_YiU,1284
218
219
  returnn/torch/frontend/__init__.py,sha256=AA48HZnC17ASuKA0EWy8loZ-Bib_yUtqF4T1wYvjst4,62
219
- returnn/torch/frontend/_backend.py,sha256=1o6v9neXLTGVu_53QmoPn_2DbbuBC-iyojL9qe5DYBQ,103166
220
+ returnn/torch/frontend/_backend.py,sha256=e55BNxK4mAxl6nxK0mBR0IVkJUEFZ9wVJCvaIwAfT6A,107824
220
221
  returnn/torch/frontend/_rand.py,sha256=1JgIkV2XmpgJD86zXZ-NCAe-QuoP2swr6NaS1oz3Qa8,1830
221
222
  returnn/torch/frontend/bridge.py,sha256=c_mVBCBo29sjm8Bhxarv00szwGPgxjwoIqAHOmceGQw,7842
222
223
  returnn/torch/frontend/raw_ops.py,sha256=lF0h-KtYYsdaaqQADylVZp9qzPskOOXA4MfmYDyx5IU,296
@@ -227,18 +228,19 @@ returnn/torch/util/README.md,sha256=AW-6ueWhgcwDcm57md6sm227QXNkvLnlRLwaH7NlS-w,
227
228
  returnn/torch/util/__init__.py,sha256=AOXYUjzPm0XrzFJCPAXo9Jj_FvqD1XH3FfKtho80Vl8,26
228
229
  returnn/torch/util/array_.py,sha256=ell3VZvn01SLtF9Pw2fvPzFNO-XDQ7tSB9VCrVSKmSA,2556
229
230
  returnn/torch/util/debug_inf_nan.py,sha256=fmzSSTJJyLf7i5yDWRHLeDI0gxvadeqLE8RxMuSHx_4,6398
230
- returnn/torch/util/diagnose_gpu.py,sha256=PYMmSk7iQ-jC3RXKKNXlYx1Q744C0LXqz0SB6ympwQg,5844
231
- returnn/torch/util/exception_helper.py,sha256=_SqxTD5F-GDY2eR4uRALyUTJwt0ytcbJGB_w38RJMBA,4320
231
+ returnn/torch/util/diagnose_gpu.py,sha256=_yswLmwR8Q2rCsv2jI5FUQNBT__453jBmiWYwazdu20,6808
232
+ returnn/torch/util/exception_helper.py,sha256=54IzlsXYp6E_rEEWIpgppkFid9stb-2PZVRU8d5mFNE,4497
232
233
  returnn/torch/util/gradient_checkpoint.py,sha256=iLy-FB65DC8O6LxzmMvFjnSdpIVpko87ppIvRKAbtpQ,27995
233
234
  returnn/torch/util/module.py,sha256=MXHIrF9Isu575DDJIa81212ULKwdqu1oOLxDVZecVSk,1693
234
235
  returnn/torch/util/scaled_gradient.py,sha256=C5e79mpqtxdtw08OTSy413TSBSlOertRisc-ioiFIaU,3191
235
236
  returnn/util/__init__.py,sha256=UIG1qw4idqhW71BV60ha7h9PktxvEVcBIu0lYRossK8,336
236
- returnn/util/basic.py,sha256=S2ABKcP0pf2UexuMXDNHGcfAu7GDSD2mr6OIByM152M,143168
237
- returnn/util/better_exchook.py,sha256=39yvRecluDgYhViwSkaQ8crJ_cBWI63KeEGuK4RKe5w,70843
237
+ returnn/util/basic.py,sha256=rFeg3XwjNcNDbBgjkhisStbjTFA8CEfIrdwHjfdkJKw,143212
238
+ returnn/util/better_exchook.py,sha256=hOKazwv2q2-d0XMfxkJXMbLZyNTtraV3jPHplFcrMsg,71014
238
239
  returnn/util/bpe.py,sha256=LWFhICZsEOnMwNws0lybPNzKRX6rSr8yKCvP65vjl9Y,19656
239
- returnn/util/debug.py,sha256=wuRzdg9zB84WWCGyTjmRR_zYypu8gXxlc0nZ6si9OC8,28224
240
+ returnn/util/collect_outputs_dict.py,sha256=CjpsftoMgmvyE4wNKTO6F-QQ_44QHXcOZIXMUMQVZ-8,2637
241
+ returnn/util/debug.py,sha256=0ED4etMKG9lVqU0HPKEiCK-HoS8hBgnQza444QCE6ec,28576
240
242
  returnn/util/debug_helpers.py,sha256=0EINLK4uLtoSt5_kHs1M2NIFpMd0S7i4c4rx90U4fJk,2914
241
- returnn/util/file_cache.py,sha256=ERGz6TEWqetGk4odj1x6cMfecfQ5G5G4e5psSrbx03Y,27852
243
+ returnn/util/file_cache.py,sha256=8xE4zMQi38g7ZIGwNohd13_CgjzpIs18ILxFCKttzxE,29439
242
244
  returnn/util/fsa.py,sha256=k2lJ8tyf_g44Xk1EPVLwDwpP4spoMTqIigDVOWocQHY,59177
243
245
  returnn/util/literal_py_to_pickle.py,sha256=3dnjWPeeiDT2xp4bRDgIf9yddx7b1AG7mOKEn_jiSl8,2173
244
246
  returnn/util/lru_cache.py,sha256=7Q5H3a8b07E8e1iB7PA9jCpRnxMJZOFS2KO07cy0gqk,11446
@@ -250,11 +252,11 @@ returnn/util/py-to-pickle.cpp,sha256=ByU4cwy5MGEihaoYiRo1sSsJfYn10_riDwVqSHRLwp8
250
252
  returnn/util/py_ext_mod_compiler.py,sha256=I1w9laIPqJbQGb2lFp-3llBjORS-217ZGIbPCp6PIes,1708
251
253
  returnn/util/result_with_reason.py,sha256=6jS7caYrZADrb8o-CpQnTfskZb3fTNMcKU-JlnIh6Kg,359
252
254
  returnn/util/sig_proc.py,sha256=Tjz0VOAVyqu2qDCF5HZ1JjALjcFsHcNkcd96WgZeKfE,7265
253
- returnn/util/task_system.py,sha256=y4sMVXQ25Qd2z0rx03uOlXlkE-jbCYC1Sjfn-XlraVU,26003
255
+ returnn/util/task_system.py,sha256=7Dz7Nvi_1-o5pDv9OZYdAnlJw6OSvgbYUmQ72P0Fgkw,26002
254
256
  returnn/util/train_proc_manager.py,sha256=Pjht28k6uz6BNQ47uW6Gf880iyq5q4wx7P_K2tmoAM8,3266
255
257
  returnn/util/watch_memory.py,sha256=BR5P2kvBN6UI81cE0_1WAA6Hd1SByLbBaiDxvLhPOew,4213
256
- returnn-1.20250901.123052.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
257
- returnn-1.20250901.123052.dist-info/METADATA,sha256=Q09xg2cVnIca0qB_AWTi80jbjkBE5s6htDNdfNeEOYk,5215
258
- returnn-1.20250901.123052.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
259
- returnn-1.20250901.123052.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
260
- returnn-1.20250901.123052.dist-info/RECORD,,
258
+ returnn-1.20260105.192646.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
259
+ returnn-1.20260105.192646.dist-info/METADATA,sha256=jqFiOkEQgJcdKNaO9ISAulL31UxmgD3XbysYERiHCp0,5216
260
+ returnn-1.20260105.192646.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
261
+ returnn-1.20260105.192646.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
262
+ returnn-1.20260105.192646.dist-info/RECORD,,