returnn 1.20250122.223647__tar.gz → 1.20250123.173545__tar.gz

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.

Files changed (473) hide show
  1. {returnn-1.20250122.223647/returnn.egg-info → returnn-1.20250123.173545}/PKG-INFO +1 -1
  2. returnn-1.20250123.173545/_setup_info_generated.py +2 -0
  3. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/config.py +76 -85
  4. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/_tensor_op_overloads.py +1 -0
  5. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/util/basic.py +10 -9
  6. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/basic.py +4 -4
  7. {returnn-1.20250122.223647 → returnn-1.20250123.173545/returnn.egg-info}/PKG-INFO +1 -1
  8. returnn-1.20250122.223647/_setup_info_generated.py +0 -2
  9. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/.editorconfig +0 -0
  10. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/.gitignore +0 -0
  11. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/.gitmodules +0 -0
  12. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/.kateconfig +0 -0
  13. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/CHANGELOG.md +0 -0
  14. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/CODEOWNERS +0 -0
  15. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/CONTRIBUTING.md +0 -0
  16. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/LICENSE +0 -0
  17. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/MANIFEST.in +0 -0
  18. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/README.rst +0 -0
  19. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/__init__.py +0 -0
  20. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/12AX.cluster_map +0 -0
  21. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/_setup_returnn_env.py +0 -0
  22. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-fwd.config +0 -0
  23. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-horovod-mpi.py +0 -0
  24. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-horovod-mpi.py.sh +0 -0
  25. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-horovod-mpi.sh +0 -0
  26. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-hyper-param-tuning.config +0 -0
  27. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-iter-dataset.py +0 -0
  28. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-list-devices.py +0 -0
  29. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-lua-torch-layer.config +0 -0
  30. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-pretrain.config +0 -0
  31. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-record-and-push-to-webserver.py +0 -0
  32. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-returnn-as-framework.py +0 -0
  33. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-rf-pt-benchmark.py +0 -0
  34. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-rf.config +0 -0
  35. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-rhn-enwik8.config +0 -0
  36. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-sprint-interface.py +0 -0
  37. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-att-copy.config +0 -0
  38. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-attention.config +0 -0
  39. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
  40. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
  41. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-enc-dec.config +0 -0
  42. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-hard-att-copy.config +0 -0
  43. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-lstm-benchmark.py +0 -0
  44. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
  45. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
  46. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-native-lstm.12ax.config +0 -0
  47. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-native-lstm2.12ax.config +0 -0
  48. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
  49. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-neural-transducer.12ax.config +0 -0
  50. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-rec-explicit-lstm.config +0 -0
  51. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-rec-explicit-rnn.config +0 -0
  52. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-rec-self-att.config +0 -0
  53. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-search-compiled-graph.py +0 -0
  54. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
  55. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-timit-lstm-ctc.config +0 -0
  56. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-torch.config +0 -0
  57. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
  58. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/demo.sh +0 -0
  59. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
  60. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
  61. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
  62. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/README.txt +0 -0
  63. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/chars.txt +0 -0
  64. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/config_demo +0 -0
  65. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/config_fwd +0 -0
  66. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/config_real +0 -0
  67. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
  68. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/decode.py +0 -0
  69. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
  70. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/go.sh +0 -0
  71. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/lines.txt +0 -0
  72. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/split/eval.txt +0 -0
  73. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/split/train.txt +0 -0
  74. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/IAM/split/valid.txt +0 -0
  75. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/README.md +0 -0
  76. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial/create_test_h5.py +0 -0
  77. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial/forwardconfig +0 -0
  78. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial/go.sh +0 -0
  79. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial/trainconfig +0 -0
  80. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
  81. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
  82. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial_rgb/go.sh +0 -0
  83. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
  84. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/pyproject.toml +0 -0
  85. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/requirements.txt +0 -0
  86. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/__init__.py +0 -0
  87. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/__main__.py +0 -0
  88. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/__old_mod_loader__.py +0 -0
  89. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/__setup__.py +0 -0
  90. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/__init__.py +0 -0
  91. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/audio.py +0 -0
  92. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/basic.py +0 -0
  93. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/bundle_file.py +0 -0
  94. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/cached.py +0 -0
  95. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/cached2.py +0 -0
  96. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/distrib_files.py +0 -0
  97. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/generating.py +0 -0
  98. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/hdf.py +0 -0
  99. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/lm.py +0 -0
  100. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/map.py +0 -0
  101. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/meta.py +0 -0
  102. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/multi_proc.py +0 -0
  103. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/normalization_data.py +0 -0
  104. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/numpy_dump.py +0 -0
  105. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/postprocessing.py +0 -0
  106. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/raw_wav.py +0 -0
  107. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/sprint.py +0 -0
  108. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/stereo.py +0 -0
  109. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/text_dict.py +0 -0
  110. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/util/__init__.py +0 -0
  111. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/util/feature_extraction.py +0 -0
  112. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/util/strings.py +0 -0
  113. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/datasets/util/vocabulary.py +0 -0
  114. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/engine/__init__.py +0 -0
  115. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/engine/base.py +0 -0
  116. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/engine/batch.py +0 -0
  117. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/__init__.py +0 -0
  118. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/__main__.py +0 -0
  119. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/.git +0 -0
  120. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
  121. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
  122. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
  123. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
  124. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
  125. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
  126. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
  127. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
  128. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
  129. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
  130. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
  131. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
  132. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
  133. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
  134. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
  135. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
  136. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
  137. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
  138. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
  139. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
  140. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
  141. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
  142. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
  143. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
  144. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/__init__.py +0 -0
  145. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/README.md +0 -0
  146. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/__init__.py +0 -0
  147. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/edit.py +0 -0
  148. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/reroute.py +0 -0
  149. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/select.py +0 -0
  150. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/subgraph.py +0 -0
  151. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/transform.py +0 -0
  152. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/extern/graph_editor/util.py +0 -0
  153. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/forward_iface.py +0 -0
  154. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/__init__.py +0 -0
  155. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_backend.py +0 -0
  156. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_cache.py +0 -0
  157. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/__init__.py +0 -0
  158. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/backend.cpp +0 -0
  159. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/backend.hpp +0 -0
  160. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/module.cpp +0 -0
  161. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/module.hpp +0 -0
  162. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/py_utils.hpp +0 -0
  163. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/tensor_ops.cpp +0 -0
  164. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_native/tensor_ops.hpp +0 -0
  165. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_numpy_backend.py +0 -0
  166. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_random_journal.py +0 -0
  167. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/_utils.py +0 -0
  168. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/array_.py +0 -0
  169. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/attention.py +0 -0
  170. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/audio/__init__.py +0 -0
  171. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/audio/mel.py +0 -0
  172. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/audio/specaugment.py +0 -0
  173. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/backend.py +0 -0
  174. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/build_from_dict.py +0 -0
  175. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/cond.py +0 -0
  176. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/const.py +0 -0
  177. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/container.py +0 -0
  178. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/control_flow_ctx.py +0 -0
  179. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/conv.py +0 -0
  180. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/conversions/__init__.py +0 -0
  181. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
  182. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/conversions/hf_llama.py +0 -0
  183. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/conversions/torch_nn.py +0 -0
  184. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/decoder/__init__.py +0 -0
  185. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/decoder/transformer.py +0 -0
  186. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/device.py +0 -0
  187. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/dims.py +0 -0
  188. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/dropout.py +0 -0
  189. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/dtype.py +0 -0
  190. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/encoder/__init__.py +0 -0
  191. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/encoder/base.py +0 -0
  192. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/encoder/conformer.py +0 -0
  193. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/encoder/conformer_v2.py +0 -0
  194. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/encoder/e_branchformer.py +0 -0
  195. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/encoder/transformer.py +0 -0
  196. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/gradient.py +0 -0
  197. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/graph.py +0 -0
  198. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/hooks.py +0 -0
  199. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/init.py +0 -0
  200. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/label_smoothing.py +0 -0
  201. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/linear.py +0 -0
  202. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/loop.py +0 -0
  203. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/loss.py +0 -0
  204. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/math_.py +0 -0
  205. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/matmul.py +0 -0
  206. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/module.py +0 -0
  207. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/normalization.py +0 -0
  208. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/parameter.py +0 -0
  209. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/parametrizations.py +0 -0
  210. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/parametrize.py +0 -0
  211. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/piecewise_linear.py +0 -0
  212. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/rand.py +0 -0
  213. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/rec.py +0 -0
  214. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/reduce.py +0 -0
  215. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/run_ctx.py +0 -0
  216. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/signal.py +0 -0
  217. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/state.py +0 -0
  218. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/stepwise_scheduler.py +0 -0
  219. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/tensor_array.py +0 -0
  220. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/frontend/types.py +0 -0
  221. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/import_/__init__.py +0 -0
  222. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/import_/common.py +0 -0
  223. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/import_/git.py +0 -0
  224. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/import_/import_.py +0 -0
  225. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/learning_rate_control.py +0 -0
  226. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/log.py +0 -0
  227. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/native_op.cpp +0 -0
  228. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/native_op.py +0 -0
  229. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/pretrain.py +0 -0
  230. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/sprint/__init__.py +0 -0
  231. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/sprint/cache.py +0 -0
  232. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/sprint/control.py +0 -0
  233. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/sprint/error_signals.py +0 -0
  234. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/sprint/extern_interface.py +0 -0
  235. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/sprint/interface.py +0 -0
  236. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/README.md +0 -0
  237. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/__init__.py +0 -0
  238. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/_dim_extra.py +0 -0
  239. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/_tensor_extra.py +0 -0
  240. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/_tensor_mixin_base.py +0 -0
  241. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/control_flow_ctx.py +0 -0
  242. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/dim.py +0 -0
  243. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/marked_dim.py +0 -0
  244. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/tensor.py +0 -0
  245. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/tensor_dict.py +0 -0
  246. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tensor/utils.py +0 -0
  247. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/__init__.py +0 -0
  248. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/compat.py +0 -0
  249. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/data_pipeline.py +0 -0
  250. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/distributed.py +0 -0
  251. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/engine.py +0 -0
  252. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/README.md +0 -0
  253. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/__init__.py +0 -0
  254. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/_backend.py +0 -0
  255. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/_utils.py +0 -0
  256. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/cond.py +0 -0
  257. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
  258. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
  259. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/dims.py +0 -0
  260. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/layer.py +0 -0
  261. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/loop.py +0 -0
  262. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/make_layer.py +0 -0
  263. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/masked_computation.py +0 -0
  264. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
  265. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
  266. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_low_level/__init__.py +0 -0
  267. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/frontend_low_level/_backend.py +0 -0
  268. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/horovod.py +0 -0
  269. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/hyper_param_tuning.py +0 -0
  270. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/layers/__init__.py +0 -0
  271. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/layers/base.py +0 -0
  272. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/layers/basic.py +0 -0
  273. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/layers/rec.py +0 -0
  274. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/layers/segmental_model.py +0 -0
  275. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/layers/signal_processing.py +0 -0
  276. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/layers/variable.py +0 -0
  277. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/native_op.py +0 -0
  278. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/network.py +0 -0
  279. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/sprint.py +0 -0
  280. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/updater.py +0 -0
  281. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/util/__init__.py +0 -0
  282. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/util/data.py +0 -0
  283. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/util/gradient_checkpoint.py +0 -0
  284. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/util/ken_lm.py +0 -0
  285. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/tf/util/open_fst.py +0 -0
  286. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/README.md +0 -0
  287. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/__init__.py +0 -0
  288. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/data/__init__.py +0 -0
  289. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/data/extern_data.py +0 -0
  290. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/data/pipeline.py +0 -0
  291. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/data/queued_data_iter.py +0 -0
  292. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
  293. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/data/tensor_utils.py +0 -0
  294. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/distributed.py +0 -0
  295. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/engine.py +0 -0
  296. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/frontend/__init__.py +0 -0
  297. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/frontend/_backend.py +0 -0
  298. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/frontend/_rand.py +0 -0
  299. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/frontend/bridge.py +0 -0
  300. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/frontend/raw_ops.py +0 -0
  301. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/optim/README.md +0 -0
  302. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/optim/__init__.py +0 -0
  303. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/optim/lion.py +0 -0
  304. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/updater.py +0 -0
  305. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/README.md +0 -0
  306. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/__init__.py +0 -0
  307. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/array_.py +0 -0
  308. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/debug_inf_nan.py +0 -0
  309. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/diagnose_gpu.py +0 -0
  310. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/exception_helper.py +0 -0
  311. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/gradient_checkpoint.py +0 -0
  312. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/module.py +0 -0
  313. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/torch/util/scaled_gradient.py +0 -0
  314. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/__init__.py +0 -0
  315. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/better_exchook.py +0 -0
  316. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/bpe.py +0 -0
  317. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/debug.py +0 -0
  318. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/debug_helpers.py +0 -0
  319. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/file_cache.py +0 -0
  320. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/fsa.py +0 -0
  321. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/literal_py_to_pickle.py +0 -0
  322. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/lru_cache.py +0 -0
  323. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/math.py +0 -0
  324. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
  325. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/native_code_compiler.py +0 -0
  326. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/pprint.py +0 -0
  327. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/py-to-pickle.cpp +0 -0
  328. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/py_ext_mod_compiler.py +0 -0
  329. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/result_with_reason.py +0 -0
  330. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/sig_proc.py +0 -0
  331. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/task_system.py +0 -0
  332. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/train_proc_manager.py +0 -0
  333. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn/util/watch_memory.py +0 -0
  334. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn.egg-info/SOURCES.txt +0 -0
  335. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn.egg-info/dependency_links.txt +0 -0
  336. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/returnn.egg-info/top_level.txt +0 -0
  337. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/rnn.py +0 -0
  338. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/setup.cfg +0 -0
  339. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/setup.py +0 -0
  340. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/DummySprintExec.py +0 -0
  341. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm-inspection-profile.xml +0 -0
  342. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/.gitignore +0 -0
  343. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/.name +0 -0
  344. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
  345. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
  346. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
  347. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
  348. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
  349. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/misc.xml +0 -0
  350. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/modules.xml +0 -0
  351. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/returnn.iml +0 -0
  352. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
  353. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/_set_num_threads1.py +0 -0
  354. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/_setup_returnn_env.py +0 -0
  355. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/_setup_test_env.py +0 -0
  356. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/bpe-unicode-demo.codes +0 -0
  357. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/bpe-unicode-demo.vocab +0 -0
  358. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/lexicon_opt.fst +0 -0
  359. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/lexicon_opt.isyms +0 -0
  360. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/lexicon_opt.jpg +0 -0
  361. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/lexicon_opt.osyms +0 -0
  362. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/lint_common.py +0 -0
  363. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/pycharm-inspect.py +0 -0
  364. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/pylint.py +0 -0
  365. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/returnn-as-framework.py +0 -0
  366. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/rf_utils.py +0 -0
  367. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/spelling.dic +0 -0
  368. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_Config.py +0 -0
  369. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_Dataset.py +0 -0
  370. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_Fsa.py +0 -0
  371. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_GeneratingDataset.py +0 -0
  372. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_HDFDataset.py +0 -0
  373. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_LearningRateControl.py +0 -0
  374. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_Log.py +0 -0
  375. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_MultiProcDataset.py +0 -0
  376. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_Pretrain.py +0 -0
  377. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_ResNet.py +0 -0
  378. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_SprintDataset.py +0 -0
  379. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_SprintInterface.py +0 -0
  380. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TFEngine.py +0 -0
  381. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TFNativeOp.py +0 -0
  382. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TFNetworkLayer.py +0 -0
  383. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TFNetworkRecLayer.py +0 -0
  384. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TFNetworkSigProcLayer.py +0 -0
  385. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TFUpdater.py +0 -0
  386. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TFUtil.py +0 -0
  387. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TF_determinism.py +0 -0
  388. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TaskSystem.py +0 -0
  389. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TaskSystem_SharedMem.py +0 -0
  390. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_TranslationDataset.py +0 -0
  391. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_Util.py +0 -0
  392. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_demos.py +0 -0
  393. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_fork_exec.py +0 -0
  394. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_hdf_dump.py +0 -0
  395. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_array.py +0 -0
  396. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_attention.py +0 -0
  397. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_base.py +0 -0
  398. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_cond.py +0 -0
  399. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_const.py +0 -0
  400. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_container.py +0 -0
  401. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_conv.py +0 -0
  402. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_decoder_transformer.py +0 -0
  403. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_encoder_conformer.py +0 -0
  404. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_gradient.py +0 -0
  405. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_label_smoothing.py +0 -0
  406. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_loop.py +0 -0
  407. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_math.py +0 -0
  408. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_normalization.py +0 -0
  409. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_piecewise_linear.py +0 -0
  410. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_rec.py +0 -0
  411. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_reduce.py +0 -0
  412. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_rf_signal.py +0 -0
  413. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_tensor.py +0 -0
  414. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_threading.py +0 -0
  415. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_tools.py +0 -0
  416. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_torch_dataset.py +0 -0
  417. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_torch_engine.py +0 -0
  418. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_torch_frontend.py +0 -0
  419. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_torch_internal_frontend.py +0 -0
  420. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/test_torch_util.py +0 -0
  421. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tests/torch_utils.py +0 -0
  422. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/_setup_returnn_env.py +0 -0
  423. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/analyze-dataset-batches.py +0 -0
  424. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/bliss-collect-seq-lens.py +0 -0
  425. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/bliss-dump-text.py +0 -0
  426. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/bliss-get-segment-names.py +0 -0
  427. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/bliss-to-ogg-zip.py +0 -0
  428. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/bpe-create-lexicon.py +0 -0
  429. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/calculate-word-error-rate.py +0 -0
  430. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/cleanup-old-models.py +0 -0
  431. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/collect-orth-symbols.py +0 -0
  432. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/collect-words.py +0 -0
  433. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/compile_native_op.py +0 -0
  434. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/compile_tf_graph.py +0 -0
  435. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/debug-dump-search-scores.py +0 -0
  436. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/debug-plot-search-scores.py +0 -0
  437. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/dump-dataset-raw-strings.py +0 -0
  438. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/dump-dataset.py +0 -0
  439. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/dump-forward-stats.py +0 -0
  440. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/dump-forward.py +0 -0
  441. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/dump-network-json.py +0 -0
  442. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/dump-pickle.py +0 -0
  443. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/extract_state_tying_from_dataset.py +0 -0
  444. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/get-attention-weights.py +0 -0
  445. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/get-best-model-epoch.py +0 -0
  446. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/hdf_dump.py +0 -0
  447. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/hdf_dump_translation_dataset.py +0 -0
  448. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/import-blocks-mt-model.py +0 -0
  449. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/import-t2t-mt-model.py +0 -0
  450. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/.gitignore +0 -0
  451. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/Makefile +0 -0
  452. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/README.md +0 -0
  453. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/example/README.md +0 -0
  454. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/example/libs_list +0 -0
  455. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
  456. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
  457. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
  458. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/example/state_vars_list +0 -0
  459. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/example/tensor_names_list +0 -0
  460. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/file.h +0 -0
  461. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
  462. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
  463. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/main.cc +0 -0
  464. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/rescorer.h +0 -0
  465. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/vocabulary.cc +0 -0
  466. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/lattice_rescorer/vocabulary.h +0 -0
  467. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/tf_avg_checkpoints.py +0 -0
  468. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/tf_inspect_checkpoint.py +0 -0
  469. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/tf_inspect_summary_log.py +0 -0
  470. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/torch_avg_checkpoints.py +0 -0
  471. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/torch_export_to_onnx.py +0 -0
  472. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/torch_inspect_checkpoint.py +0 -0
  473. {returnn-1.20250122.223647 → returnn-1.20250123.173545}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: returnn
