returnn 1.20240610.111814__tar.gz → 1.20240610.115802__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.20240610.111814/returnn.egg-info → returnn-1.20240610.115802}/PKG-INFO +1 -1
- returnn-1.20240610.115802/_setup_info_generated.py +2 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/basic.py +63 -23
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/concat_files.py +3 -4
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/meta.py +92 -83
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/multi_proc.py +3 -5
- {returnn-1.20240610.111814 → returnn-1.20240610.115802/returnn.egg-info}/PKG-INFO +1 -1
- returnn-1.20240610.111814/_setup_info_generated.py +0 -2
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/.editorconfig +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/.gitignore +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/.gitmodules +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/.kateconfig +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/CHANGELOG.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/CODEOWNERS +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/CONTRIBUTING.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/LICENSE +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/MANIFEST.in +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/README.rst +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/12AX.cluster_map +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-fwd.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-list-devices.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-pretrain.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-rf.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-torch.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo.sh +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/pyproject.toml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/requirements.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/__main__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/__setup__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/config.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/audio.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/cached.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/generating.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/lm.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/map.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/engine/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/engine/base.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/engine/batch.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/forward_iface.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/array_.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/attention.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/backend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/cond.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/const.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/container.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/conv.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/device.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/dims.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/graph.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/init.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/linear.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/loop.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/loss.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/math_.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/module.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/rand.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/rec.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/signal.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/state.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/frontend/types.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/import_/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/import_/common.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/import_/git.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/import_/import_.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/log.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/native_op.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/native_op.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/pretrain.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/sprint/cache.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/sprint/control.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/sprint/interface.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/dim.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tensor/utils.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/compat.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/distributed.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/engine.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/horovod.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/native_op.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/network.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/sprint.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/updater.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/util/data.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/distributed.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/engine.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/updater.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/util/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/__init__.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/basic.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/bpe.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/debug.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/file_cache.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/fsa.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/math.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/pprint.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/py_compat.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/task_system.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/rnn.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/setup.cfg +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/setup.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/DummySprintExec.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/_setup_test_env.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/lint_common.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/pylint.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/rf_utils.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/spelling.dic +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_Config.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_Dataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_Fsa.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_Log.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_Pretrain.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_ResNet.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TFEngine.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TFUtil.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_Util.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_demos.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_fork_exec.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_array.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_attention.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_base.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_cond.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_const.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_container.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_conv.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_loop.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_math.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_rec.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_rf_signal.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_tensor.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_tools.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_torch_engine.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/collect-words.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/compile_native_op.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/dump-dataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/dump-forward.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/dump-network-json.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/dump-pickle.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/get-attention-weights.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/hdf_dump.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20240610.111814 → returnn-1.20240610.115802}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -19,7 +19,7 @@ import os
|
|
|
19
19
|
import numpy
|
|
20
20
|
import functools
|
|
21
21
|
import typing
|
|
22
|
-
from typing import Optional, Any, Union, Type, Dict, Sequence, List, Callable
|
|
22
|
+
from typing import TYPE_CHECKING, Optional, Any, Union, Type, Dict, Sequence, List, Callable
|
|
23
23
|
|
|
24
24
|
from returnn.log import log
|
|
25
25
|
from returnn.engine.batch import Batch, BatchSetGenerator
|
|
@@ -27,6 +27,9 @@ from returnn.datasets.util.vocabulary import Vocabulary
|
|
|
27
27
|
from returnn.util.basic import try_run, NumbersDict, OptionalNotImplementedError
|
|
28
28
|
from returnn.tensor import TensorDict
|
|
29
29
|
|
|
30
|
+
if TYPE_CHECKING:
|
|
31
|
+
from returnn.config import Config
|
|
32
|
+
|
|
30
33
|
|
|
31
34
|
RANDOM_SEED_OFFSET_ENV_VAR = "RETURNN_RANDOM_SEED_OFFSET"
|
|
32
35
|
|
|
@@ -37,10 +40,12 @@ class Dataset(object):
|
|
|
37
40
|
"""
|
|
38
41
|
|
|
39
42
|
@staticmethod
|
|
40
|
-
def kwargs_update_from_config(config, kwargs):
|
|
43
|
+
def kwargs_update_from_config(config: Config, kwargs: Dict[str, Any]):
|
|
41
44
|
"""
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
Update kwargs inplace from config
|
|
46
|
+
|
|
47
|
+
:param config:
|
|
48
|
+
:param kwargs: updates will be done inplace
|
|
44
49
|
"""
|
|
45
50
|
|
|
46
51
|
def set_or_remove(key, value):
|
|
@@ -62,10 +67,10 @@ class Dataset(object):
|
|
|
62
67
|
set_or_remove("chunking_variance", config.float("chunking_variance", 0))
|
|
63
68
|
|
|
64
69
|
@staticmethod
|
|
65
|
-
def get_default_kwargs_eval(config):
|
|
70
|
+
def get_default_kwargs_eval(config: Config) -> Dict[str, Any]:
|
|
66
71
|
"""
|
|
67
|
-
:param
|
|
68
|
-
:
|
|
72
|
+
:param config:
|
|
73
|
+
:return: default kwargs for an eval dataset based on the config
|
|
69
74
|
"""
|
|
70
75
|
# For dev/eval, by default, we should not do chunking (i.e. chunking = "0").
|
|
71
76
|
chunking = "0"
|
|
@@ -78,11 +83,11 @@ class Dataset(object):
|
|
|
78
83
|
return dict(chunking=chunking, seq_ordering="sorted", shuffle_frames_of_nseqs=0)
|
|
79
84
|
|
|
80
85
|
@classmethod
|
|
81
|
-
def from_config(cls, config, **kwargs):
|
|
86
|
+
def from_config(cls, config: Config, **kwargs) -> Dataset:
|
|
82
87
|
"""
|
|
83
|
-
:
|
|
84
|
-
:param
|
|
85
|
-
:
|
|
88
|
+
:param config:
|
|
89
|
+
:param kwargs: passed on to __init__
|
|
90
|
+
:return: new dataset via cls(...)
|
|
86
91
|
"""
|
|
87
92
|
cls.kwargs_update_from_config(config, kwargs)
|
|
88
93
|
return cls(**kwargs)
|
|
@@ -109,20 +114,20 @@ class Dataset(object):
|
|
|
109
114
|
"""
|
|
110
115
|
:param str name: e.g. "train" or "eval"
|
|
111
116
|
:param int window: features will be of dimension window * feature_dim, as we add a context-window around.
|
|
112
|
-
|
|
117
|
+
not all datasets support this option.
|
|
113
118
|
:param None|int|dict|NumbersDict|(dict,dict) context_window: will add this context for each chunk
|
|
114
119
|
:param None|str|int|(int,int)|dict|(dict,dict)|function chunking: "chunk_size:chunk_step"
|
|
115
120
|
:param str seq_ordering: "batching"-option in config. e.g. "default", "sorted" or "random".
|
|
116
|
-
|
|
121
|
+
See self.get_seq_order_for_epoch() for more details.
|
|
117
122
|
:param int|None fixed_random_seed: for the shuffling, e.g. for seq_ordering='random'.
|
|
118
123
|
otherwise epoch will be used.
|
|
119
124
|
useful when used as eval dataset.
|
|
120
125
|
:param int|None random_seed_offset: for shuffling, e.g. for seq_ordering='random'.
|
|
121
126
|
ignored when fixed_random_seed is set.
|
|
122
127
|
:param int|None partition_epoch:
|
|
123
|
-
:param int|None repeat_epoch: Repeat the sequences in an epoch this many times.
|
|
124
|
-
|
|
125
|
-
|
|
128
|
+
:param int|None repeat_epoch: Repeat the sequences in an epoch this many times.
|
|
129
|
+
Useful to scale the dataset relative to other datasets, e.g. when used in CombinedDataset.
|
|
130
|
+
Not allowed to be used in combination with partition_epoch.
|
|
126
131
|
:param str|None seq_list_filter_file: defines a subset of sequences (by tag) to use
|
|
127
132
|
:param bool unique_seq_tags: uniquify seqs with same seq tags in seq order
|
|
128
133
|
:param str|None seq_order_seq_lens_file: for seq order, use the seq length given by this file
|
|
@@ -452,17 +457,18 @@ class Dataset(object):
|
|
|
452
457
|
self._seq_order_seq_lens_by_idx = [seq_lens[tag] for tag in all_tags]
|
|
453
458
|
return self._seq_order_seq_lens_by_idx[seq_idx]
|
|
454
459
|
|
|
455
|
-
def get_seq_order_for_epoch(
|
|
460
|
+
def get_seq_order_for_epoch(
|
|
461
|
+
self, epoch: Optional[int], num_seqs: int, get_seq_len: Optional[Callable[[int], int]] = None
|
|
462
|
+
) -> Sequence[int]:
|
|
456
463
|
"""
|
|
457
464
|
Returns the order of the given epoch.
|
|
458
465
|
This is mostly a static method, except that is depends on the configured type of ordering,
|
|
459
466
|
such as 'default' (= as-is), 'sorted' or 'random'. 'sorted' also uses the sequence length.
|
|
460
467
|
|
|
461
|
-
:param
|
|
462
|
-
:param
|
|
463
|
-
:param
|
|
468
|
+
:param epoch: for 'random', this determines the random seed
|
|
469
|
+
:param num_seqs:
|
|
470
|
+
:param get_seq_len: function (originalSeqIdx: int) -> int
|
|
464
471
|
:return: the order for the given epoch. such that seq_idx -> underlying idx
|
|
465
|
-
:rtype: typing.Sequence[int]
|
|
466
472
|
"""
|
|
467
473
|
if epoch is None:
|
|
468
474
|
# This might be called in the beginning. Skip this and wait until we init the real relevant epoch.
|
|
@@ -1379,11 +1385,14 @@ def init_dataset(
|
|
|
1379
1385
|
kwargs: Union[Dict[str, Any], str, Callable[[], Dict[str, Any]], Dataset],
|
|
1380
1386
|
extra_kwargs: Optional[Dict[str, Any]] = None,
|
|
1381
1387
|
default_kwargs: Optional[Dict[str, Any]] = None,
|
|
1388
|
+
*,
|
|
1389
|
+
parent_dataset: Optional[Dataset] = None,
|
|
1382
1390
|
) -> Dataset:
|
|
1383
1391
|
"""
|
|
1384
1392
|
:param kwargs:
|
|
1385
1393
|
:param extra_kwargs:
|
|
1386
1394
|
:param default_kwargs:
|
|
1395
|
+
:param parent_dataset: if given, will adapt some of the default_kwargs (when not set)
|
|
1387
1396
|
"""
|
|
1388
1397
|
assert kwargs
|
|
1389
1398
|
if isinstance(kwargs, Dataset):
|
|
@@ -1391,7 +1400,9 @@ def init_dataset(
|
|
|
1391
1400
|
data.initialize()
|
|
1392
1401
|
return data
|
|
1393
1402
|
if callable(kwargs):
|
|
1394
|
-
return init_dataset(
|
|
1403
|
+
return init_dataset(
|
|
1404
|
+
kwargs(), extra_kwargs=extra_kwargs, default_kwargs=default_kwargs, parent_dataset=parent_dataset
|
|
1405
|
+
)
|
|
1395
1406
|
if isinstance(kwargs, str):
|
|
1396
1407
|
if kwargs.startswith("{"):
|
|
1397
1408
|
kwargs = eval(kwargs)
|
|
@@ -1400,10 +1411,13 @@ def init_dataset(
|
|
|
1400
1411
|
|
|
1401
1412
|
config = get_global_config()
|
|
1402
1413
|
data = eval(kwargs[len("config:") :], config.typed_dict, config.typed_dict)
|
|
1403
|
-
return init_dataset(
|
|
1414
|
+
return init_dataset(
|
|
1415
|
+
data, extra_kwargs=extra_kwargs, default_kwargs=default_kwargs, parent_dataset=parent_dataset
|
|
1416
|
+
)
|
|
1404
1417
|
else:
|
|
1405
1418
|
config_str = kwargs
|
|
1406
1419
|
kwargs = {}
|
|
1420
|
+
default_kwargs = _dataset_extend_default_kwargs_from_parent_dataset(default_kwargs, parent_dataset)
|
|
1407
1421
|
if default_kwargs:
|
|
1408
1422
|
kwargs.update(default_kwargs)
|
|
1409
1423
|
if extra_kwargs:
|
|
@@ -1416,6 +1430,7 @@ def init_dataset(
|
|
|
1416
1430
|
clazz = get_dataset_class(clazz_name)
|
|
1417
1431
|
if not clazz:
|
|
1418
1432
|
raise Exception("Dataset class %r not found" % clazz_name)
|
|
1433
|
+
default_kwargs = _dataset_extend_default_kwargs_from_parent_dataset(default_kwargs, parent_dataset)
|
|
1419
1434
|
if default_kwargs:
|
|
1420
1435
|
for key, value in default_kwargs.items():
|
|
1421
1436
|
kwargs.setdefault(key, value)
|
|
@@ -1427,6 +1442,31 @@ def init_dataset(
|
|
|
1427
1442
|
return obj
|
|
1428
1443
|
|
|
1429
1444
|
|
|
1445
|
+
def _dataset_extend_default_kwargs_from_parent_dataset(
|
|
1446
|
+
default_kwargs: Optional[Dict[str, Any]], parent_dataset: Optional[Dataset]
|
|
1447
|
+
) -> Optional[Dict[str, Any]]:
|
|
1448
|
+
"""
|
|
1449
|
+
:param default_kwargs:
|
|
1450
|
+
:param parent_dataset:
|
|
1451
|
+
"""
|
|
1452
|
+
if not parent_dataset:
|
|
1453
|
+
return default_kwargs
|
|
1454
|
+
default_kwargs = default_kwargs.copy() if default_kwargs else {}
|
|
1455
|
+
default_kwargs.setdefault("random_seed_offset", parent_dataset.random_seed_offset)
|
|
1456
|
+
return default_kwargs
|
|
1457
|
+
|
|
1458
|
+
|
|
1459
|
+
def extend_dataset_dict_from_parent_dataset(
|
|
1460
|
+
dataset_dict: Dict[str, Any], parent_dataset: Optional[Dataset]
|
|
1461
|
+
) -> Dict[str, Any]:
|
|
1462
|
+
"""
|
|
1463
|
+
:param dataset_dict:
|
|
1464
|
+
:param parent_dataset:
|
|
1465
|
+
:return: extended dataset_dict
|
|
1466
|
+
"""
|
|
1467
|
+
return _dataset_extend_default_kwargs_from_parent_dataset(dataset_dict, parent_dataset)
|
|
1468
|
+
|
|
1469
|
+
|
|
1430
1470
|
def init_dataset_via_str(config_str, config=None, cache_byte_size=None, **kwargs):
|
|
1431
1471
|
"""
|
|
1432
1472
|
:param str config_str: hdf-files, or "LmDataset:..." or so
|
|
@@ -14,7 +14,7 @@ from returnn.log import log
|
|
|
14
14
|
from returnn.util.basic import override_env_var, try_run
|
|
15
15
|
from returnn.util.multi_proc_non_daemonic_spawn import NonDaemonicSpawnContext
|
|
16
16
|
from returnn.config import SubProcCopyGlobalConfigPreInitFunc
|
|
17
|
-
from .basic import init_dataset, DatasetSeq, RANDOM_SEED_OFFSET_ENV_VAR
|
|
17
|
+
from .basic import init_dataset, extend_dataset_dict_from_parent_dataset, DatasetSeq, RANDOM_SEED_OFFSET_ENV_VAR
|
|
18
18
|
from .cached2 import CachedDataset2
|
|
19
19
|
|
|
20
20
|
# noinspection PyProtectedMember
|
|
@@ -192,7 +192,7 @@ class ConcatFilesDataset(CachedDataset2):
|
|
|
192
192
|
# Init the dataset with the first file.
|
|
193
193
|
dataset_dict, exit_hook = self._get_sub_dataset_dict(files=[self.files[0]])
|
|
194
194
|
try:
|
|
195
|
-
dataset = init_dataset(dataset_dict, extra_kwargs={"seq_ordering": "default"})
|
|
195
|
+
dataset = init_dataset(dataset_dict, extra_kwargs={"seq_ordering": "default"}, parent_dataset=self)
|
|
196
196
|
self.num_inputs = dataset.num_inputs
|
|
197
197
|
self.num_outputs = dataset.num_outputs
|
|
198
198
|
self.labels = dataset.labels
|
|
@@ -293,8 +293,7 @@ class ConcatFilesDataset(CachedDataset2):
|
|
|
293
293
|
|
|
294
294
|
def _get_sub_dataset_dict(self, files: List[FileTree]) -> Tuple[Dict[str, Any], _FileCacheExitHook]:
|
|
295
295
|
dataset_dict = self.get_sub_epoch_dataset(files)
|
|
296
|
-
|
|
297
|
-
dataset_dict["random_seed_offset"] = self.random_seed_offset
|
|
296
|
+
dataset_dict = extend_dataset_dict_from_parent_dataset(dataset_dict, parent_dataset=self)
|
|
298
297
|
if dataset_dict.get("partition_epoch", 1) != 1:
|
|
299
298
|
raise ValueError(f"{self}: sub dataset should not have partition_epoch, got: {dataset_dict}")
|
|
300
299
|
if "seq_ordering" not in dataset_dict and "seq_order_control_dataset" not in dataset_dict:
|
|
@@ -23,9 +23,10 @@ The dataset classes MetaDataset and CombinedDataset which perform these tasks ar
|
|
|
23
23
|
|
|
24
24
|
from __future__ import annotations
|
|
25
25
|
|
|
26
|
-
from typing import Optional, Any, Sequence, List, Dict
|
|
26
|
+
from typing import Optional, Union, Any, Callable, Sequence, List, Dict, Tuple
|
|
27
27
|
from returnn.datasets.basic import Dataset, DatasetSeq, init_dataset, convert_data_dims
|
|
28
28
|
from .cached2 import CachedDataset2
|
|
29
|
+
import returnn.util.basic as util
|
|
29
30
|
from returnn.util.basic import NumbersDict, load_json, OptionalNotImplementedError
|
|
30
31
|
from returnn.log import log
|
|
31
32
|
from random import Random
|
|
@@ -39,26 +40,31 @@ class EpochWiseFilter:
|
|
|
39
40
|
Applies some filter to the sequences (e.g. by seq length) for some epoch.
|
|
40
41
|
"""
|
|
41
42
|
|
|
42
|
-
def __init__(
|
|
43
|
+
def __init__(
|
|
44
|
+
self, epochs_opts: Dict[Tuple[int, Optional[int]], Dict[str, Any]], debug_msg_prefix: str = "EpochWiseFilter"
|
|
45
|
+
):
|
|
43
46
|
"""
|
|
44
|
-
:param
|
|
45
|
-
:param
|
|
47
|
+
:param epochs_opts: (ep_start, ep_end) -> epoch opts
|
|
48
|
+
:param debug_msg_prefix:
|
|
46
49
|
"""
|
|
47
50
|
self.epochs_opts = epochs_opts
|
|
48
51
|
self.debug_msg_prefix = debug_msg_prefix
|
|
49
52
|
|
|
50
53
|
@classmethod
|
|
51
|
-
def filter_epoch(
|
|
52
|
-
|
|
53
|
-
:
|
|
54
|
-
:
|
|
55
|
-
:
|
|
56
|
-
:
|
|
54
|
+
def filter_epoch(
|
|
55
|
+
cls,
|
|
56
|
+
opts: Union[Dict[str, Any], util.CollectionReadCheckCovered],
|
|
57
|
+
seq_order: Sequence[int],
|
|
58
|
+
get_seq_len: Callable[[int], int],
|
|
59
|
+
debug_msg_prefix: str,
|
|
60
|
+
) -> List[int]:
|
|
61
|
+
"""
|
|
62
|
+
:param opts:
|
|
63
|
+
:param seq_order: list of seq idxs
|
|
64
|
+
:param get_seq_len: seq idx -> len
|
|
65
|
+
:param debug_msg_prefix:
|
|
57
66
|
:return: new seq_order
|
|
58
|
-
:rtype: list[int]
|
|
59
67
|
"""
|
|
60
|
-
import returnn.util.basic as util
|
|
61
|
-
|
|
62
68
|
if not isinstance(opts, util.CollectionReadCheckCovered):
|
|
63
69
|
opts = util.CollectionReadCheckCovered(opts)
|
|
64
70
|
if opts.get("max_mean_len"):
|
|
@@ -150,7 +156,7 @@ class MetaDataset(CachedDataset2):
|
|
|
150
156
|
'corpus/ted_1/1',
|
|
151
157
|
'corpus/ted_1/2',
|
|
152
158
|
'corpus/ted_1/3',
|
|
153
|
-
'corpus/ted_1/4',
|
|
159
|
+
'corpus/ted_1/4'],
|
|
154
160
|
'translation': [
|
|
155
161
|
'line-0',
|
|
156
162
|
'line-1',
|
|
@@ -194,33 +200,33 @@ class MetaDataset(CachedDataset2):
|
|
|
194
200
|
|
|
195
201
|
def __init__(
|
|
196
202
|
self,
|
|
197
|
-
datasets,
|
|
198
|
-
data_map,
|
|
199
|
-
seq_list_file=None,
|
|
200
|
-
seq_order_control_dataset=None,
|
|
201
|
-
seq_lens_file=None,
|
|
202
|
-
data_dims=None,
|
|
203
|
-
data_dtypes=None, # noqa # not used
|
|
204
|
-
window=1,
|
|
203
|
+
datasets: Dict[str, Dict[str, Any]],
|
|
204
|
+
data_map: Dict[str, Tuple[str, str]],
|
|
205
|
+
seq_list_file: Optional[str] = None,
|
|
206
|
+
seq_order_control_dataset: Optional[str] = None,
|
|
207
|
+
seq_lens_file: Optional[str] = None,
|
|
208
|
+
data_dims: Optional[Dict[str, Tuple[int, int]]] = None, # deprecated
|
|
209
|
+
data_dtypes: Optional[Dict[str, str]] = None, # noqa # deprecated, not used
|
|
210
|
+
window: int = 1,
|
|
205
211
|
**kwargs,
|
|
206
212
|
):
|
|
207
213
|
"""
|
|
208
|
-
:param
|
|
209
|
-
:param
|
|
210
|
-
|
|
211
|
-
:param
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
:param
|
|
219
|
-
:param
|
|
220
|
-
|
|
221
|
-
:param
|
|
222
|
-
|
|
223
|
-
:param
|
|
214
|
+
:param datasets: dataset-key -> dataset-kwargs. including keyword 'class' and maybe 'files'
|
|
215
|
+
:param data_map: self-data-key -> (dataset-key, dataset-data-key).
|
|
216
|
+
Should contain 'data' as key. Also defines the target-list, which is all except 'data'.
|
|
217
|
+
:param seq_list_file: filename. pickle. dict[str,list[str]], dataset-key -> list of sequence tags.
|
|
218
|
+
Can be None if tag format is the same for all datasets.
|
|
219
|
+
Then the sequence list will be default sequence order of default dataset (``data_map["data"][0]``),
|
|
220
|
+
or seq_order_control_dataset.
|
|
221
|
+
You only need it if the tag name is not the same for all datasets.
|
|
222
|
+
It will currently not act as filter,
|
|
223
|
+
as the subdataset controls the sequence order (and thus what seqs to use).
|
|
224
|
+
:param seq_order_control_dataset: if set, this dataset will define the order for each epoch.
|
|
225
|
+
:param seq_lens_file: filename. json. dict[str,dict[str,int]], seq-tag -> data-key -> len.
|
|
226
|
+
Use if getting sequence length from loading data is too costly.
|
|
227
|
+
:param data_dims: self-data-key -> data-dimension, len(shape) (1 ==> sparse repr).
|
|
228
|
+
Deprecated/Only to double-check. Read from data if not specified.
|
|
229
|
+
:param data_dtypes: self-data-key -> dtype. Read from data if not specified. Deprecated, not used.
|
|
224
230
|
"""
|
|
225
231
|
assert window == 1 # not implemented
|
|
226
232
|
super(MetaDataset, self).__init__(**kwargs)
|
|
@@ -239,7 +245,7 @@ class MetaDataset(CachedDataset2):
|
|
|
239
245
|
|
|
240
246
|
# This will only initialize datasets needed for features occuring in data_map
|
|
241
247
|
self.datasets = {
|
|
242
|
-
key: init_dataset(datasets[key], extra_kwargs={"name": "%s_%s" % (self.name, key)})
|
|
248
|
+
key: init_dataset(datasets[key], extra_kwargs={"name": "%s_%s" % (self.name, key)}, parent_dataset=self)
|
|
243
249
|
for key in self.dataset_keys
|
|
244
250
|
} # type: typing.Dict[str,Dataset]
|
|
245
251
|
|
|
@@ -283,11 +289,9 @@ class MetaDataset(CachedDataset2):
|
|
|
283
289
|
self.orig_seq_order_is_initialized = False
|
|
284
290
|
self.seq_list_ordered = None # type: typing.Optional[typing.Dict[str,typing.List[str]]]
|
|
285
291
|
|
|
286
|
-
def _is_same_seq_name_for_each_dataset(self):
|
|
292
|
+
def _is_same_seq_name_for_each_dataset(self) -> bool:
|
|
287
293
|
"""
|
|
288
294
|
This should be fast.
|
|
289
|
-
|
|
290
|
-
:rtype: bool
|
|
291
295
|
"""
|
|
292
296
|
main_list = self.seq_list_original[self.default_dataset_key]
|
|
293
297
|
for key, other_list in self.seq_list_original.items():
|
|
@@ -295,11 +299,10 @@ class MetaDataset(CachedDataset2):
|
|
|
295
299
|
return False
|
|
296
300
|
return True
|
|
297
301
|
|
|
298
|
-
def _load_seq_list(self, seq_list_file=None):
|
|
302
|
+
def _load_seq_list(self, seq_list_file: Optional[str] = None) -> Dict[str, List[str]]:
|
|
299
303
|
"""
|
|
300
|
-
:param
|
|
304
|
+
:param seq_list_file:
|
|
301
305
|
:return: dict: dataset key -> seq list
|
|
302
|
-
:rtype: dict[str,list[str]]
|
|
303
306
|
"""
|
|
304
307
|
if seq_list_file:
|
|
305
308
|
seq_list = Dataset._load_seq_list_file(seq_list_file, expect_list=False)
|
|
@@ -361,7 +364,7 @@ class MetaDataset(CachedDataset2):
|
|
|
361
364
|
|
|
362
365
|
return seq_list
|
|
363
366
|
|
|
364
|
-
def _get_dataset_seq_length(self, seq_idx):
|
|
367
|
+
def _get_dataset_seq_length(self, seq_idx: int):
|
|
365
368
|
if not self.orig_seq_order_is_initialized:
|
|
366
369
|
# To use get_seq_length() we first have to init the sequence order once in original order.
|
|
367
370
|
# If sequence lengths are not needed by get_seq_order_for_epoch this is never executed.
|
|
@@ -576,15 +579,17 @@ class ClusteringDataset(CachedDataset2):
|
|
|
576
579
|
We will read the cluster-map (seq-name -> cluster-idx) here directly.
|
|
577
580
|
"""
|
|
578
581
|
|
|
579
|
-
def __init__(
|
|
582
|
+
def __init__(
|
|
583
|
+
self, dataset: Dict[str, Any], cluster_map_file: str, n_clusters: int, single_cluster: bool = False, **kwargs
|
|
584
|
+
):
|
|
580
585
|
"""
|
|
581
|
-
:param
|
|
586
|
+
:param dataset:
|
|
582
587
|
:param cluster_map_file:
|
|
583
|
-
:param
|
|
588
|
+
:param n_clusters:
|
|
584
589
|
:param single_cluster:
|
|
585
590
|
"""
|
|
586
591
|
super(CachedDataset2, self).__init__(**kwargs)
|
|
587
|
-
self.dataset = init_dataset(dataset)
|
|
592
|
+
self.dataset = init_dataset(dataset, parent_dataset=self)
|
|
588
593
|
self.n_clusters = n_clusters
|
|
589
594
|
self.single_cluster = single_cluster
|
|
590
595
|
self.cluster_map = self._load_cluster_map(cluster_map_file)
|
|
@@ -594,7 +599,7 @@ class ClusteringDataset(CachedDataset2):
|
|
|
594
599
|
self.num_outputs["cluster_idx"] = (n_clusters, 1) # will be a single int32
|
|
595
600
|
self.expected_load_seq_start = 0
|
|
596
601
|
|
|
597
|
-
def _load_cluster_map(self, filename):
|
|
602
|
+
def _load_cluster_map(self, filename: str):
|
|
598
603
|
lines = open(filename).read().splitlines()
|
|
599
604
|
assert "<coprus-key-map>" in lines[:3], "We expect the Sprint XML format."
|
|
600
605
|
# It has lines like: <map-item key="CHiME3/dt05_bth/M03_22GC010M_BTH.CH5/1" value="0"/>
|
|
@@ -733,12 +738,12 @@ class ConcatDataset(CachedDataset2):
|
|
|
733
738
|
It will go through the datasets always in order.
|
|
734
739
|
"""
|
|
735
740
|
|
|
736
|
-
def __init__(self, datasets, **kwargs):
|
|
741
|
+
def __init__(self, datasets: Sequence[Dict[str, Any]], **kwargs):
|
|
737
742
|
"""
|
|
738
|
-
:param
|
|
743
|
+
:param datasets: list of kwargs for init_dataset
|
|
739
744
|
"""
|
|
740
745
|
super(ConcatDataset, self).__init__(**kwargs)
|
|
741
|
-
self.datasets = [init_dataset(d_kwargs) for d_kwargs in datasets]
|
|
746
|
+
self.datasets = [init_dataset(d_kwargs, parent_dataset=self) for d_kwargs in datasets]
|
|
742
747
|
assert self.datasets
|
|
743
748
|
self.num_inputs = self.datasets[0].num_inputs
|
|
744
749
|
self.num_outputs = self.datasets[0].num_outputs
|
|
@@ -906,19 +911,31 @@ class CombinedDataset(CachedDataset2):
|
|
|
906
911
|
Also see :class:`MetaDataset`.
|
|
907
912
|
"""
|
|
908
913
|
|
|
909
|
-
def __init__(
|
|
914
|
+
def __init__(
|
|
915
|
+
self,
|
|
916
|
+
datasets: Dict[str, Dict[str, Any]],
|
|
917
|
+
data_map: Dict[Tuple[str, str], str],
|
|
918
|
+
sampling_sizes: Union[None, int, Dict[str, int]] = None,
|
|
919
|
+
data_dims: Optional[Dict[str, Tuple[int, int]]] = None,
|
|
920
|
+
data_dtypes: Optional[Dict[str, str]] = None,
|
|
921
|
+
window: int = 1,
|
|
922
|
+
**kwargs,
|
|
923
|
+
):
|
|
910
924
|
"""
|
|
911
|
-
:param
|
|
912
|
-
:param
|
|
913
|
-
|
|
914
|
-
:param
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
925
|
+
:param datasets: dataset-key -> dataset-kwargs. including keyword 'class' and maybe 'files'
|
|
926
|
+
:param data_map: (dataset-key, dataset-data-key) -> self-data-key.
|
|
927
|
+
Should contain 'data' as key. Also defines the target-list, which is all except 'data'.
|
|
928
|
+
:param sampling_sizes: dataset-key -> number-of-sequences.
|
|
929
|
+
If set, the given fixed amount of sequences is taken
|
|
930
|
+
from each dataset in every epoch (instead of using all).
|
|
931
|
+
If an int is given, this number is used for all datasets.
|
|
932
|
+
The sequences will be taken in the order provided by the sub-datasets
|
|
933
|
+
nd we will loop back to the beginning of the dataset each time we reach the end.
|
|
934
|
+
Sequence ordering will be applied after the sampling.
|
|
935
|
+
Partition and repeat epoch are not supported when sampling.
|
|
936
|
+
:param data_dims: self-data-key -> data-dimension, len(shape) (1 ==> sparse repr).
|
|
937
|
+
Deprecated/Only to double check. Read from data if not specified.
|
|
938
|
+
:param data_dtypes: self-data-key -> dtype. Read from data if not specified.
|
|
922
939
|
"""
|
|
923
940
|
assert window == 1 # not implemented
|
|
924
941
|
super(CombinedDataset, self).__init__(**kwargs)
|
|
@@ -949,15 +966,7 @@ class CombinedDataset(CachedDataset2):
|
|
|
949
966
|
self.sampling_sizes = sampling_sizes
|
|
950
967
|
|
|
951
968
|
# This will only initialize datasets needed for features occurring in data_map
|
|
952
|
-
self.datasets = {
|
|
953
|
-
key: init_dataset(
|
|
954
|
-
{
|
|
955
|
-
**datasets[key],
|
|
956
|
-
"random_seed_offset": datasets[key].get("random_seed_offset", self.random_seed_offset),
|
|
957
|
-
}
|
|
958
|
-
)
|
|
959
|
-
for key in self.dataset_keys
|
|
960
|
-
}
|
|
969
|
+
self.datasets = {key: init_dataset(datasets[key], parent_dataset=self) for key in self.dataset_keys}
|
|
961
970
|
|
|
962
971
|
self._estimated_num_seqs = sum([self.datasets[k].estimated_num_seqs for k in sorted(self.datasets.keys())])
|
|
963
972
|
self.estimated_num_seq_per_subset = [self.datasets[k].estimated_num_seqs for k in sorted(self.datasets.keys())]
|
|
@@ -1408,7 +1417,7 @@ class ConcatSeqsDataset(CachedDataset2):
|
|
|
1408
1417
|
if isinstance(dataset, dict):
|
|
1409
1418
|
dataset = dataset.copy()
|
|
1410
1419
|
dataset.setdefault("name", "%s_subdataset" % self.name)
|
|
1411
|
-
self.sub_dataset = init_dataset(dataset)
|
|
1420
|
+
self.sub_dataset = init_dataset(dataset, parent_dataset=self)
|
|
1412
1421
|
self.num_outputs = self.sub_dataset.num_outputs
|
|
1413
1422
|
self.num_inputs = self.sub_dataset.num_inputs
|
|
1414
1423
|
self.labels = self.sub_dataset.labels
|
|
@@ -1605,18 +1614,18 @@ class ChunkShuffleDataset(CachedDataset2):
|
|
|
1605
1614
|
|
|
1606
1615
|
def __init__(
|
|
1607
1616
|
self,
|
|
1608
|
-
dataset,
|
|
1609
|
-
chunk_shuffle_cache=1000,
|
|
1610
|
-
batch_gen_batch_size=5000,
|
|
1611
|
-
batch_gen_max_seqs=1,
|
|
1612
|
-
batch_gen_recurrent_net=True,
|
|
1617
|
+
dataset: Dict[str, Any],
|
|
1618
|
+
chunk_shuffle_cache: int = 1000,
|
|
1619
|
+
batch_gen_batch_size: int = 5000,
|
|
1620
|
+
batch_gen_max_seqs: int = 1,
|
|
1621
|
+
batch_gen_recurrent_net: bool = True,
|
|
1613
1622
|
**kwargs,
|
|
1614
1623
|
):
|
|
1615
1624
|
"""
|
|
1616
1625
|
:param dict[str] dataset: kwargs for init_dataset
|
|
1617
1626
|
"""
|
|
1618
1627
|
super(ChunkShuffleDataset, self).__init__(**kwargs)
|
|
1619
|
-
self.dataset = init_dataset(dataset)
|
|
1628
|
+
self.dataset = init_dataset(dataset, parent_dataset=self)
|
|
1620
1629
|
assert self.dataset
|
|
1621
1630
|
self.dataset_last_load_seq_end = None
|
|
1622
1631
|
self.chunk_shuffle_cache = chunk_shuffle_cache
|
|
@@ -1804,7 +1813,7 @@ class VariableDataset(Dataset):
|
|
|
1804
1813
|
dataset_dict = self._get_dataset(epoch=epoch)
|
|
1805
1814
|
if dataset_dict != self._dataset_dict:
|
|
1806
1815
|
self._dataset_dict = dataset_dict
|
|
1807
|
-
self._dataset = init_dataset(dataset_dict)
|
|
1816
|
+
self._dataset = init_dataset(dataset_dict, parent_dataset=self)
|
|
1808
1817
|
|
|
1809
1818
|
def init_seq_order(self, epoch=None, seq_list=None, seq_order=None):
|
|
1810
1819
|
"""init seq order"""
|
|
@@ -10,7 +10,7 @@ import multiprocessing as mp
|
|
|
10
10
|
from returnn.util.basic import try_run
|
|
11
11
|
from returnn.config import SubProcCopyGlobalConfigPreInitFunc
|
|
12
12
|
from returnn.util.multi_proc_non_daemonic_spawn import NonDaemonicSpawnContext
|
|
13
|
-
from .basic import init_dataset, Dataset, DatasetSeq
|
|
13
|
+
from .basic import init_dataset, extend_dataset_dict_from_parent_dataset, Dataset, DatasetSeq
|
|
14
14
|
from .cached2 import CachedDataset2
|
|
15
15
|
|
|
16
16
|
# noinspection PyProtectedMember
|
|
@@ -46,10 +46,8 @@ class MultiProcDataset(CachedDataset2):
|
|
|
46
46
|
assert num_workers > 0 and buffer_size > 0
|
|
47
47
|
dataset = dataset.copy()
|
|
48
48
|
for k, v in kwargs.items():
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if "random_seed_offset" not in dataset:
|
|
52
|
-
dataset["random_seed_offset"] = self.random_seed_offset
|
|
49
|
+
dataset.setdefault(k, v)
|
|
50
|
+
dataset = extend_dataset_dict_from_parent_dataset(dataset, parent_dataset=self)
|
|
53
51
|
self.dataset = dataset
|
|
54
52
|
self.num_workers = num_workers
|
|
55
53
|
self.buffer_size = buffer_size
|
|
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.20240610.111814 → returnn-1.20240610.115802}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240610.111814 → returnn-1.20240610.115802}/demos/demo-record-and-push-to-webserver.py
RENAMED
|
File without changes
|
|
File without changes
|