returnn 1.20241113.165719__tar.gz → 1.20241115.151509__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.20241113.165719 → returnn-1.20241115.151509}/PKG-INFO +1 -1
- returnn-1.20241115.151509/_setup_info_generated.py +2 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/basic.py +31 -15
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/multi_proc.py +54 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/math.py +70 -1
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn.egg-info/PKG-INFO +1 -1
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_Util.py +12 -0
- returnn-1.20241113.165719/_setup_info_generated.py +0 -2
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/.editorconfig +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/.gitignore +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/.gitmodules +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/.kateconfig +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/CHANGELOG.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/CODEOWNERS +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/CONTRIBUTING.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/LICENSE +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/MANIFEST.in +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/README.rst +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/12AX.cluster_map +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-fwd.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-list-devices.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-pretrain.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-rf.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-torch.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo.sh +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/pyproject.toml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/requirements.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/__main__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/__setup__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/config.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/audio.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/cached.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/generating.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/lm.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/map.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/meta.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/postprocessing.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/engine/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/engine/base.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/engine/batch.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/forward_iface.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/array_.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/attention.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/backend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/cond.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/const.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/container.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/conv.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/conversions/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/conversions/hf_llama.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/conversions/torch_nn.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/device.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/dims.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/encoder/e_branchformer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/encoder/transformer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/graph.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/init.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/linear.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/loop.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/loss.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/math_.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/module.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/rand.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/rec.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/signal.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/state.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/frontend/types.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/import_/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/import_/common.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/import_/git.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/import_/import_.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/log.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/native_op.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/native_op.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/pretrain.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/sprint/cache.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/sprint/control.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/sprint/interface.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/dim.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tensor/utils.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/compat.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/distributed.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/engine.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/horovod.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/native_op.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/network.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/sprint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/updater.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/util/data.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/distributed.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/engine.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/optim/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/optim/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/optim/lion.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/updater.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/exception_helper.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/module.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/__init__.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/basic.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/bpe.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/debug.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/file_cache.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/fsa.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/pprint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/py_compat.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/task_system.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/rnn.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/setup.cfg +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/setup.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/DummySprintExec.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/_setup_test_env.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/lint_common.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/pylint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/rf_utils.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/spelling.dic +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_Config.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_Dataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_Fsa.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_Log.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_Pretrain.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_ResNet.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TFEngine.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TFUtil.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_demos.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_fork_exec.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_array.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_attention.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_base.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_cond.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_const.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_container.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_conv.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_decoder_transformer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_loop.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_math.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_rec.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_rf_signal.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_tensor.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_tools.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_torch_engine.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/test_torch_util.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tests/torch_utils.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/collect-words.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/compile_native_op.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/dump-dataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/dump-forward.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/dump-network-json.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/dump-pickle.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/get-attention-weights.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/hdf_dump.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20241113.165719 → returnn-1.20241115.151509}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -120,7 +120,7 @@ class Dataset:
|
|
|
120
120
|
not all datasets support this option.
|
|
121
121
|
:param None|int|dict|NumbersDict|(dict,dict) context_window: will add this context for each chunk
|
|
122
122
|
:param None|str|int|(int,int)|dict|(dict,dict)|function chunking: "chunk_size:chunk_step"
|
|
123
|
-
:param str seq_ordering: "batching"-option in config. e.g. "default", "sorted" or "random".
|
|
123
|
+
:param str|function seq_ordering: "batching"-option in config. e.g. "default", "sorted" or "random".
|
|
124
124
|
See self.get_seq_order_for_epoch() for more details.
|
|
125
125
|
:param int|None fixed_random_seed: for the shuffling, e.g. for seq_ordering='random'.
|
|
126
126
|
otherwise epoch will be used.
|
|
@@ -511,34 +511,50 @@ class Dataset:
|
|
|
511
511
|
if self._seq_order_seq_lens_file:
|
|
512
512
|
get_seq_len = self._get_seq_order_seq_lens_by_idx
|
|
513
513
|
|
|
514
|
-
|
|
514
|
+
seq_ordering_method = self.seq_ordering
|
|
515
|
+
if callable(seq_ordering_method):
|
|
516
|
+
seq_ordering_method_ = seq_ordering_method(epoch=epoch, **get_fwd_compat_kwargs())
|
|
517
|
+
if not isinstance(seq_ordering_method_, str):
|
|
518
|
+
raise TypeError(
|
|
519
|
+
f"seq_ordering function {seq_ordering_method} should return a str,"
|
|
520
|
+
f" got {seq_ordering_method_!r} (type {type(seq_ordering_method_).__name__})"
|
|
521
|
+
)
|
|
522
|
+
seq_ordering_method = seq_ordering_method_
|
|
523
|
+
elif isinstance(seq_ordering_method, str):
|
|
524
|
+
pass # fine, checked below
|
|
525
|
+
else:
|
|
526
|
+
raise TypeError(
|
|
527
|
+
f"seq_ordering {seq_ordering_method!r} unexpected type {type(seq_ordering_method).__name__}"
|
|
528
|
+
)
|
|
529
|
+
|
|
530
|
+
if seq_ordering_method == "default":
|
|
515
531
|
seq_index = range(num_seqs)
|
|
516
|
-
elif
|
|
532
|
+
elif seq_ordering_method.startswith("default_every_n:"):
|
|
517
533
|
# This order is useful if you have "initial_state": "keep_over_epoch",
|
|
518
534
|
# where num == max_seqs, batch_size = inf, max_seq_len = inf, chunking = None.
|
|
519
|
-
_, num =
|
|
535
|
+
_, num = seq_ordering_method.split(":")
|
|
520
536
|
num = int(num)
|
|
521
537
|
seq_index = numpy.arange(num_seqs // num, dtype="int64").repeat(num)
|
|
522
538
|
for i in range(1, num):
|
|
523
539
|
seq_index[i::num] += i * (num_seqs // num)
|
|
524
|
-
elif
|
|
540
|
+
elif seq_ordering_method == "reverse":
|
|
525
541
|
seq_index = range(num_seqs - 1, -1, -1) # type: Union[range, typing.Sequence[int]]
|
|
526
|
-
elif
|
|
542
|
+
elif seq_ordering_method in ["sorted", "sorted_reverse"]:
|
|
527
543
|
assert get_seq_len
|
|
528
|
-
reverse = -1 if
|
|
544
|
+
reverse = -1 if seq_ordering_method == "sorted_reverse" else 1
|
|
529
545
|
seq_lens = [reverse * get_seq_len(i) for i in range(num_seqs)]
|
|
530
546
|
seq_index = numpy.argsort(seq_lens, kind="stable")
|
|
531
|
-
elif
|
|
532
|
-
tmp =
|
|
547
|
+
elif seq_ordering_method.startswith("random"):
|
|
548
|
+
tmp = seq_ordering_method.split(":")
|
|
533
549
|
nth = int(tmp[1]) if len(tmp) > 1 else 1
|
|
534
550
|
# Keep this deterministic! Use fixed seed.
|
|
535
551
|
rnd_seed = self._get_random_seed_for_epoch(epoch=epoch, num_epochs_fixed=nth)
|
|
536
552
|
random_generator = numpy.random.RandomState(rnd_seed)
|
|
537
553
|
seq_index = random_generator.permutation(num_seqs)
|
|
538
|
-
elif
|
|
554
|
+
elif seq_ordering_method.startswith("sort_bin_shuffle"):
|
|
539
555
|
# Shuffle seqs, sort by length, and shuffle bins (then shuffle seqs within each bin if sort_bin_shuffle_x2).
|
|
540
556
|
assert get_seq_len
|
|
541
|
-
tmp =
|
|
557
|
+
tmp = seq_ordering_method.split(":")[1:]
|
|
542
558
|
# Keep this deterministic! Use fixed seed.
|
|
543
559
|
if len(tmp) <= 1:
|
|
544
560
|
nth = 1
|
|
@@ -562,13 +578,13 @@ class Dataset:
|
|
|
562
578
|
part = seq_index[i * len(seq_index) // bins :][:]
|
|
563
579
|
else:
|
|
564
580
|
part = seq_index[i * len(seq_index) // bins : (i + 1) * len(seq_index) // bins][:]
|
|
565
|
-
if
|
|
581
|
+
if seq_ordering_method.startswith("sort_bin_shuffle_x2"):
|
|
566
582
|
random_generator.shuffle(part) # Shuffle within the bin.
|
|
567
583
|
out_index.append(part)
|
|
568
584
|
seq_index = numpy.concatenate(out_index)
|
|
569
|
-
elif
|
|
585
|
+
elif seq_ordering_method.startswith("laplace"):
|
|
570
586
|
assert get_seq_len
|
|
571
|
-
tmp =
|
|
587
|
+
tmp = seq_ordering_method.split(":")[1:]
|
|
572
588
|
if len(tmp) == 0:
|
|
573
589
|
bins = 2
|
|
574
590
|
else:
|
|
@@ -595,7 +611,7 @@ class Dataset:
|
|
|
595
611
|
out_index.append(part)
|
|
596
612
|
seq_index = numpy.concatenate(out_index)
|
|
597
613
|
else:
|
|
598
|
-
|
|
614
|
+
raise ValueError(f"invalid seq_ordering {seq_ordering_method!r}")
|
|
599
615
|
|
|
600
616
|
if self.unique_seq_tags:
|
|
601
617
|
# Note: This is as generic as possible, but requires that get_all_tags is implemented.
|
|
@@ -66,6 +66,7 @@ class MultiProcDataset(CachedDataset2):
|
|
|
66
66
|
)
|
|
67
67
|
self._sharding_method = sharding_method
|
|
68
68
|
self._data_keys = None
|
|
69
|
+
self._data_dtypes: Optional[Dict[str, str]] = None
|
|
69
70
|
self._num_seqs = None
|
|
70
71
|
self._total_num_seqs = None
|
|
71
72
|
self._all_tags = None
|
|
@@ -83,6 +84,8 @@ class MultiProcDataset(CachedDataset2):
|
|
|
83
84
|
self.num_outputs = _meta_info_cache["num_outputs"]
|
|
84
85
|
self._total_num_seqs = _meta_info_cache["total_num_seqs"]
|
|
85
86
|
self.labels = _meta_info_cache["labels"]
|
|
87
|
+
self._data_keys = _meta_info_cache["data_keys"]
|
|
88
|
+
self._data_dtypes = _meta_info_cache["data_dtypes"]
|
|
86
89
|
|
|
87
90
|
def initialize(self):
|
|
88
91
|
"""init"""
|
|
@@ -100,6 +103,8 @@ class MultiProcDataset(CachedDataset2):
|
|
|
100
103
|
"labels": self.labels,
|
|
101
104
|
"total_num_seqs": self._total_num_seqs,
|
|
102
105
|
"all_tags": self._all_tags,
|
|
106
|
+
"data_keys": self._data_keys,
|
|
107
|
+
"data_dtypes": self._data_dtypes,
|
|
103
108
|
}
|
|
104
109
|
|
|
105
110
|
def _lazy_init(self):
|
|
@@ -177,6 +182,26 @@ class MultiProcDataset(CachedDataset2):
|
|
|
177
182
|
msg, self.labels = self._seq_order_proc_parent_conn.recv()
|
|
178
183
|
assert msg == "labels"
|
|
179
184
|
|
|
185
|
+
def _lazy_init_data_keys(self):
|
|
186
|
+
if self._data_keys is not None:
|
|
187
|
+
return
|
|
188
|
+
|
|
189
|
+
self._lazy_init() # indempotent, will not run twice if not needed
|
|
190
|
+
|
|
191
|
+
self._seq_order_proc_parent_conn.send(("get_data_keys", {}))
|
|
192
|
+
msg, self._data_keys = self._seq_order_proc_parent_conn.recv()
|
|
193
|
+
assert msg == "data_keys"
|
|
194
|
+
|
|
195
|
+
def _lazy_init_data_dtypes(self):
|
|
196
|
+
if self._data_dtypes is not None:
|
|
197
|
+
return
|
|
198
|
+
|
|
199
|
+
self._lazy_init() # indempotent, will not run twice if not needed
|
|
200
|
+
|
|
201
|
+
self._seq_order_proc_parent_conn.send(("get_data_dtypes", {}))
|
|
202
|
+
msg, self._data_dtypes = self._seq_order_proc_parent_conn.recv()
|
|
203
|
+
assert msg == "data_dtypes"
|
|
204
|
+
|
|
180
205
|
def __del__(self):
|
|
181
206
|
if self._worker_procs:
|
|
182
207
|
got_exception = False
|
|
@@ -298,6 +323,14 @@ class MultiProcDataset(CachedDataset2):
|
|
|
298
323
|
except NotImplementedError as exc:
|
|
299
324
|
all_tags = NotImplementedError(f"{exc} in {dataset}")
|
|
300
325
|
parent_conn.send(("all_tags", all_tags))
|
|
326
|
+
elif msg == "get_data_keys":
|
|
327
|
+
assert dataset
|
|
328
|
+
data_keys = dataset.get_data_keys()
|
|
329
|
+
parent_conn.send(("data_keys", data_keys))
|
|
330
|
+
elif msg == "get_data_dtypes":
|
|
331
|
+
assert dataset
|
|
332
|
+
data_keys = dataset.get_data_keys()
|
|
333
|
+
parent_conn.send(("data_dtypes", {k: dataset.get_data_dtype(k) for k in data_keys}))
|
|
301
334
|
elif msg == "init_seq_order":
|
|
302
335
|
if dataset is None:
|
|
303
336
|
dataset = init_dataset(dataset_dict)
|
|
@@ -444,3 +477,24 @@ class MultiProcDataset(CachedDataset2):
|
|
|
444
477
|
super().finish_epoch(free_resources=free_resources)
|
|
445
478
|
for worker_parent_conn in self._worker_parent_conns:
|
|
446
479
|
worker_parent_conn.send(("finish_epoch", {"free_resources": free_resources}))
|
|
480
|
+
|
|
481
|
+
def get_data_keys(self) -> List[str]:
|
|
482
|
+
"""data keys"""
|
|
483
|
+
if self._data_keys is None:
|
|
484
|
+
self._lazy_init_data_keys()
|
|
485
|
+
assert self._data_keys is not None
|
|
486
|
+
return self._data_keys
|
|
487
|
+
|
|
488
|
+
def get_data_dtype(self, key: str) -> str:
|
|
489
|
+
""":return: dtype of `key`"""
|
|
490
|
+
if self._data_dtypes is None:
|
|
491
|
+
self._lazy_init_data_dtypes()
|
|
492
|
+
assert self._data_dtypes is not None
|
|
493
|
+
return self._data_dtypes[key]
|
|
494
|
+
|
|
495
|
+
def is_data_sparse(self, key: str) -> bool:
|
|
496
|
+
""":return: whether `key` is sparse"""
|
|
497
|
+
if self.num_outputs is None:
|
|
498
|
+
self._lazy_init()
|
|
499
|
+
assert self.num_outputs is not None
|
|
500
|
+
return super().is_data_sparse(key)
|
|
@@ -3,9 +3,10 @@ Some mathematical functions, in pure NumPy.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
|
-
from typing import Union, Optional, Sequence, Dict
|
|
6
|
+
from typing import Union, Optional, Any, Sequence, Dict
|
|
7
7
|
import numpy
|
|
8
8
|
import hashlib
|
|
9
|
+
import bisect
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
def ceil_div(a: int, b: int) -> int:
|
|
@@ -80,6 +81,74 @@ class PiecewiseLinear:
|
|
|
80
81
|
return numpy.interp(x, steps, values)
|
|
81
82
|
|
|
82
83
|
|
|
84
|
+
class StepFunction:
|
|
85
|
+
"""
|
|
86
|
+
Step function. (Piecewise constant function.)
|
|
87
|
+
|
|
88
|
+
It will find the nearest x value and return the corresponding y value.
|
|
89
|
+
The corresponding y value can be anything here, not just numbers.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
def __init__(
|
|
93
|
+
self,
|
|
94
|
+
values: Dict[Union[int, float], Any],
|
|
95
|
+
*,
|
|
96
|
+
kw_name: Optional[str] = None,
|
|
97
|
+
ignore_other_kwargs: bool = False,
|
|
98
|
+
):
|
|
99
|
+
"""
|
|
100
|
+
:param values: dict x -> y. Everything between the x values is the value of the nearest x.
|
|
101
|
+
:param kw_name: keyword argument name to use in the __call__. Other keyword arguments are ignored.
|
|
102
|
+
:param ignore_other_kwargs: if True, ignore other keyword arguments in the __call__.
|
|
103
|
+
"""
|
|
104
|
+
assert values, f"{self}: No values provided"
|
|
105
|
+
self._values = values
|
|
106
|
+
self._sorted_keys = sorted(values.keys())
|
|
107
|
+
self._kw_name = kw_name
|
|
108
|
+
self._ignore_other_kwargs = ignore_other_kwargs
|
|
109
|
+
|
|
110
|
+
def __getstate__(self):
|
|
111
|
+
# Note: I was implementing __getnewargs_ex__, but we cannot use this because of this Sisyphus bug:
|
|
112
|
+
# https://github.com/rwth-i6/sisyphus/issues/215
|
|
113
|
+
kwargs = {"values": self._values}
|
|
114
|
+
if self._kw_name is not None:
|
|
115
|
+
kwargs["kw_name"] = self._kw_name
|
|
116
|
+
if self._ignore_other_kwargs:
|
|
117
|
+
kwargs["ignore_other_kwargs"] = True
|
|
118
|
+
return kwargs
|
|
119
|
+
|
|
120
|
+
def __setstate__(self, state):
|
|
121
|
+
self.__init__(**state)
|
|
122
|
+
|
|
123
|
+
def __repr__(self) -> str:
|
|
124
|
+
kwargs = self.__getstate__()
|
|
125
|
+
values = kwargs.pop("values")
|
|
126
|
+
all_args_str = ", ".join([repr(values)] + [f"{k}={v!r}" for k, v in kwargs.items()])
|
|
127
|
+
return f"{self.__class__.__name__}({all_args_str})"
|
|
128
|
+
|
|
129
|
+
def __call__(self, *args: Union[int, float], **kwargs) -> Union[int, float]:
|
|
130
|
+
if self._kw_name:
|
|
131
|
+
if args:
|
|
132
|
+
raise TypeError(f"{self}: Expected zero positional arguments, got {args!r}")
|
|
133
|
+
x = kwargs.pop(self._kw_name, None)
|
|
134
|
+
else:
|
|
135
|
+
if len(args) != 1:
|
|
136
|
+
raise TypeError(f"{self}: Expected one positional argument, got {args!r}")
|
|
137
|
+
x = args[0]
|
|
138
|
+
if not self._ignore_other_kwargs:
|
|
139
|
+
if kwargs:
|
|
140
|
+
raise TypeError(f"{self}: Unexpected keyword arguments: {kwargs!r}")
|
|
141
|
+
assert x is not None
|
|
142
|
+
keys = self._sorted_keys
|
|
143
|
+
assert keys, f"{self}: No keys provided"
|
|
144
|
+
i = bisect.bisect_left(keys, x)
|
|
145
|
+
# keys[:i] have e < x, and all e in keys[i:] have e >= x
|
|
146
|
+
# keys[i] is the smallest e >= x
|
|
147
|
+
if i >= len(keys) or (i > 0 and (x - keys[i - 1]) <= (keys[i] - x)):
|
|
148
|
+
i -= 1
|
|
149
|
+
return self._values[keys[i]]
|
|
150
|
+
|
|
151
|
+
|
|
83
152
|
def simplify_and_format_number(n: Union[int, float]) -> str:
|
|
84
153
|
"""Format a number, removing trailing zeros and the decimal point if it is an integer"""
|
|
85
154
|
if isinstance(n, (int, float)):
|
|
@@ -146,6 +146,18 @@ def test_math_PiecewiseLinear_kwargs():
|
|
|
146
146
|
assert f(epoch_continuous=0, seq_idx=123) == 2
|
|
147
147
|
|
|
148
148
|
|
|
149
|
+
def test_math_StepFunction_kwargs():
|
|
150
|
+
from returnn.util.math import StepFunction
|
|
151
|
+
|
|
152
|
+
f = StepFunction({1: "yes", 3: "no"}, kw_name="epoch", ignore_other_kwargs=True)
|
|
153
|
+
assert f(epoch=0) == "yes"
|
|
154
|
+
assert f(epoch=1) == "yes"
|
|
155
|
+
assert f(epoch=2) == "yes" # boundary, assume left wins
|
|
156
|
+
assert f(epoch=2.1) == "no"
|
|
157
|
+
assert f(epoch=3) == "no"
|
|
158
|
+
assert f(epoch=100, seq_idx=123) == "no"
|
|
159
|
+
|
|
160
|
+
|
|
149
161
|
def test_parse_orthography_into_symbols():
|
|
150
162
|
assert_equal(list("hi"), parse_orthography_into_symbols("hi"))
|
|
151
163
|
assert_equal(list(" hello "), parse_orthography_into_symbols(" hello "))
|
|
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.20241113.165719 → returnn-1.20241115.151509}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/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.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/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
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/IAM/features/raw/demo.h5
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/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
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/normalization_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/datasets/util/feature_extraction.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.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/.git
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/.gitignore
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/LICENSE
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/README.md
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/aligner.gif
RENAMED
|
File without changes
|
{returnn-1.20241113.165719 → returnn-1.20241115.151509}/returnn/extern/WarpRna/warp-rna/check.png
RENAMED
|
File without changes
|