3
- Version: 1.20250122.223647
3
+ Version: 1.20250123.173545
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
@@ -0,0 +1,2 @@
1
+ version = '1.20250123.173545'
2
+ long_version = '1.20250123.173545+git.5dab449'
@@ -7,13 +7,16 @@ from __future__ import annotations
7
7
  __author__ = "Patrick Doetsch"
8
8
  __credits__ = ["Patrick Doetsch", "Paul Voigtlaender"]
9
9
 
10
- from typing import Optional, Any, Dict, List
10
+ from typing import TypeVar, Type, Optional, Union, Any, Dict, List, Sequence, Tuple
11
11
  import contextlib
12
12
  import sys
13
13
  import os
14
14
  import types as _types
15
15
 
16
16
 
17
+ T = TypeVar("T")
18
+
19
+
17
20
  class Config:
18
21
  """
19
22
  Reads in some config file, and provides access to the key/value items.
@@ -140,11 +143,10 @@ class Config:
140
143
  self.add_line(key=line[0], value=line[1])
141
144
 
142
145
  @classmethod
143
- def get_config_file_type(cls, f):
146
+ def get_config_file_type(cls, f: str) -> str:
144
147
  """
145
- :param str f: file path
148
+ :param f: file path
146
149
  :return: "py", "js" or "txt"
