returnn 1.20251106.185107__tar.gz → 1.20251118.160612__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.
- {returnn-1.20251106.185107/returnn.egg-info → returnn-1.20251118.160612}/PKG-INFO +1 -1
- returnn-1.20251118.160612/_setup_info_generated.py +2 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/meta.py +93 -43
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/basic.py +3 -6
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/better_exchook.py +4 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612/returnn.egg-info}/PKG-INFO +1 -1
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_Dataset.py +50 -5
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_Util.py +19 -3
- returnn-1.20251106.185107/_setup_info_generated.py +0 -2
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/.editorconfig +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/.gitignore +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/.gitmodules +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/.kateconfig +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/CHANGELOG.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/CODEOWNERS +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/CONTRIBUTING.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/LICENSE +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/MANIFEST.in +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/README.rst +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/12AX.cluster_map +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-fwd.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-list-devices.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-pretrain.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-rf.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-torch.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo.sh +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/pyproject.toml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/requirements.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/__main__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/__setup__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/config.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/audio.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/basic.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/cached.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/generating.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/huggingface.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/lm.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/map.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/postprocessing.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/text_dict.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/engine/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/engine/base.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/engine/batch.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/forward_iface.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_cache.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/array_.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/attention.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/backend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/cond.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/const.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/container.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/conv.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/conversions/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/conversions/hf_llama.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/conversions/torch_nn.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/device.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/dims.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/encoder/conformer_v2.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/encoder/e_branchformer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/encoder/transformer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/graph.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/init.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/linear.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/loop.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/loss.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/math_.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/module.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/nested.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/rand.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/rec.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/signal.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/state.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/frontend/types.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/import_/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/import_/common.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/import_/git.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/import_/import_.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/log.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/native_op.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/native_op.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/pretrain.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/sprint/cache.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/sprint/control.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/sprint/interface.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/dim.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tensor/utils.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/compat.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/distributed.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/engine.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/horovod.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/native_op.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/network.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/sprint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/updater.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/util/data.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/distributed.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/engine.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/optim/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/optim/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/optim/lion.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/updater.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/debug_inf_nan.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/exception_helper.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/module.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/__init__.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/bpe.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/collect_outputs_dict.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/debug.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/file_cache.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/fsa.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/lru_cache.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/math.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/pprint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/task_system.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn.egg-info/requires.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/rnn.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/setup.cfg +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/setup.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/DummySprintExec.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/_setup_test_env.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/lint_common.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/pylint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/rf_utils.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/spelling.dic +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_Config.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_Fsa.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_Log.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_Pretrain.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_ResNet.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TFEngine.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TFUtil.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_datasets_huggingface.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_demos.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_fork_exec.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_array.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_attention.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_base.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_cond.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_const.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_container.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_conv.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_decoder_transformer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_loop.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_math.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_rec.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_rf_signal.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_tensor.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_threading.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_tools.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_torch_engine.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/test_torch_util.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tests/torch_utils.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/collect-words.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/compile_native_op.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/dump-dataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/dump-forward.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/dump-network-json.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/dump-pickle.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/file-cache.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/get-attention-weights.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/hdf_dump.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
- {returnn-1.20251106.185107 → returnn-1.20251118.160612}/tools/torch_scale_tuning.py +0 -0
|
@@ -253,22 +253,12 @@ class MetaDataset(CachedDataset2):
|
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
self._seq_list_file = seq_list_file
|
|
256
|
-
self.seq_list_original =
|
|
257
|
-
self.
|
|
258
|
-
for key in self.dataset_keys:
|
|
259
|
-
assert len(self.seq_list_original[key]) == self.num_total_seqs
|
|
260
|
-
|
|
261
|
-
self.tag_idx = {tag: idx for (idx, tag) in enumerate(self.seq_list_original[self.default_dataset_key])}
|
|
256
|
+
self.seq_list_original: Optional[Dict[str, List[str]]] = None
|
|
257
|
+
self.tag_idx: Optional[Dict[str, int]] = None
|
|
262
258
|
|
|
263
259
|
self._seq_lens: Optional[Dict[str, NumbersDict]] = None
|
|
264
260
|
self._num_timesteps: Optional[NumbersDict] = None
|
|
265
261
|
self._seq_lens_file = seq_lens_file
|
|
266
|
-
if seq_lens_file:
|
|
267
|
-
seq_lens = load_json(filename=seq_lens_file)
|
|
268
|
-
assert isinstance(seq_lens, dict)
|
|
269
|
-
# dict[str,NumbersDict], seq-tag -> data-key -> len
|
|
270
|
-
self._seq_lens = {tag: NumbersDict(l) for (tag, l) in seq_lens.items()}
|
|
271
|
-
self._num_timesteps = sum([self._seq_lens[s] for s in self.seq_list_original[self.default_dataset_key]])
|
|
272
262
|
|
|
273
263
|
if data_dims:
|
|
274
264
|
data_dims = convert_data_dims(data_dims)
|
|
@@ -290,19 +280,20 @@ class MetaDataset(CachedDataset2):
|
|
|
290
280
|
self.num_outputs = self.data_dims
|
|
291
281
|
|
|
292
282
|
self.orig_seq_order_is_initialized = False
|
|
283
|
+
self._current_seq_order: List[int] = []
|
|
293
284
|
self.seq_list_ordered: Optional[Dict[str, List[str]]] = None
|
|
294
285
|
|
|
295
|
-
def
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if not seq_list_file:
|
|
286
|
+
def _lazy_init_seq_list(self):
|
|
287
|
+
if self.seq_list_original is not None:
|
|
288
|
+
return
|
|
289
|
+
|
|
290
|
+
if not self._seq_list_file:
|
|
301
291
|
# We create a sequence list from all the sequences of the default dataset
|
|
302
292
|
# and hope that it also applies to the
|
|
303
293
|
# other datasets.
|
|
304
294
|
# This can only work if all datasets have the same tag format and the sequences in the other
|
|
305
295
|
# datasets are a subset of those in the default dataset.
|
|
296
|
+
# (But the order does not matter.)
|
|
306
297
|
default_dataset = self.datasets[self.default_dataset_key]
|
|
307
298
|
assert isinstance(default_dataset, Dataset)
|
|
308
299
|
print(
|
|
@@ -349,17 +340,18 @@ class MetaDataset(CachedDataset2):
|
|
|
349
340
|
break # only print one
|
|
350
341
|
del seq_list_set
|
|
351
342
|
raise Exception("Dataset %r is missing seqs." % key)
|
|
352
|
-
elif isinstance(
|
|
353
|
-
seq_list = Dataset._load_seq_list_file(
|
|
354
|
-
elif isinstance(
|
|
343
|
+
elif isinstance(self._seq_list_file, str):
|
|
344
|
+
seq_list = Dataset._load_seq_list_file(self._seq_list_file, expect_list=False)
|
|
345
|
+
elif isinstance(self._seq_list_file, dict):
|
|
355
346
|
for key in self.dataset_keys:
|
|
356
|
-
if key not in
|
|
347
|
+
if key not in self._seq_list_file:
|
|
357
348
|
raise ValueError(f"seq_list_file does not contain all datasets, missing {key}")
|
|
358
|
-
seq_list = {key: Dataset._load_seq_list_file(
|
|
349
|
+
seq_list = {key: Dataset._load_seq_list_file(self._seq_list_file[key]) for key in self.dataset_keys}
|
|
359
350
|
else:
|
|
360
|
-
raise TypeError(f"unexpected seq_list_file type {type(
|
|
351
|
+
raise TypeError(f"unexpected seq_list_file type {type(self._seq_list_file)}")
|
|
361
352
|
|
|
362
353
|
if isinstance(seq_list, list):
|
|
354
|
+
# Use same seq list for all datasets
|
|
363
355
|
seq_list = {key: seq_list for key in self.dataset_keys}
|
|
364
356
|
elif isinstance(seq_list, dict):
|
|
365
357
|
for key in self.dataset_keys:
|
|
@@ -368,10 +360,29 @@ class MetaDataset(CachedDataset2):
|
|
|
368
360
|
else:
|
|
369
361
|
raise TypeError(f"unexpected seq_list type {type(seq_list)}")
|
|
370
362
|
|
|
371
|
-
|
|
363
|
+
for key in self.dataset_keys:
|
|
364
|
+
assert len(seq_list[key]) == len(seq_list[self.default_dataset_key])
|
|
365
|
+
|
|
366
|
+
self.seq_list_original = seq_list
|
|
367
|
+
|
|
368
|
+
def _lazy_init_tag_idx(self):
|
|
369
|
+
if self.tag_idx is not None:
|
|
370
|
+
return
|
|
371
|
+
self._lazy_init_seq_list()
|
|
372
|
+
self.tag_idx = {tag: idx for (idx, tag) in enumerate(self.seq_list_original[self.default_dataset_key])}
|
|
373
|
+
|
|
374
|
+
def _lazy_init_seq_lens(self):
|
|
375
|
+
if self._seq_lens is not None:
|
|
376
|
+
return
|
|
377
|
+
assert self._seq_lens_file
|
|
378
|
+
seq_lens = load_json(filename=self._seq_lens_file)
|
|
379
|
+
assert isinstance(seq_lens, dict)
|
|
380
|
+
# dict[str,NumbersDict], seq-tag -> data-key -> len
|
|
381
|
+
self._seq_lens = {tag: NumbersDict(lens) for (tag, lens) in seq_lens.items()}
|
|
372
382
|
|
|
373
383
|
def _get_dataset_seq_length(self, seq_idx: int):
|
|
374
384
|
if not self.orig_seq_order_is_initialized:
|
|
385
|
+
self._lazy_init_seq_list()
|
|
375
386
|
# To use get_seq_length() we first have to init the sequence order once in original order.
|
|
376
387
|
# If sequence lengths are not needed by get_seq_order_for_epoch this is never executed.
|
|
377
388
|
self.datasets[self.default_dataset_key].init_seq_order(
|
|
@@ -379,6 +390,9 @@ class MetaDataset(CachedDataset2):
|
|
|
379
390
|
)
|
|
380
391
|
self.orig_seq_order_is_initialized = True
|
|
381
392
|
|
|
393
|
+
# Warning: This is not correct in the general case.
|
|
394
|
+
# get_seq_length needs to have load_seqs called beforehand per API contract.
|
|
395
|
+
# For some datasets, it might anyway work.
|
|
382
396
|
return self.datasets[self.default_dataset_key].get_seq_length(seq_idx)["data"]
|
|
383
397
|
|
|
384
398
|
def init_seq_order(self, epoch=None, seq_list=None, seq_order=None):
|
|
@@ -392,6 +406,7 @@ class MetaDataset(CachedDataset2):
|
|
|
392
406
|
self.epoch is None
|
|
393
407
|
or self.epoch != epoch
|
|
394
408
|
or self.seq_list_ordered is None
|
|
409
|
+
or not self._current_seq_order
|
|
395
410
|
or seq_list is not None
|
|
396
411
|
or seq_order is not None
|
|
397
412
|
or self.expected_load_seq_start > 0
|
|
@@ -401,16 +416,17 @@ class MetaDataset(CachedDataset2):
|
|
|
401
416
|
# This is called via initialize() with epoch=None, just to init some other things.
|
|
402
417
|
# We are not expected to have prepared any real epoch here.
|
|
403
418
|
self._num_seqs = 0
|
|
419
|
+
self._current_seq_order = []
|
|
404
420
|
return True
|
|
405
421
|
|
|
406
422
|
if not need_reinit:
|
|
407
|
-
self._num_seqs = len(self.seq_list_ordered[self.default_dataset_key])
|
|
408
423
|
return False
|
|
409
424
|
|
|
410
425
|
seq_order_dataset = None
|
|
411
426
|
if seq_order is not None:
|
|
412
427
|
seq_index = seq_order
|
|
413
428
|
elif seq_list is not None:
|
|
429
|
+
self._lazy_init_tag_idx()
|
|
414
430
|
seq_index = [self.tag_idx[tag] for tag in seq_list]
|
|
415
431
|
elif self.seq_order_control_dataset:
|
|
416
432
|
seq_order_dataset = self.datasets[self.seq_order_control_dataset]
|
|
@@ -418,13 +434,15 @@ class MetaDataset(CachedDataset2):
|
|
|
418
434
|
seq_order_dataset.init_seq_order(epoch=epoch)
|
|
419
435
|
seq_index = seq_order_dataset.get_current_seq_order()
|
|
420
436
|
else:
|
|
421
|
-
if self.
|
|
437
|
+
if self._seq_lens_file:
|
|
422
438
|
|
|
423
439
|
def get_seq_len(s):
|
|
424
440
|
"""
|
|
425
441
|
:param int s:
|
|
426
442
|
:rtype: int
|
|
427
443
|
"""
|
|
444
|
+
self._lazy_init_seq_list()
|
|
445
|
+
self._lazy_init_seq_lens()
|
|
428
446
|
return self._seq_lens[self.seq_list_original[self.default_dataset_key][s]]["data"]
|
|
429
447
|
|
|
430
448
|
elif self._seq_order_seq_lens_file:
|
|
@@ -432,8 +450,10 @@ class MetaDataset(CachedDataset2):
|
|
|
432
450
|
else:
|
|
433
451
|
self.orig_seq_order_is_initialized = False
|
|
434
452
|
get_seq_len = self._get_dataset_seq_length
|
|
435
|
-
seq_index = self.get_seq_order_for_epoch(epoch, self.
|
|
453
|
+
seq_index = self.get_seq_order_for_epoch(epoch, self.get_total_num_seqs(), get_seq_len)
|
|
436
454
|
self._num_seqs = len(seq_index)
|
|
455
|
+
self._current_seq_order = seq_index
|
|
456
|
+
self._lazy_init_seq_list()
|
|
437
457
|
self.seq_list_ordered = {key: [ls[s] for s in seq_index] for (key, ls) in self.seq_list_original.items()}
|
|
438
458
|
|
|
439
459
|
for dataset_key, dataset in self.datasets.items():
|
|
@@ -447,7 +467,7 @@ class MetaDataset(CachedDataset2):
|
|
|
447
467
|
"""supports sorting"""
|
|
448
468
|
if self.seq_order_control_dataset:
|
|
449
469
|
return self.datasets[self.seq_order_control_dataset].supports_seq_order_sorting()
|
|
450
|
-
if self.
|
|
470
|
+
if self._seq_lens_file or self._seq_order_seq_lens_file:
|
|
451
471
|
return True
|
|
452
472
|
return False
|
|
453
473
|
|
|
@@ -464,20 +484,40 @@ class MetaDataset(CachedDataset2):
|
|
|
464
484
|
:return: current seq order for the current epoch, after self.init_seq_order was called.
|
|
465
485
|
:rtype: list[int]
|
|
466
486
|
"""
|
|
467
|
-
return
|
|
487
|
+
return self._current_seq_order
|
|
468
488
|
|
|
469
489
|
def get_all_tags(self):
|
|
470
490
|
"""
|
|
471
491
|
:return: list of all seq tags, of the whole dataset, without partition epoch
|
|
472
492
|
:rtype: list[str]
|
|
473
493
|
"""
|
|
494
|
+
if self._seq_list_file is None:
|
|
495
|
+
return self.datasets[self.default_dataset_key].get_all_tags()
|
|
496
|
+
self._lazy_init_seq_list()
|
|
497
|
+
assert self.seq_list_original is not None
|
|
474
498
|
return self.seq_list_original[self.default_dataset_key]
|
|
475
499
|
|
|
476
500
|
def get_total_num_seqs(self, *, fast: bool = False) -> int:
|
|
477
501
|
"""
|
|
502
|
+
:param fast: if True, might raise an exception if not possible to get fast.
|
|
478
503
|
:return: total number of seqs, without partition epoch
|
|
479
504
|
"""
|
|
480
|
-
|
|
505
|
+
if self._seq_list_file is None:
|
|
506
|
+
return self.datasets[self.default_dataset_key].get_total_num_seqs(fast=fast)
|
|
507
|
+
if fast and self.seq_list_original is None:
|
|
508
|
+
raise OptionalNotImplementedError(f"{self} get_total_num_seqs, seq list not loaded yet")
|
|
509
|
+
self._lazy_init_seq_list()
|
|
510
|
+
assert self.seq_list_original is not None
|
|
511
|
+
return len(self.seq_list_original[self.default_dataset_key])
|
|
512
|
+
|
|
513
|
+
def get_num_timesteps(self):
|
|
514
|
+
"""num timesteps"""
|
|
515
|
+
if self._num_timesteps is None and self._seq_lens_file:
|
|
516
|
+
self._lazy_init_seq_lens()
|
|
517
|
+
self._num_timesteps = sum([self._seq_lens[s] for s in self.get_all_tags()], start=NumbersDict())
|
|
518
|
+
if self._seq_list_file is None:
|
|
519
|
+
return self.datasets[self.default_dataset_key].get_num_timesteps()
|
|
520
|
+
return super().get_num_timesteps()
|
|
481
521
|
|
|
482
522
|
def finish_epoch(self, *, free_resources: bool = False):
|
|
483
523
|
"""
|
|
@@ -503,8 +543,9 @@ class MetaDataset(CachedDataset2):
|
|
|
503
543
|
if start_ < end:
|
|
504
544
|
for dataset_key in self.dataset_keys:
|
|
505
545
|
self.datasets[dataset_key].load_seqs(start_, end)
|
|
506
|
-
|
|
507
|
-
|
|
546
|
+
if self.seq_list_ordered is not None:
|
|
547
|
+
for seq_idx in range(start_, end):
|
|
548
|
+
self._check_dataset_seq(dataset_key, seq_idx)
|
|
508
549
|
super(MetaDataset, self)._load_seqs(start=start, end=end)
|
|
509
550
|
|
|
510
551
|
def _check_dataset_seq(self, dataset_key, seq_idx):
|
|
@@ -531,7 +572,7 @@ class MetaDataset(CachedDataset2):
|
|
|
531
572
|
:type seq_idx: int
|
|
532
573
|
:rtype: DatasetSeq
|
|
533
574
|
"""
|
|
534
|
-
seq_tag = self.
|
|
575
|
+
seq_tag = self.get_tag(seq_idx)
|
|
535
576
|
features = {data_key: self._get_data(seq_idx, data_key) for data_key in self.data_keys}
|
|
536
577
|
return DatasetSeq(seq_idx=seq_idx, seq_tag=seq_tag, features=features)
|
|
537
578
|
|
|
@@ -540,8 +581,9 @@ class MetaDataset(CachedDataset2):
|
|
|
540
581
|
:param int sorted_seq_idx:
|
|
541
582
|
:rtype: NumbersDict
|
|
542
583
|
"""
|
|
543
|
-
if self.
|
|
544
|
-
|
|
584
|
+
if self._seq_lens_file:
|
|
585
|
+
self._lazy_init_seq_lens()
|
|
586
|
+
return self._seq_lens[self.get_tag(sorted_seq_idx)]
|
|
545
587
|
return super(MetaDataset, self).get_seq_length(sorted_seq_idx)
|
|
546
588
|
|
|
547
589
|
def get_tag(self, sorted_seq_idx):
|
|
@@ -549,7 +591,10 @@ class MetaDataset(CachedDataset2):
|
|
|
549
591
|
:param int sorted_seq_idx:
|
|
550
592
|
:rtype: str
|
|
551
593
|
"""
|
|
552
|
-
|
|
594
|
+
if self.seq_list_ordered is not None:
|
|
595
|
+
return self.seq_list_ordered[self.default_dataset_key][sorted_seq_idx]
|
|
596
|
+
else:
|
|
597
|
+
return self.datasets[self.default_dataset_key].get_tag(sorted_seq_idx)
|
|
553
598
|
|
|
554
599
|
def get_complete_frac(self, sorted_seq_idx: int, **kwargs) -> Optional[float]:
|
|
555
600
|
"""
|
|
@@ -961,6 +1006,7 @@ class CombinedDataset(CachedDataset2):
|
|
|
961
1006
|
super(CombinedDataset, self).__init__(**kwargs)
|
|
962
1007
|
assert self.shuffle_frames_of_nseqs == 0 # not implemented. anyway only for non-recurrent nets
|
|
963
1008
|
|
|
1009
|
+
self.data_map = data_map
|
|
964
1010
|
self.dataset_keys = set([m[0] for m in data_map.keys()]) # type: typing.Set[str]
|
|
965
1011
|
self.dataset_idx2key_map = dict(enumerate(sorted(self.dataset_keys))) # idx -> dataset-key
|
|
966
1012
|
self.data_keys = set(data_map.values()) # type: typing.Set[str]
|
|
@@ -1248,6 +1294,10 @@ class CombinedDataset(CachedDataset2):
|
|
|
1248
1294
|
# Cur meaning for the next sequence to be added to dataset_sorted_seq_idx_list.
|
|
1249
1295
|
seq_idx = self.used_num_seqs_per_subset[dataset_idx]
|
|
1250
1296
|
cur_start, cur_end = self._sub_dataset_cur_loaded_seq_range[dataset_idx]
|
|
1297
|
+
|
|
1298
|
+
if not self.datasets[self.dataset_idx2key_map[dataset_idx]].is_less_than_num_seqs(seq_idx):
|
|
1299
|
+
return False
|
|
1300
|
+
|
|
1251
1301
|
if seq_idx >= cur_end:
|
|
1252
1302
|
self._sub_dataset_load_seqs(dataset_idx, cur_start, seq_idx + 1)
|
|
1253
1303
|
return True
|
|
@@ -1294,10 +1344,12 @@ class CombinedDataset(CachedDataset2):
|
|
|
1294
1344
|
complete_fracs_and_ds_idx = [
|
|
1295
1345
|
(
|
|
1296
1346
|
self.datasets[self.dataset_idx2key_map[j]].get_complete_frac(
|
|
1297
|
-
self.used_num_seqs_per_subset[j]
|
|
1347
|
+
self.used_num_seqs_per_subset[j], allow_only_lr_suitable=True
|
|
1348
|
+
)
|
|
1349
|
+
if self.datasets[self.dataset_idx2key_map[j]].is_less_than_num_seqs(
|
|
1350
|
+
self.used_num_seqs_per_subset[j]
|
|
1298
1351
|
)
|
|
1299
|
-
|
|
1300
|
-
else 0.0,
|
|
1352
|
+
else float("inf"),
|
|
1301
1353
|
j,
|
|
1302
1354
|
)
|
|
1303
1355
|
for j in range(len(self.datasets))
|
|
@@ -1309,9 +1361,7 @@ class CombinedDataset(CachedDataset2):
|
|
|
1309
1361
|
# Sort by complete frac, i.e. datasets with the lowest complete frac first.
|
|
1310
1362
|
complete_fracs_and_ds_idx.sort()
|
|
1311
1363
|
for complete_frac, dataset_idx in complete_fracs_and_ds_idx:
|
|
1312
|
-
if
|
|
1313
|
-
self.used_num_seqs_per_subset[dataset_idx]
|
|
1314
|
-
):
|
|
1364
|
+
if complete_frac < float("inf"):
|
|
1315
1365
|
break
|
|
1316
1366
|
else:
|
|
1317
1367
|
return False # No dataset has remaining data
|
|
@@ -365,12 +365,9 @@ def get_checkpoint_filepattern(filepath):
|
|
|
365
365
|
:return: CheckpointLoader compatible filepattern
|
|
366
366
|
:rtype: str
|
|
367
367
|
"""
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
return filepath[: -len(".index")]
|
|
372
|
-
elif filepath.endswith(".pt"):
|
|
373
|
-
return filepath[: -len(".pt")]
|
|
368
|
+
for ext in [".meta", ".index", ".pt"]:
|
|
369
|
+
if filepath.endswith(ext):
|
|
370
|
+
return filepath[: -len(ext)]
|
|
374
371
|
return filepath
|
|
375
372
|
|
|
376
373
|
|
|
@@ -1093,6 +1093,7 @@ def format_tb(
|
|
|
1093
1093
|
with_color=None,
|
|
1094
1094
|
with_vars=None,
|
|
1095
1095
|
clear_frames=True,
|
|
1096
|
+
colorize=None,
|
|
1096
1097
|
):
|
|
1097
1098
|
"""
|
|
1098
1099
|
Formats a traceback into a list of strings, each corresponding to one frame.
|
|
@@ -1110,11 +1111,14 @@ def format_tb(
|
|
|
1110
1111
|
That will potentially fix some mem leaks regarding locals, so it can be important.
|
|
1111
1112
|
Also see https://github.com/python/cpython/issues/113939.
|
|
1112
1113
|
However, any further access to frame locals will not work (e.g., if you want to use a debugger afterward).
|
|
1114
|
+
:param colorize: for compat with Python >=3.13, currently ignored
|
|
1113
1115
|
:return: list of strings, each corresponding to one frame in the traceback.
|
|
1114
1116
|
Each string contains the file name, line number, function name, source code line, maybe relevant variables,
|
|
1115
1117
|
etc., and a final newline.
|
|
1116
1118
|
:rtype: list[str]
|
|
1117
1119
|
"""
|
|
1120
|
+
if colorize is not None and with_color is None:
|
|
1121
|
+
with_color = colorize
|
|
1118
1122
|
color = Color(enable=with_color)
|
|
1119
1123
|
output = _OutputLinesCollector(color=color)
|
|
1120
1124
|
|
|
@@ -906,6 +906,52 @@ def test_MetaDataset():
|
|
|
906
906
|
assert len(classes) == len(_demo_txt) + 1
|
|
907
907
|
|
|
908
908
|
|
|
909
|
+
def test_MetaDataset_LmDataset_lazy_init():
|
|
910
|
+
# https://github.com/rwth-i6/returnn/issues/1793
|
|
911
|
+
from returnn.datasets.lm import LmDataset
|
|
912
|
+
|
|
913
|
+
with tempfile.NamedTemporaryFile("wt", suffix=".txt") as txt_file:
|
|
914
|
+
txt_file.write("Hello world\n")
|
|
915
|
+
txt_file.write("Next line\n")
|
|
916
|
+
txt_file.flush()
|
|
917
|
+
|
|
918
|
+
orig_lazy_init = LmDataset._lazy_init
|
|
919
|
+
|
|
920
|
+
try:
|
|
921
|
+
|
|
922
|
+
def _wrapped_lazy_init(self):
|
|
923
|
+
print(f"{self} lazy init...")
|
|
924
|
+
raise Exception("we want to test that lazy init is not called")
|
|
925
|
+
|
|
926
|
+
LmDataset._lazy_init = _wrapped_lazy_init
|
|
927
|
+
|
|
928
|
+
dataset = init_dataset(
|
|
929
|
+
{
|
|
930
|
+
"class": "MetaDataset",
|
|
931
|
+
"datasets": {
|
|
932
|
+
"base": {
|
|
933
|
+
"class": "LmDataset",
|
|
934
|
+
"corpus_file": txt_file.name,
|
|
935
|
+
"use_cache_manager": True,
|
|
936
|
+
"skip_empty_lines": False,
|
|
937
|
+
"orth_vocab": {"class": "Utf8ByteTargets"},
|
|
938
|
+
"seq_end_symbol": None,
|
|
939
|
+
"unknown_symbol": None,
|
|
940
|
+
"partition_epoch": 2,
|
|
941
|
+
"seq_ordering": "laplace:.10",
|
|
942
|
+
}
|
|
943
|
+
},
|
|
944
|
+
"data_map": {"data": ("base", "data")},
|
|
945
|
+
"seq_order_control_dataset": "base",
|
|
946
|
+
}
|
|
947
|
+
)
|
|
948
|
+
print("Dataset:", dataset)
|
|
949
|
+
print("len info:", dataset.len_info(fast=True))
|
|
950
|
+
|
|
951
|
+
finally:
|
|
952
|
+
LmDataset._lazy_init = orig_lazy_init
|
|
953
|
+
|
|
954
|
+
|
|
909
955
|
def test_CombinedDataset():
|
|
910
956
|
seq_len = 11
|
|
911
957
|
num_seqs = [10, 5]
|
|
@@ -976,17 +1022,16 @@ def test_CombinedDataset():
|
|
|
976
1022
|
seqs = dummy_iter_dataset(dataset)
|
|
977
1023
|
assert len(seqs) == sum(num_seqs)
|
|
978
1024
|
beginnings = []
|
|
979
|
-
|
|
1025
|
+
ds_indices = []
|
|
980
1026
|
for i, seq in enumerate(seqs):
|
|
981
1027
|
relevant_ds_idx = [i for i, k in enumerate(keys) if seq.features[k].shape[0] > 0]
|
|
982
1028
|
assert len(relevant_ds_idx) == 1
|
|
983
1029
|
ds_idx = relevant_ds_idx[0]
|
|
984
|
-
|
|
985
|
-
assert complete_fracs[ds_idx] == min(complete_fracs)
|
|
1030
|
+
ds_indices.append(ds_idx)
|
|
986
1031
|
beginnings.append(int(seq.features[keys[ds_idx]][0]))
|
|
987
|
-
visited_num_seqs[ds_idx] += 1
|
|
988
1032
|
assert len(set(beginnings)) == sum(num_seqs) # unique, see above
|
|
989
|
-
assert
|
|
1033
|
+
assert len(ds_indices) == sum(num_seqs)
|
|
1034
|
+
assert ds_indices == [0, 0, 1] * 5
|
|
990
1035
|
|
|
991
1036
|
|
|
992
1037
|
def test_MapDatasetWrapper():
|
|
@@ -21,7 +21,7 @@ my_dir = os.path.dirname(os.path.realpath(__file__))
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def _sig_alarm_handler(signum, frame):
|
|
24
|
-
raise Exception(
|
|
24
|
+
raise Exception("Alarm (timeout) signal handler")
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
signal.signal(signal.SIGALRM, _sig_alarm_handler)
|
|
@@ -200,6 +200,22 @@ def test_NumbersDict_eq_2():
|
|
|
200
200
|
assert a != 5
|
|
201
201
|
|
|
202
202
|
|
|
203
|
+
def test_NumbersDict_add0():
|
|
204
|
+
a = NumbersDict(numbers_dict={"data": 3, "classes": 2}, broadcast_value=1)
|
|
205
|
+
b = NumbersDict() + a
|
|
206
|
+
assert isinstance(b, NumbersDict)
|
|
207
|
+
assert b.value == 1
|
|
208
|
+
assert b.dict == {"data": 3, "classes": 2}
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def test_NumbersDict_add0a():
|
|
212
|
+
a = NumbersDict(numbers_dict={"data": 3, "classes": 2})
|
|
213
|
+
b = NumbersDict() + a
|
|
214
|
+
assert isinstance(b, NumbersDict)
|
|
215
|
+
assert b.value is None
|
|
216
|
+
assert b.dict == {"data": 3, "classes": 2}
|
|
217
|
+
|
|
218
|
+
|
|
203
219
|
def test_NumbersDict_mul():
|
|
204
220
|
a = NumbersDict(numbers_dict={"data": 3, "classes": 2}, broadcast_value=1)
|
|
205
221
|
b = a * 2
|
|
@@ -599,11 +615,11 @@ def test_import_wrong_pkg_py_import():
|
|
|
599
615
|
del sys.modules[mod_name]
|
|
600
616
|
|
|
601
617
|
try:
|
|
602
|
-
import returnn_import.github_com.rwth_i6.returnn_experiments.v20210302153450_10beb9d1c57e
|
|
618
|
+
import returnn_import.github_com.rwth_i6.returnn_experiments.v20210302153450_10beb9d1c57e as _mod
|
|
603
619
|
except MissingExplicitImport as exc: # but *not* a normal ImportError
|
|
604
620
|
print("Got expected exception:", exc)
|
|
605
621
|
else:
|
|
606
|
-
raise Exception("We expected an import error exception but got nothing
|
|
622
|
+
raise Exception(f"We expected an import error exception but got nothing and module {_mod}")
|
|
607
623
|
|
|
608
624
|
|
|
609
625
|
def test_literal_py_to_pickle():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-record-and-push-to-webserver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20251106.185107 → returnn-1.20251118.160612}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|