returnn 1.20251027.117__tar.gz → 1.20251027.232712__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.20251027.117/returnn.egg-info → returnn-1.20251027.232712}/PKG-INFO +1 -1
- returnn-1.20251027.232712/_setup_info_generated.py +2 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/config.py +1 -1
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/generating.py +3 -5
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/meta.py +88 -22
- {returnn-1.20251027.117 → returnn-1.20251027.232712/returnn.egg-info}/PKG-INFO +1 -1
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_Dataset.py +83 -0
- returnn-1.20251027.117/_setup_info_generated.py +0 -2
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/.editorconfig +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/.gitignore +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/.gitmodules +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/.kateconfig +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/CHANGELOG.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/CODEOWNERS +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/CONTRIBUTING.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/LICENSE +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/MANIFEST.in +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/README.rst +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/12AX.cluster_map +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-fwd.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-list-devices.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-pretrain.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-rf.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-torch.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo.sh +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/pyproject.toml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/requirements.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/__main__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/__setup__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/audio.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/basic.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/cached.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/huggingface.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/lm.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/map.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/postprocessing.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/text_dict.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/engine/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/engine/base.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/engine/batch.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/forward_iface.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_cache.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/array_.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/attention.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/backend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/cond.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/const.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/container.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/conv.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/conversions/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/conversions/hf_llama.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/conversions/torch_nn.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/device.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/dims.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/encoder/conformer_v2.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/encoder/e_branchformer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/encoder/transformer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/graph.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/init.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/linear.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/loop.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/loss.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/math_.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/module.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/nested.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/rand.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/rec.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/signal.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/state.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/frontend/types.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/import_/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/import_/common.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/import_/git.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/import_/import_.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/log.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/native_op.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/native_op.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/pretrain.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/sprint/cache.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/sprint/control.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/sprint/interface.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/dim.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tensor/utils.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/compat.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/distributed.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/engine.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/horovod.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/native_op.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/network.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/sprint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/updater.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/util/data.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/distributed.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/engine.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/optim/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/optim/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/optim/lion.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/updater.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/debug_inf_nan.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/exception_helper.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/module.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/__init__.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/basic.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/bpe.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/collect_outputs_dict.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/debug.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/file_cache.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/fsa.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/lru_cache.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/math.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/pprint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/task_system.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn.egg-info/requires.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/rnn.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/setup.cfg +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/setup.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/DummySprintExec.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/_setup_test_env.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/lint_common.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/pylint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/rf_utils.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/spelling.dic +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_Config.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_Fsa.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_Log.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_Pretrain.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_ResNet.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TFEngine.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TFUtil.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_Util.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_datasets_huggingface.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_demos.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_fork_exec.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_array.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_attention.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_base.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_cond.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_const.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_container.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_conv.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_decoder_transformer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_loop.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_math.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_rec.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_rf_signal.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_tensor.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_threading.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_tools.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_torch_engine.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/test_torch_util.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tests/torch_utils.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/collect-words.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/compile_native_op.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/dump-dataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/dump-forward.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/dump-network-json.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/dump-pickle.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/file-cache.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/get-attention-weights.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/hdf_dump.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
- {returnn-1.20251027.117 → returnn-1.20251027.232712}/tools/torch_scale_tuning.py +0 -0
|
@@ -801,7 +801,7 @@ class SubProcCopyGlobalConfigPreInitFunc:
|
|
|
801
801
|
from returnn.log import log
|
|
802
802
|
from returnn import __old_mod_loader__
|
|
803
803
|
|
|
804
|
-
better_exchook.
|
|
804
|
+
better_exchook.setup_all()
|
|
805
805
|
__old_mod_loader__.disable_lazy_mod_loads()
|
|
806
806
|
|
|
807
807
|
if self.global_config:
|
|
@@ -1164,11 +1164,9 @@ class StaticDataset(CachedDataset2):
|
|
|
1164
1164
|
"""supports sorting"""
|
|
1165
1165
|
return True
|
|
1166
1166
|
|
|
1167
|
-
def _collect_single_seq(self, seq_idx):
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
:rtype: DatasetSeq
|
|
1171
|
-
"""
|
|
1167
|
+
def _collect_single_seq(self, seq_idx: int) -> Optional[DatasetSeq]:
|
|
1168
|
+
if seq_idx >= len(self._seq_order):
|
|
1169
|
+
return None
|
|
1172
1170
|
corpus_seq_idx = self._seq_order[seq_idx]
|
|
1173
1171
|
data = self.data[corpus_seq_idx]
|
|
1174
1172
|
return DatasetSeq(
|
|
@@ -964,7 +964,6 @@ class CombinedDataset(CachedDataset2):
|
|
|
964
964
|
self.dataset_keys = set([m[0] for m in data_map.keys()]) # type: typing.Set[str]
|
|
965
965
|
self.dataset_idx2key_map = dict(enumerate(sorted(self.dataset_keys))) # idx -> dataset-key
|
|
966
966
|
self.data_keys = set(data_map.values()) # type: typing.Set[str]
|
|
967
|
-
assert "data" in self.data_keys
|
|
968
967
|
self.target_list = sorted(self.data_keys - {"data"})
|
|
969
968
|
|
|
970
969
|
# Build target lookup table that maps from dataset_key and data_key (data key used by CombinedDataset)
|
|
@@ -994,8 +993,7 @@ class CombinedDataset(CachedDataset2):
|
|
|
994
993
|
if data_dims:
|
|
995
994
|
data_dims = convert_data_dims(data_dims)
|
|
996
995
|
self.data_dims = data_dims
|
|
997
|
-
|
|
998
|
-
for key in self.target_list:
|
|
996
|
+
for key in self.data_keys:
|
|
999
997
|
assert key in data_dims
|
|
1000
998
|
else:
|
|
1001
999
|
self.data_dims = {}
|
|
@@ -1009,7 +1007,7 @@ class CombinedDataset(CachedDataset2):
|
|
|
1009
1007
|
if dataset_data_key in dataset.labels:
|
|
1010
1008
|
self.labels[data_key] = dataset.labels[dataset_data_key]
|
|
1011
1009
|
|
|
1012
|
-
self.num_inputs = self.data_dims["data"][0]
|
|
1010
|
+
self.num_inputs = self.data_dims["data"][0] if "data" in self.data_dims else 0
|
|
1013
1011
|
self.num_outputs = self.data_dims
|
|
1014
1012
|
|
|
1015
1013
|
self.data_dtypes = {
|
|
@@ -1019,6 +1017,9 @@ class CombinedDataset(CachedDataset2):
|
|
|
1019
1017
|
|
|
1020
1018
|
self.dataset_seq_idx_boundaries: Optional[List[int]] = None
|
|
1021
1019
|
self.dataset_sorted_seq_idx_list: Optional[List[Tuple[int, int]]] = None
|
|
1020
|
+
self._sub_dataset_cur_loaded_seq_range: Optional[List[Tuple[int, int]]] = None
|
|
1021
|
+
# The usage is about the seqs already covered in dataset_sorted_seq_idx_list,
|
|
1022
|
+
# in case we dynamically build up this list.
|
|
1022
1023
|
self.used_num_seqs_per_subset: Optional[List[int]] = None
|
|
1023
1024
|
|
|
1024
1025
|
def init_seq_order(self, epoch=None, seq_list=None, seq_order=None):
|
|
@@ -1030,7 +1031,7 @@ class CombinedDataset(CachedDataset2):
|
|
|
1030
1031
|
"""
|
|
1031
1032
|
|
|
1032
1033
|
assert seq_list is None and seq_order is None, "seq_list and seq_order not supported for %s" % self.__class__
|
|
1033
|
-
need_reinit = self.epoch is None or self.epoch != epoch
|
|
1034
|
+
need_reinit = self.epoch is None or self.epoch != epoch or self.expected_load_seq_start > 0
|
|
1034
1035
|
num_seqs_saved = self._num_seqs
|
|
1035
1036
|
super(CombinedDataset, self).init_seq_order(
|
|
1036
1037
|
epoch=epoch, seq_list=seq_list, seq_order=seq_order
|
|
@@ -1047,13 +1048,15 @@ class CombinedDataset(CachedDataset2):
|
|
|
1047
1048
|
for dataset in self.datasets.values():
|
|
1048
1049
|
dataset.init_seq_order(epoch=epoch)
|
|
1049
1050
|
|
|
1051
|
+
self._sub_dataset_cur_loaded_seq_range = [(0, 0)] * len(self.datasets)
|
|
1052
|
+
|
|
1050
1053
|
# noinspection PyBroadException
|
|
1051
1054
|
try:
|
|
1052
1055
|
total_num_seqs = sum([self.datasets[k].num_seqs for k in sorted(self.datasets.keys())])
|
|
1053
1056
|
except Exception:
|
|
1054
1057
|
total_num_seqs = None
|
|
1055
1058
|
|
|
1056
|
-
if total_num_seqs is not None:
|
|
1059
|
+
if total_num_seqs is not None and self.seq_ordering != "interleave":
|
|
1057
1060
|
self.dataset_seq_idx_boundaries = self._create_dataset_seq_idx_boundaries()
|
|
1058
1061
|
|
|
1059
1062
|
if self.sampling_sizes:
|
|
@@ -1090,7 +1093,7 @@ class CombinedDataset(CachedDataset2):
|
|
|
1090
1093
|
|
|
1091
1094
|
# Re-initialize sequence orders of sub-datasets with created sequence list.
|
|
1092
1095
|
self.used_num_seqs_per_subset = []
|
|
1093
|
-
for dataset_idx, dataset_key in self.dataset_idx2key_map.items():
|
|
1096
|
+
for dataset_idx, dataset_key in sorted(self.dataset_idx2key_map.items()):
|
|
1094
1097
|
assert self.datasets[dataset_key].have_corpus_seq_idx()
|
|
1095
1098
|
self.datasets[dataset_key].init_seq_order(epoch=epoch, seq_order=seq_order_subdatasets[dataset_idx])
|
|
1096
1099
|
self.used_num_seqs_per_subset.append(len(seq_order_subdatasets[dataset_idx]))
|
|
@@ -1098,6 +1101,11 @@ class CombinedDataset(CachedDataset2):
|
|
|
1098
1101
|
else:
|
|
1099
1102
|
self.dataset_sorted_seq_idx_list = [] # We will fill this as we go
|
|
1100
1103
|
self.used_num_seqs_per_subset = [0] * len(self.datasets)
|
|
1104
|
+
self._num_seqs = total_num_seqs
|
|
1105
|
+
|
|
1106
|
+
# These are currently not supported/implemented.
|
|
1107
|
+
# All of these should just be done in the sub-datasets directly.
|
|
1108
|
+
assert self.partition_epoch == 1 and self.repeat_epoch == 1 and self._num_shards == 1
|
|
1101
1109
|
|
|
1102
1110
|
return True
|
|
1103
1111
|
|
|
@@ -1236,13 +1244,30 @@ class CombinedDataset(CachedDataset2):
|
|
|
1236
1244
|
|
|
1237
1245
|
return dataset.get_estimated_seq_length(dataset_seq_idx)
|
|
1238
1246
|
|
|
1239
|
-
def
|
|
1247
|
+
def _sub_dataset_make_cur_loaded(self, dataset_idx: int) -> bool:
|
|
1248
|
+
# Cur meaning for the next sequence to be added to dataset_sorted_seq_idx_list.
|
|
1249
|
+
seq_idx = self.used_num_seqs_per_subset[dataset_idx]
|
|
1250
|
+
cur_start, cur_end = self._sub_dataset_cur_loaded_seq_range[dataset_idx]
|
|
1251
|
+
if seq_idx >= cur_end:
|
|
1252
|
+
self._sub_dataset_load_seqs(dataset_idx, cur_start, seq_idx + 1)
|
|
1253
|
+
return True
|
|
1254
|
+
elif seq_idx < cur_start:
|
|
1255
|
+
return False
|
|
1256
|
+
else:
|
|
1257
|
+
return True
|
|
1258
|
+
|
|
1259
|
+
def _expand_dataset_seq_idxs(self, num_values: int) -> bool:
|
|
1240
1260
|
"""
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1261
|
+
Try to extend dataset_sorted_seq_idx_list.
|
|
1262
|
+
We expect that we have reached the end of it.
|
|
1263
|
+
|
|
1264
|
+
:param num_values: Add num_values entries to the dataset-segment-idx mapping table
|
|
1265
|
+
:return: whether we added num_values entries
|
|
1244
1266
|
"""
|
|
1245
|
-
for
|
|
1267
|
+
for _ in range(num_values):
|
|
1268
|
+
for j in range(len(self.datasets)):
|
|
1269
|
+
self._sub_dataset_make_cur_loaded(j)
|
|
1270
|
+
|
|
1246
1271
|
if self.seq_ordering == "default": # i.e. in order
|
|
1247
1272
|
dataset_idx = 0
|
|
1248
1273
|
while dataset_idx < len(self.datasets):
|
|
@@ -1265,6 +1290,32 @@ class CombinedDataset(CachedDataset2):
|
|
|
1265
1290
|
else:
|
|
1266
1291
|
return False # No dataset has remaining data
|
|
1267
1292
|
|
|
1293
|
+
elif self.seq_ordering == "interleave":
|
|
1294
|
+
complete_fracs_and_ds_idx = [
|
|
1295
|
+
(
|
|
1296
|
+
self.datasets[self.dataset_idx2key_map[j]].get_complete_frac(
|
|
1297
|
+
self.used_num_seqs_per_subset[j] - 1, allow_only_lr_suitable=True
|
|
1298
|
+
)
|
|
1299
|
+
if self.used_num_seqs_per_subset[j] > 0
|
|
1300
|
+
else 0.0,
|
|
1301
|
+
j,
|
|
1302
|
+
)
|
|
1303
|
+
for j in range(len(self.datasets))
|
|
1304
|
+
]
|
|
1305
|
+
assert all(frac is not None for frac, _ in complete_fracs_and_ds_idx), (
|
|
1306
|
+
f"{self}: Datasets must provide complete frac for interleave,"
|
|
1307
|
+
f" got {complete_fracs_and_ds_idx}, dataset idx2key map {self.dataset_idx2key_map}"
|
|
1308
|
+
)
|
|
1309
|
+
# Sort by complete frac, i.e. datasets with the lowest complete frac first.
|
|
1310
|
+
complete_fracs_and_ds_idx.sort()
|
|
1311
|
+
for complete_frac, dataset_idx in complete_fracs_and_ds_idx:
|
|
1312
|
+
if self.datasets[self.dataset_idx2key_map[dataset_idx]].is_less_than_num_seqs(
|
|
1313
|
+
self.used_num_seqs_per_subset[dataset_idx]
|
|
1314
|
+
):
|
|
1315
|
+
break
|
|
1316
|
+
else:
|
|
1317
|
+
return False # No dataset has remaining data
|
|
1318
|
+
|
|
1268
1319
|
elif self.seq_ordering == "random_dataset":
|
|
1269
1320
|
while True:
|
|
1270
1321
|
# Build probability table
|
|
@@ -1323,19 +1374,23 @@ class CombinedDataset(CachedDataset2):
|
|
|
1323
1374
|
def _load_seqs(self, start, end):
|
|
1324
1375
|
# If the segment order is not yet known, fix the next few segments
|
|
1325
1376
|
if end > len(self.dataset_sorted_seq_idx_list):
|
|
1326
|
-
self.
|
|
1377
|
+
self._expand_dataset_seq_idxs(end - len(self.dataset_sorted_seq_idx_list))
|
|
1327
1378
|
|
|
1328
1379
|
requested_seqs = self.dataset_sorted_seq_idx_list[start:end]
|
|
1329
1380
|
|
|
1330
1381
|
for dataset_idx in range(len(self.datasets)):
|
|
1331
|
-
dataset = self.datasets[self.dataset_idx2key_map[dataset_idx]]
|
|
1332
1382
|
sub_requested_seqs = [s[1] for s in requested_seqs if s[0] == dataset_idx]
|
|
1333
1383
|
if not sub_requested_seqs:
|
|
1334
1384
|
continue
|
|
1335
1385
|
sub_start, sub_end = min(sub_requested_seqs), max(sub_requested_seqs)
|
|
1336
|
-
|
|
1386
|
+
self._sub_dataset_load_seqs(dataset_idx, sub_start, sub_end + 1)
|
|
1337
1387
|
super(CombinedDataset, self)._load_seqs(start=start, end=end)
|
|
1338
1388
|
|
|
1389
|
+
def _sub_dataset_load_seqs(self, dataset_idx: int, start: int, end: int):
|
|
1390
|
+
self._sub_dataset_cur_loaded_seq_range[dataset_idx] = (start, end)
|
|
1391
|
+
dataset = self.datasets[self.dataset_idx2key_map[dataset_idx]]
|
|
1392
|
+
dataset.load_seqs(start, end)
|
|
1393
|
+
|
|
1339
1394
|
def _get_data(self, dataset_key, dataset_seq_idx, data_key):
|
|
1340
1395
|
"""
|
|
1341
1396
|
:type dataset_seq_idx: int
|
|
@@ -1365,19 +1420,30 @@ class CombinedDataset(CachedDataset2):
|
|
|
1365
1420
|
dataset = self.datasets[dataset_key]
|
|
1366
1421
|
|
|
1367
1422
|
seq_tag = dataset.get_tag(dataset_seq_idx)
|
|
1368
|
-
features = self._get_data(dataset_key, dataset_seq_idx,
|
|
1369
|
-
|
|
1370
|
-
|
|
1423
|
+
features = {key: self._get_data(dataset_key, dataset_seq_idx, key) for key in self.data_keys}
|
|
1424
|
+
complete_frac = None
|
|
1425
|
+
if self.seq_ordering == "interleave":
|
|
1426
|
+
# In the interleave case, by design, this should be monotonically increasing,
|
|
1427
|
+
# as per how we select the next seq in _expand_dataset_seq_idxs.
|
|
1428
|
+
complete_frac = dataset.get_complete_frac(dataset_seq_idx, allow_only_lr_suitable=True)
|
|
1429
|
+
# In other cases, complete_frac is not so straightforward.
|
|
1430
|
+
# In the case that the total num seqs is known, then it's anyway not necessary.
|
|
1431
|
+
return DatasetSeq(seq_idx=seq_idx, complete_frac=complete_frac, seq_tag=seq_tag, features=features)
|
|
1371
1432
|
|
|
1372
|
-
def is_less_than_num_seqs(self, n):
|
|
1433
|
+
def is_less_than_num_seqs(self, n: int) -> bool:
|
|
1373
1434
|
"""
|
|
1374
|
-
:param
|
|
1375
|
-
:rtype: bool
|
|
1435
|
+
:param n:
|
|
1376
1436
|
"""
|
|
1377
1437
|
if n < len(self.dataset_sorted_seq_idx_list):
|
|
1378
1438
|
return True
|
|
1379
1439
|
else:
|
|
1380
|
-
return self.
|
|
1440
|
+
return self._expand_dataset_seq_idxs(n - len(self.dataset_sorted_seq_idx_list) + 1)
|
|
1441
|
+
|
|
1442
|
+
def get_data_keys(self) -> List[str]:
|
|
1443
|
+
"""data keys"""
|
|
1444
|
+
if "data" in self.data_keys:
|
|
1445
|
+
return ["data"] + sorted(self.data_keys - {"data"})
|
|
1446
|
+
return sorted(self.data_keys)
|
|
1381
1447
|
|
|
1382
1448
|
def get_target_list(self):
|
|
1383
1449
|
"""
|
|
@@ -906,6 +906,89 @@ def test_MetaDataset():
|
|
|
906
906
|
assert len(classes) == len(_demo_txt) + 1
|
|
907
907
|
|
|
908
908
|
|
|
909
|
+
def test_CombinedDataset():
|
|
910
|
+
seq_len = 11
|
|
911
|
+
num_seqs = [10, 5]
|
|
912
|
+
num_sub_ds = len(num_seqs)
|
|
913
|
+
max_idx = num_sub_ds * max(num_seqs) * seq_len
|
|
914
|
+
keys = [f"data{ds_idx}" for ds_idx in range(num_sub_ds)]
|
|
915
|
+
data = [
|
|
916
|
+
[
|
|
917
|
+
numpy.array(
|
|
918
|
+
[ds_idx * max(num_seqs) * seq_len + seq_idx * seq_len + t for t in range(seq_len)],
|
|
919
|
+
dtype="int32",
|
|
920
|
+
)
|
|
921
|
+
for seq_idx in range(num_seqs[ds_idx])
|
|
922
|
+
]
|
|
923
|
+
for ds_idx in range(num_sub_ds)
|
|
924
|
+
]
|
|
925
|
+
data_flat = sum(data, [])
|
|
926
|
+
assert len(data_flat) == sum(num_seqs)
|
|
927
|
+
assert len(set(int(v[0]) for v in data_flat)) == sum(num_seqs) # unique
|
|
928
|
+
n_tgt_dim = max_idx
|
|
929
|
+
sub_ds_dicts = [
|
|
930
|
+
{
|
|
931
|
+
"class": "StaticDataset",
|
|
932
|
+
"data": [{keys[ds_idx]: values} for values in data[ds_idx]],
|
|
933
|
+
"output_dim": {keys[ds_idx]: (n_tgt_dim, 1)},
|
|
934
|
+
}
|
|
935
|
+
for ds_idx in range(num_sub_ds)
|
|
936
|
+
]
|
|
937
|
+
|
|
938
|
+
combined_ds_opts = {
|
|
939
|
+
"class": "CombinedDataset",
|
|
940
|
+
"datasets": {str(ds_idx): sub_ds_dicts[ds_idx] for ds_idx in range(num_sub_ds)},
|
|
941
|
+
"data_map": {(str(ds_idx), keys[ds_idx]): keys[ds_idx] for ds_idx in range(num_sub_ds)},
|
|
942
|
+
}
|
|
943
|
+
dataset = init_dataset(combined_ds_opts)
|
|
944
|
+
print("CombinedDataset:", dataset)
|
|
945
|
+
|
|
946
|
+
print("Testing default seq ordering...")
|
|
947
|
+
assert dataset.seq_ordering == "default"
|
|
948
|
+
seqs = dummy_iter_dataset(dataset)
|
|
949
|
+
assert len(seqs) == sum(num_seqs)
|
|
950
|
+
cur_ds_idx = 0
|
|
951
|
+
cur_sub_seq_idx = 0
|
|
952
|
+
for i, seq in enumerate(seqs):
|
|
953
|
+
assert all(seq.features[keys[cur_ds_idx]] == data[cur_ds_idx][cur_sub_seq_idx])
|
|
954
|
+
assert set(seq.features.keys()) == set(keys)
|
|
955
|
+
assert all(seq.features[other_key].shape == (0,) for other_key in keys if other_key != keys[cur_ds_idx])
|
|
956
|
+
cur_sub_seq_idx += 1
|
|
957
|
+
if cur_sub_seq_idx >= num_seqs[cur_ds_idx]:
|
|
958
|
+
cur_ds_idx += 1
|
|
959
|
+
cur_sub_seq_idx = 0
|
|
960
|
+
assert cur_ds_idx == num_sub_ds and cur_sub_seq_idx == 0
|
|
961
|
+
|
|
962
|
+
print("Testing random_dataset seq ordering...")
|
|
963
|
+
dataset.seq_ordering = "random_dataset"
|
|
964
|
+
seqs = dummy_iter_dataset(dataset)
|
|
965
|
+
assert len(seqs) == sum(num_seqs)
|
|
966
|
+
beginnings = []
|
|
967
|
+
for i, seq in enumerate(seqs):
|
|
968
|
+
relevant_keys = [k for k in keys if seq.features[k].shape[0] > 0]
|
|
969
|
+
assert len(relevant_keys) == 1
|
|
970
|
+
k = relevant_keys[0]
|
|
971
|
+
beginnings.append(int(seq.features[k][0]))
|
|
972
|
+
assert len(set(beginnings)) == sum(num_seqs) # unique, see above
|
|
973
|
+
|
|
974
|
+
print("Testing interleave seq ordering...")
|
|
975
|
+
dataset.seq_ordering = "interleave"
|
|
976
|
+
seqs = dummy_iter_dataset(dataset)
|
|
977
|
+
assert len(seqs) == sum(num_seqs)
|
|
978
|
+
beginnings = []
|
|
979
|
+
visited_num_seqs = [0] * num_sub_ds
|
|
980
|
+
for i, seq in enumerate(seqs):
|
|
981
|
+
relevant_ds_idx = [i for i, k in enumerate(keys) if seq.features[k].shape[0] > 0]
|
|
982
|
+
assert len(relevant_ds_idx) == 1
|
|
983
|
+
ds_idx = relevant_ds_idx[0]
|
|
984
|
+
complete_fracs = [visited_num_seqs[j] / num_seqs[j] for j in range(num_sub_ds)]
|
|
985
|
+
assert complete_fracs[ds_idx] == min(complete_fracs)
|
|
986
|
+
beginnings.append(int(seq.features[keys[ds_idx]][0]))
|
|
987
|
+
visited_num_seqs[ds_idx] += 1
|
|
988
|
+
assert len(set(beginnings)) == sum(num_seqs) # unique, see above
|
|
989
|
+
assert visited_num_seqs == num_seqs
|
|
990
|
+
|
|
991
|
+
|
|
909
992
|
def test_MapDatasetWrapper():
|
|
910
993
|
from returnn.datasets.map import MapDatasetBase
|
|
911
994
|
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/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.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/demo-tf-neural-transducer.12ax.config
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.20251027.117 → returnn-1.20251027.232712}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial_rgb/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/demos/mdlstm/artificial_rgb/trainconfig
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
|
|
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
|
|
File without changes
|
|
File without changes
|
{returnn-1.20251027.117 → returnn-1.20251027.232712}/returnn/datasets/util/feature_extraction.py
RENAMED
|
File without changes
|
|
File without changes
|