147
- :rtype: str
148
150
  """
149
151
  with open(f, "r") as f:
150
152
  start = f.read(3)
@@ -154,9 +156,9 @@ class Config:
154
156
  return "js"
155
157
  return "txt"
156
158
 
157
- def parse_cmd_args(self, args):
159
+ def parse_cmd_args(self, args: Sequence[str]):
158
160
  """
159
- :param list[str]|tuple[str] args:
161
+ :param args:
160
162
  """
161
163
  from optparse import OptionParser
162
164
 
@@ -262,11 +264,12 @@ class Config:
262
264
  value = value[1:] # otherwise we never could specify things like "++threshold -0.1"
263
265
  self.add_line(key=key[2:], value=value)
264
266
 
265
- def add_line(self, key, value):
267
+ def add_line(self, key: str, value: str):
266
268
  """
267
269
  Adds one specific configuration (key,value) pair to the inner set of parameters
268
- :type key: str
269
- :type value: str
270
+
271
+ :param key:
272
+ :param value:
270
273
  """
271
274
  if key in self.typed_dict:
272
275
  # This is a special case. We overwrite a config value which was typed before.
@@ -300,69 +303,65 @@ class Config:
300
303
  else:
301
304
  self.dict[key] = value
302
305
 
303
- def has(self, key):
306
+ def has(self, key: str) -> bool:
304
307
  """
305
308
  Returns whether the given key is present in the inner set of parameters
306
- :type key: string
307
- :rtype: boolean
308
- :returns True if and only if the given key is in the inner set of parameters
309
+
310
+ :param key:
311
+ :returns: True if and only if the given key is in the inner set of parameters
309
312
  """
310
313
  if key in self.typed_dict:
311
314
  return True
312
315
  return key in self.dict
313
316
 
314
- def is_typed(self, key):
317
+ def is_typed(self, key: str) -> bool:
315
318
  """
316
- :type key: string
317
- :rtype: boolean
318
- :returns True if and only if the value of the given key has a specified data type
319
+ :param key:
320
+ :returns: True if and only if the value of the given key has a specified data type
319
321
  """
320
322
  return key in self.typed_dict
321
323
 
322
- def is_true(self, key, default=False):
324
+ def is_true(self, key: str, default: bool = False) -> bool:
323
325
  """
324
- :param str key:
325
- :param bool default:
326
+ :param key:
327
+ :param default:
326
328
  :return: bool(value) if it is set or default
327
- :rtype: bool
328
329
  """
329
330
  if self.is_typed(key):
330
331
  return bool(self.typed_dict[key])
331
332
  return self.bool(key, default=default)
332
333
 
333
- def is_of_type(self, key, types):
334
+ def is_of_type(self, key: str, types: Union[type, Tuple[type, ...]]) -> bool:
334
335
  """
335
- :param str key:
336
- :param type|tuple[type] types: for isinstance() check
336
+ :param key:
337
+ :param types: for isinstance() check
337
338
  :return: whether is_typed(key) is True and isinstance(value, types) is True
338
- :rtype: bool
339
339
  """
340
340
  if key in self.typed_dict:
341
341
  return isinstance(self.typed_dict[key], types)
342
342
  return False
343
343
 
344
- def get_of_type(self, key, types, default=None):
344
+ def get_of_type(self, key: str, types: Union[type, Tuple[type, ...], Type[T]], default: Optional[T] = None) -> T:
345
345
  """
346
346
  :param str key:
347
- :param type|list[type]|T types: for isinstance() check
348
- :param T|None default:
347
+ :param types: for isinstance() check
348
+ :param default:
349
349
  :return: if is_of_type(key, types) is True, returns the value, otherwise default
350
- :rtype: T
351
350
  """
352
351
  if self.is_of_type(key, types):
353
352
  return self.typed_dict[key]
354
353
  return default
355
354
 
356
- def set(self, key, value):
355
+ def set(self, key: str, value: Any):
357
356
  """
358
- :type key: str
359
- :type value: list[str] | str | int | float | bool | dict | None
357
+ :param key:
358
+ :param value:
360
359
  """
361
360
  self.typed_dict[key] = value
362
361
 
363
- def update(self, dikt):
362
+ def update(self, dikt: Dict[str, Any]):
364
363
  """
365
- :type dikt: dict
364
+ :param dikt: dict
366
365
  """
367
366
  for key, value in dikt.items():
368
367
  self.set(key, value)
@@ -383,13 +382,12 @@ class Config:
383
382
 
384
383
  setattr(self, "value", wrapped_value_func)
385
384
 
386
- def value(self, key, default, index=None, list_join_str=","):
385
+ def value(self, key: str, default: T, index: Optional[int] = None, list_join_str: str = ",") -> Union[T, str]:
387
386
  """
388
- :type key: str
389
- :type default: T
390
- :type index: int | None
391
- :param str list_join_str:
392
- :rtype: str | T
387
+ :param key:
388
+ :param default:
389
+ :param index:
390
+ :param list_join_str:
393
391
  """
394
392
  if key in self.typed_dict:
395
393
  ls = self.typed_dict[key]
@@ -410,12 +408,11 @@ class Config:
410
408
  return ls[index]
411
409
  return default
412
410
 
413
- def typed_value(self, key, default=None, index=None):
411
+ def typed_value(self, key: str, default: Optional[T] = None, index: Optional[int] = None) -> Union[T, Any]:
414
412
  """
415
- :type key: str
416
- :type default: T
417
- :type index: int | None
418
- :rtype: T | typing.Any
413
+ :param key:
414
+ :param default:
415
+ :param index:
419
416
  """
420
417
  value = self.typed_dict.get(key, default)
421
418
  if index is not None:
@@ -426,23 +423,22 @@ class Config:
426
423
  assert index == 0
427
424
  return value
428
425
 
429
- def opt_typed_value(self, key, default=None):
426
+ def opt_typed_value(self, key: str, default: Optional[T] = None) -> Union[T, Any, str]:
430
427
  """
431
- :param str key:
432
- :param T|None default:
433
- :rtype: T|object|str|None
428
+ :param key:
429
+ :param default:
434
430
  """
435
431
  if key in self.typed_dict:
436
432
  return self.typed_dict[key]
437
433
  return self.value(key, default)
438
434
 
439
- def int(self, key, default, index=0):
435
+ def int(self, key: str, default: T, index: int = 0) -> Union[int, T]:
440
436
  """
441
437
  Parses the value of the given key as integer, returning default if not existent
442
- :type key: str
443
- :type default: T
444
- :type index: int
445
- :rtype: int | T
438
+
439
+ :param key:
440
+ :param default:
441
+ :param index:
446
442
  """
447
443
  if key in self.typed_dict:
448
444
  value = self.typed_value(key, default=default, index=index)
@@ -453,13 +449,13 @@ class Config:
453
449
  return int(self.value(key, default, index))
454
450
  return default
455
451
 
456
- def bool(self, key, default, index=0):
452
+ def bool(self, key: str, default: T, index: int = 0) -> Union[bool, T]:
457
453
  """
458
454
  Parses the value of the given key as boolean, returning default if not existent
459
- :type key: str
460
- :type default: T
461
- :type index: int
462
- :rtype: bool | T
455
+
456
+ :param key:
457
+ :param default:
458
+ :param index:
463
459
  """
464
460
  if key in self.typed_dict:
465
461
  value = self.typed_value(key, default=default, index=index)
@@ -477,13 +473,12 @@ class Config:
477
473
 
478
474
  return to_bool(v)
479
475
 
480
- def bool_or_other(self, key, default=None, index=0):
476
+ def bool_or_other(self, key: str, default: Optional[T] = None, index: int = 0) -> Union[bool, T, Any]:
481
477
  """
482
- :param str key:
483
- :param T default:
484
- :param int index:
478
+ :param key:
479
+ :param default:
480
+ :param index:
485
481
  :return: if we have typed value, just as-is. otherwise try to convert to bool. or default if not there.
486
- :rtype: bool|T|object
487
482
  """
488
483
  if key in self.typed_dict:
489
484
  return self.typed_value(key, default=default, index=index)
@@ -499,13 +494,13 @@ class Config:
499
494
  except ValueError:
500
495
  return v
501
496
 
502
- def float(self, key, default, index=0):
497
+ def float(self, key: str, default: T, index: int = 0) -> Union[float, T]:
503
498
  """
504
499
  Parses the value of the given key as float, returning default if not existent
505
- :type key: str
506
- :type default: T
507
- :type index: int
508
- :rtype: float | T
500
+
501
+ :param key:
502
+ :param default:
503
+ :param index:
509
504
  """
510
505
  if key in self.typed_dict:
511
506
  value = self.typed_value(key, default=default, index=index)
@@ -519,11 +514,10 @@ class Config:
519
514
  assert isinstance(value, (int, float))
520
515
  return value
521
516
 
522
- def list(self, key, default=None):
517
+ def list(self, key: str, default: Optional[T] = None) -> Union[List[str], T]:
523
518
  """
524
- :type key: str
525
- :type default: T
526
- :rtype: list[str] | T
519
+ :param key:
520
+ :param default:
527
521
  """
528
522
  if default is None:
529
523
  default = []
@@ -538,11 +532,10 @@ class Config:
538
532
  return default
539
533
  return self.dict[key]
540
534
 
541
- def int_list(self, key, default=None):
535
+ def int_list(self, key: str, default: Optional[T] = None) -> Union[List[int], T]:
542
536
  """
543
- :type key: str
544
- :type default: T
545
- :rtype: list[int] | T
537
+ :param key:
538
+ :param default:
546
539
  """
547
540
  if default is None:
548
541
  default = []
@@ -557,11 +550,10 @@ class Config:
557
550
  return list(value)
558
551
  return [int(x) for x in self.list(key, default)]
559
552
 
560
- def float_list(self, key, default=None):
553
+ def float_list(self, key: str, default: Optional[T] = None) -> Union[List[float], T]:
561
554
  """
562
- :type key: str
563
- :type default: T
564
- :rtype: list[float] | T
555
+ :param key:
556
+ :param default:
565
557
  """
566
558
  if default is None:
567
559
  default = []
@@ -576,11 +568,10 @@ class Config:
576
568
  return list(value)
577
569
  return [float(x) for x in self.list(key, default)]
578
570
 
579
- def int_pair(self, key, default=None):
571
+ def int_pair(self, key: str, default: Optional[Tuple[int, int]] = None) -> Tuple[int, int]:
580
572
  """
581
- :param str key:
582
- :param (int,int)|None default:
583
- :rtype: (int,int)
573
+ :param key:
574
+ :param default:
584
575
  """
585
576
  if default is None:
586
577
  default = (0, 0)
@@ -26,6 +26,7 @@ class _TensorOpOverloadsMixin(_TensorMixinBase):
26
26
  log.print_deprecation_warning(
27
27
  f"{self} __bool__: Using a Tensor in a boolean context is deprecated.", behavior_version=22
28
28
  )
29
+ return True
29
30
 
30
31
  # --- comparisons
31
32
 
@@ -352,15 +352,16 @@ class OutputWithActivation:
352
352
  return safe_log(self.y)
353
353
 
354
354
 
355
- def variable_scalar_summaries_dict(x, name=None):
355
+ def variable_scalar_summaries_dict(
356
+ x: Union[tf.Tensor, tf.Variable], name: Optional[str] = None
357
+ ) -> Dict[str, tf.Tensor]:
356
358
  """
357
359
  Collects all interesting information about `x`, such as min/max/mean, etc. (all scalars).
358
360
  This is used by :func:`variable_summaries`.
359
361
 
360
- :param tf.Tensor|tf.Variable x:
361
- :param str name:
362
- :return: dicth with key -> scalar info, e.g. with "%s_mean" % name -> tf.reduce_mean(x)
363
- :rtype: dict[str,tf.Tensor]
362
+ :param x:
363
+ :param name:
364
+ :return: dict with key -> scalar info, e.g. with "%s_mean" % name -> tf.reduce_mean(x)
364
365
  """
365
366
  if x.dtype == tf.string:
366
367
  return {}
@@ -1025,7 +1026,7 @@ def setup_tf_thread_pools(num_threads=None, log_file=None, tf_session_opts=None)
1025
1026
 
1026
1027
  :param int num_threads: used for both intra and inter parallelism thread pools
1027
1028
  :param stream|None log_file:
1028
- :param dict[str] tf_session_opts:
1029
+ :param dict[str,typing.Any] tf_session_opts:
1029
1030
  """
1030
1031
  global _setup_tf_thread_pools_called_once
1031
1032
  if _setup_tf_thread_pools_called_once:
@@ -1056,12 +1057,12 @@ def setup_tf_thread_pools(num_threads=None, log_file=None, tf_session_opts=None)
1056
1057
  session.close()
1057
1058
 
1058
1059
 
1059
- def check_initial_tf_thread_pool_init(tf_session_opts=None):
1060
+ def check_initial_tf_thread_pool_init(tf_session_opts: Dict[str, Any] = None):
1060
1061
  """
1061
1062
  Makes sure that the TF thread pools are initialized with the requested settings.
1062
1063
  You probably want to call this very early.
1063
1064
 
1064
- :param dict[str]|None tf_session_opts:
1065
+ :param tf_session_opts:
1065
1066
  """
1066
1067
  if not _setup_tf_thread_pools_called_once:
1067
1068
  from returnn.util.basic import try_get_caller_name
@@ -1184,7 +1185,7 @@ def print_available_devices(tf_session_opts=None, file=None):
1184
1185
  Note that a call to this will trigger the internal TF thread pool inits,
1185
1186
  so you should call :func:`setup_tf_thread_pools` first.
1186
1187
 
1187
- :param dict[str]|None tf_session_opts: if given, will init a temp Session with these opts
1188
+ :param dict[str,typing.Any]|None tf_session_opts: if given, will init a temp Session with these opts
1188
1189
  :param typing.TextIO|None file: file stream for print statements, defaults to sys.stdout
1189
1190
  """
1190
1191
  if file is None:
@@ -1963,15 +1963,15 @@ def _py2_unicode_to_str_recursive(s):
1963
1963
  return s
1964
1964
 
1965
1965
 
1966
- def load_json(filename=None, content=None):
1966
+ def load_json(filename: Optional[str] = None, content: Optional[str] = None) -> Dict[str, Any]:
1967
1967
  """
1968
- :param str|None filename:
1969
- :param str|None content:
1970
- :rtype: dict[str]
1968
+ :param filename:
1969
+ :param content:
1971
1970
  """
1972
1971
  if content:
1973
1972
  assert not filename
1974
1973
  else:
1974
+ assert filename
1975
1975
  content = open(filename).read()
1976
1976
  import json
1977
1977
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: returnn
3
- Version: 1.20250122.223647
3
+ Version: 1.20250123.173545
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 +0,0 @@
1
- version = '1.20250122.223647'
2
- long_version = '1.20250122.223647+git.6dd961c'