returnn 1.20241209.230715__tar.gz → 1.20241210.150216__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.20241209.230715 → returnn-1.20241210.150216}/PKG-INFO +1 -1
- returnn-1.20241210.150216/_setup_info_generated.py +2 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/audio.py +9 -3
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/basic.py +9 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/lm.py +47 -5
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/attention.py +6 -2
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn.egg-info/PKG-INFO +1 -1
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_attention.py +79 -1
- returnn-1.20241209.230715/_setup_info_generated.py +0 -2
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/.editorconfig +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/.gitignore +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/.gitmodules +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/.kateconfig +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/CHANGELOG.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/CODEOWNERS +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/CONTRIBUTING.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/LICENSE +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/MANIFEST.in +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/README.rst +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/12AX.cluster_map +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-fwd.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-list-devices.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-pretrain.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-rf.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-torch.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo.sh +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/pyproject.toml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/requirements.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/__main__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/__setup__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/config.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/cached.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/generating.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/map.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/meta.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/postprocessing.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/engine/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/engine/base.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/engine/batch.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/forward_iface.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/array_.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/backend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/cond.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/const.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/container.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/conv.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/conversions/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/conversions/hf_llama.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/conversions/torch_nn.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/device.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/dims.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/encoder/e_branchformer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/encoder/transformer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/graph.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/init.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/linear.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/loop.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/loss.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/math_.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/module.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/rand.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/rec.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/signal.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/state.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/frontend/types.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/import_/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/import_/common.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/import_/git.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/import_/import_.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/log.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/native_op.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/native_op.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/pretrain.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/sprint/cache.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/sprint/control.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/sprint/interface.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/dim.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tensor/utils.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/compat.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/distributed.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/engine.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/horovod.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/native_op.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/network.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/sprint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/updater.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/util/data.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/distributed.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/engine.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/optim/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/optim/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/optim/lion.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/updater.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/debug_inf_nan.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/exception_helper.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/module.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/__init__.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/basic.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/bpe.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/debug.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/file_cache.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/fsa.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/math.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/pprint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/py_compat.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/task_system.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/rnn.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/setup.cfg +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/setup.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/DummySprintExec.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/_setup_test_env.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/lint_common.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/pylint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/rf_utils.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/spelling.dic +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_Config.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_Dataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_Fsa.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_Log.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_Pretrain.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_ResNet.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TFEngine.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TFUtil.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_Util.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_demos.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_fork_exec.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_array.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_base.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_cond.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_const.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_container.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_conv.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_decoder_transformer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_loop.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_math.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_rec.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_rf_signal.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_tensor.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_tools.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_torch_engine.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/test_torch_util.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tests/torch_utils.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/collect-words.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/compile_native_op.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/dump-dataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/dump-forward.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/dump-network-json.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/dump-pickle.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/get-attention-weights.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/hdf_dump.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20241209.230715 → returnn-1.20241210.150216}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -167,6 +167,7 @@ class OggZipDataset(CachedDataset2):
|
|
|
167
167
|
else:
|
|
168
168
|
assert isinstance(epoch_wise_filter, EpochWiseFilter)
|
|
169
169
|
self.epoch_wise_filter = epoch_wise_filter
|
|
170
|
+
self._seq_index_by_tag: Optional[Dict[str, int]] = None
|
|
170
171
|
self._seq_order = None # type: typing.Optional[typing.Sequence[int]]
|
|
171
172
|
|
|
172
173
|
def _read(self, filename, zip_index):
|
|
@@ -288,6 +289,11 @@ class OggZipDataset(CachedDataset2):
|
|
|
288
289
|
segment_file_handle = open(segment_file)
|
|
289
290
|
self.segments = set(segment_file_handle.read().splitlines())
|
|
290
291
|
|
|
292
|
+
def _lazy_init_seq_index_by_tag(self):
|
|
293
|
+
if self._seq_index_by_tag is not None:
|
|
294
|
+
return
|
|
295
|
+
self._seq_index_by_tag = {self._get_tag_from_info_dict(seq): i for i, seq in enumerate(self._data)}
|
|
296
|
+
|
|
291
297
|
def init_seq_order(self, epoch=None, seq_list=None, seq_order=None):
|
|
292
298
|
"""
|
|
293
299
|
If random_shuffle_epoch1, for epoch 1 with "random" ordering, we leave the given order as is.
|
|
@@ -327,12 +333,12 @@ class OggZipDataset(CachedDataset2):
|
|
|
327
333
|
if seq_order is not None:
|
|
328
334
|
self._seq_order = seq_order
|
|
329
335
|
elif seq_list is not None:
|
|
330
|
-
|
|
336
|
+
self._lazy_init_seq_index_by_tag()
|
|
331
337
|
for seq_tag in seq_list:
|
|
332
|
-
assert seq_tag in
|
|
338
|
+
assert seq_tag in self._seq_index_by_tag, "Did not find all requested seqs. We have eg: %s" % (
|
|
333
339
|
self._get_tag_from_info_dict(self._data[0]),
|
|
334
340
|
)
|
|
335
|
-
self._seq_order = [
|
|
341
|
+
self._seq_order = [self._seq_index_by_tag[seq_tag] for seq_tag in seq_list]
|
|
336
342
|
else:
|
|
337
343
|
num_seqs = len(self._data)
|
|
338
344
|
self._seq_order = self.get_seq_order_for_epoch(epoch=epoch, num_seqs=num_seqs, get_seq_len=get_seq_len)
|
|
@@ -330,6 +330,8 @@ class Dataset:
|
|
|
330
330
|
assert chunk_step.max_value() > 0, "chunking step must be positive (for some key)"
|
|
331
331
|
return chunk_size, chunk_step, None
|
|
332
332
|
|
|
333
|
+
_seq_list_file_cache: Dict[str, Union[List[str], Dict[str, List[str]]]] = {}
|
|
334
|
+
|
|
333
335
|
@staticmethod
|
|
334
336
|
def _load_seq_list_file(
|
|
335
337
|
filename: str, *, use_cache_manager: bool = False, expect_list: bool = True
|
|
@@ -340,6 +342,12 @@ class Dataset:
|
|
|
340
342
|
:param expect_list:
|
|
341
343
|
:return: seq list file content. usually a list of seqs.
|
|
342
344
|
"""
|
|
345
|
+
if filename in Dataset._seq_list_file_cache:
|
|
346
|
+
seq_list = Dataset._seq_list_file_cache[filename]
|
|
347
|
+
if expect_list:
|
|
348
|
+
assert isinstance(seq_list, list)
|
|
349
|
+
return seq_list
|
|
350
|
+
_filename = filename
|
|
343
351
|
if use_cache_manager:
|
|
344
352
|
import returnn.util.basic
|
|
345
353
|
|
|
@@ -367,6 +375,7 @@ class Dataset:
|
|
|
367
375
|
assert isinstance(seq_list, list)
|
|
368
376
|
else:
|
|
369
377
|
seq_list = _open("rt").read().splitlines()
|
|
378
|
+
Dataset._seq_list_file_cache[_filename] = seq_list
|
|
370
379
|
return seq_list
|
|
371
380
|
|
|
372
381
|
def _sliding_window(self, xr):
|
|
@@ -46,8 +46,10 @@ class LmDataset(CachedDataset2):
|
|
|
46
46
|
def __init__(
|
|
47
47
|
self,
|
|
48
48
|
corpus_file,
|
|
49
|
+
*,
|
|
49
50
|
use_cache_manager=False,
|
|
50
51
|
skip_empty_lines=True,
|
|
52
|
+
seq_list_file=None,
|
|
51
53
|
orth_vocab=None,
|
|
52
54
|
orth_symbols_file=None,
|
|
53
55
|
orth_symbols_map_file=None,
|
|
@@ -89,6 +91,8 @@ class LmDataset(CachedDataset2):
|
|
|
89
91
|
:param str|()->str|list[str]|()->list[str] corpus_file: Bliss XML or line-based txt. optionally can be gzip.
|
|
90
92
|
:param bool use_cache_manager: uses :func:`returnn.util.basic.cf`
|
|
91
93
|
:param bool skip_empty_lines: for line-based txt
|
|
94
|
+
:param str|list[str]|None seq_list_file: optional custom seq tags to use instead of the "line-%i" seq tags.
|
|
95
|
+
Pickle (.pkl) or txt (line-based seq tags). Optionally gzipped (.gz).
|
|
92
96
|
:param dict[str,typing.Any]|Vocabulary orth_vocab:
|
|
93
97
|
:param str|()->str|None orth_symbols_file: a text file containing a list of orthography symbols
|
|
94
98
|
:param str|()->str|None orth_symbols_map_file: either a list of orth symbols, each line: "<symbol> <index>",
|
|
@@ -119,6 +123,7 @@ class LmDataset(CachedDataset2):
|
|
|
119
123
|
self._corpus_file = corpus_file
|
|
120
124
|
self._use_cache_manager = use_cache_manager
|
|
121
125
|
self._skip_empty_lines = skip_empty_lines
|
|
126
|
+
self._seq_list_file = seq_list_file
|
|
122
127
|
self._orth_symbols_file = orth_symbols_file
|
|
123
128
|
self._orth_symbols_map_file = orth_symbols_map_file
|
|
124
129
|
self._orth_replace_map_file = orth_replace_map_file
|
|
@@ -274,6 +279,8 @@ class LmDataset(CachedDataset2):
|
|
|
274
279
|
self._orth_files: Optional[List[BinaryIO]] = None
|
|
275
280
|
self._orth_mmaps = None
|
|
276
281
|
self._orths_offsets_and_lens: Optional[List[Tuple[int, int]]] = None # will be loaded in _lazy_init
|
|
282
|
+
self._seq_list: Optional[List[str]] = None
|
|
283
|
+
self._seq_index_by_tag: Optional[dict[str, int]] = None
|
|
277
284
|
|
|
278
285
|
self.next_orth_idx = 0
|
|
279
286
|
self.next_seq_idx = 0
|
|
@@ -301,6 +308,7 @@ class LmDataset(CachedDataset2):
|
|
|
301
308
|
total_bytes_read = 0
|
|
302
309
|
orths = []
|
|
303
310
|
self._orths_offsets_and_lens = orths
|
|
311
|
+
lens_per_corpus_file = []
|
|
304
312
|
start_time = time.time()
|
|
305
313
|
last_print_time = start_time
|
|
306
314
|
|
|
@@ -341,6 +349,7 @@ class LmDataset(CachedDataset2):
|
|
|
341
349
|
# If a list of files is provided, concatenate all.
|
|
342
350
|
if not isinstance(corpus_file, list):
|
|
343
351
|
corpus_file = [corpus_file]
|
|
352
|
+
prev_orth_len = 0
|
|
344
353
|
for file_name in corpus_file:
|
|
345
354
|
if self._use_cache_manager:
|
|
346
355
|
file_name = cf(file_name)
|
|
@@ -376,10 +385,31 @@ class LmDataset(CachedDataset2):
|
|
|
376
385
|
pos = next_new_line + 1
|
|
377
386
|
_maybe_report_status()
|
|
378
387
|
|
|
388
|
+
lens_per_corpus_file.append(len(orths) - prev_orth_len)
|
|
389
|
+
prev_orth_len = len(orths)
|
|
390
|
+
|
|
379
391
|
if tmp_file is not None:
|
|
380
392
|
tmp_file.flush()
|
|
381
393
|
self._orth_mmaps[tmp_file_orth_files_index] = mmap.mmap(tmp_file.fileno(), 0, flags=mmap.MAP_PRIVATE)
|
|
382
394
|
|
|
395
|
+
if self._seq_list_file:
|
|
396
|
+
if isinstance(self._seq_list_file, str):
|
|
397
|
+
seq_list: List[str] = self._load_seq_list_file(
|
|
398
|
+
self._seq_list_file, use_cache_manager=self._use_cache_manager
|
|
399
|
+
)
|
|
400
|
+
elif isinstance(self._seq_list_file, list):
|
|
401
|
+
assert len(self._seq_list_file) == len(lens_per_corpus_file)
|
|
402
|
+
seq_list: List[str] = []
|
|
403
|
+
for i, fn in enumerate(self._seq_list_file):
|
|
404
|
+
seq_list_: List[str] = self._load_seq_list_file(fn, use_cache_manager=self._use_cache_manager)
|
|
405
|
+
assert len(seq_list_) == lens_per_corpus_file[i]
|
|
406
|
+
seq_list.extend(seq_list_)
|
|
407
|
+
else:
|
|
408
|
+
raise TypeError(f"invalid seq_list_file type {type(self._seq_list_file).__name__}")
|
|
409
|
+
assert isinstance(seq_list, list)
|
|
410
|
+
assert len(self._orths_offsets_and_lens) == len(seq_list)
|
|
411
|
+
self._seq_list = seq_list
|
|
412
|
+
|
|
383
413
|
print(
|
|
384
414
|
f" done, loaded {len(self._orths_offsets_and_lens)} sequences,"
|
|
385
415
|
f" {human_bytes_size(total_bytes_read)},"
|
|
@@ -445,8 +475,16 @@ class LmDataset(CachedDataset2):
|
|
|
445
475
|
if seq_order is not None:
|
|
446
476
|
self.seq_order = seq_order
|
|
447
477
|
elif seq_list is not None:
|
|
448
|
-
|
|
449
|
-
self.
|
|
478
|
+
# Might not be initialized. Can even do without init. Thus check seq_list_file.
|
|
479
|
+
if self._seq_list_file is None:
|
|
480
|
+
assert all(s.startswith(self._tag_prefix) for s in seq_list)
|
|
481
|
+
self.seq_order = [int(s[len(self._tag_prefix) :]) for s in seq_list]
|
|
482
|
+
else:
|
|
483
|
+
# Need seq list for this. Just do the lazy init now.
|
|
484
|
+
self._lazy_init()
|
|
485
|
+
if self._seq_index_by_tag is None:
|
|
486
|
+
self._seq_index_by_tag = {tag: i for (i, tag) in enumerate(self._seq_list)}
|
|
487
|
+
self.seq_order = [self._seq_index_by_tag[s] for s in seq_list]
|
|
450
488
|
elif epoch is None:
|
|
451
489
|
self.seq_order = []
|
|
452
490
|
else:
|
|
@@ -486,6 +524,9 @@ class LmDataset(CachedDataset2):
|
|
|
486
524
|
|
|
487
525
|
def get_all_tags(self) -> List[str]:
|
|
488
526
|
""":return: all seq tags"""
|
|
527
|
+
self._lazy_init()
|
|
528
|
+
if self._seq_list is not None:
|
|
529
|
+
return self._seq_list
|
|
489
530
|
num_seqs = self.get_total_num_seqs()
|
|
490
531
|
return [self._tag_prefix + str(line_nr) for line_nr in range(num_seqs)]
|
|
491
532
|
|
|
@@ -525,10 +566,11 @@ class LmDataset(CachedDataset2):
|
|
|
525
566
|
# get sequence for the next index given by seq_order
|
|
526
567
|
idx, offset, len_ = self._orths_offsets_and_lens[true_idx]
|
|
527
568
|
orth = self._orth_mmaps[idx][offset : offset + len_].decode("utf8").strip()
|
|
528
|
-
|
|
569
|
+
if self._seq_list is None:
|
|
570
|
+
seq_tag = self._tag_prefix + str(true_idx)
|
|
571
|
+
else:
|
|
572
|
+
seq_tag = self._seq_list[true_idx]
|
|
529
573
|
self.next_orth_idx += 1
|
|
530
|
-
if orth == "</s>":
|
|
531
|
-
continue # special sentence end symbol. empty seq, ignore.
|
|
532
574
|
|
|
533
575
|
if self.orth_vocab is not None:
|
|
534
576
|
data = numpy.array(self.orth_vocab.get_seq(orth), dtype=self.dtype)
|
|
@@ -325,7 +325,7 @@ class RotaryPosCausalSelfAttention(CausalSelfAttention):
|
|
|
325
325
|
q = _apply_rope(
|
|
326
326
|
q,
|
|
327
327
|
(
|
|
328
|
-
rf.gather(pos_enc, axis=hist_dim, indices=hist_dim.
|
|
328
|
+
rf.gather(pos_enc, axis=hist_dim, indices=hist_dim.get_size_tensor() - 1)
|
|
329
329
|
if axis == single_step_dim
|
|
330
330
|
else rf.replace_dim(pos_enc, in_dim=hist_dim, out_dim=axis)[0]
|
|
331
331
|
),
|
|
@@ -503,6 +503,8 @@ def _rel_pos_enc_shift(x: Tensor, axis: Dim, pos_emb_spatial_dim: Dim, hist_dim:
|
|
|
503
503
|
:param hist_dim: T' (equal to T but separate dim)
|
|
504
504
|
:return: [B,H,T,T']
|
|
505
505
|
"""
|
|
506
|
+
if pos_emb_spatial_dim == hist_dim: # happens for single_step_dim
|
|
507
|
+
return x # no shift needed
|
|
506
508
|
batch_dims = x.remaining_dims((axis, pos_emb_spatial_dim))
|
|
507
509
|
x_padded, (pos_emb_spatial_dim_,) = rf.pad(
|
|
508
510
|
x, axes=[pos_emb_spatial_dim], padding=[(1, 0)], value=0.0
|
|
@@ -604,6 +606,7 @@ class RelPosCausalSelfAttention(CausalSelfAttention):
|
|
|
604
606
|
pos_emb, pos_emb_spatial_dim = relative_positional_encoding(
|
|
605
607
|
query_spatial_dim=axis, key_value_spatial_dim=hist_dim, feat_dim=self.pos_emb_feat_dim
|
|
606
608
|
)
|
|
609
|
+
# pos_emb_spatial_dim is 2*time1-1 if axis!=single_step_dim, else time1
|
|
607
610
|
if self.pos_emb_dropout:
|
|
608
611
|
pos_emb = rf.dropout(pos_emb, self.pos_emb_dropout)
|
|
609
612
|
if self.linear_pos is not None:
|
|
@@ -850,7 +853,8 @@ def _make_indices(
|
|
|
850
853
|
if query_spatial_dim == single_step_dim:
|
|
851
854
|
indices = kv_pos_vec
|
|
852
855
|
out_spatial_dim = key_value_spatial_dim
|
|
853
|
-
|
|
856
|
+
# not sure if any custom query offset makes sense?
|
|
857
|
+
assert query_offset is None or (isinstance(query_offset, int) and query_offset == 0)
|
|
854
858
|
# Assume the kv are the accumulated history, and query is cur frame of it,
|
|
855
859
|
# corresponding to the last frame of the kv.
|
|
856
860
|
query_offset = key_value_spatial_dim.get_size_tensor() - 1
|
|
@@ -3,7 +3,7 @@ RETURNN frontend (returnn.frontend) tests
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
|
-
from typing import Tuple
|
|
6
|
+
from typing import Union, Tuple
|
|
7
7
|
import numpy as np
|
|
8
8
|
import numpy.testing
|
|
9
9
|
import _setup_test_env # noqa
|
|
@@ -440,6 +440,84 @@ def test_rope_causal_self_att():
|
|
|
440
440
|
print(" all matched!")
|
|
441
441
|
|
|
442
442
|
|
|
443
|
+
def test_causal_self_att_variants_single_step_vs_full_seq():
|
|
444
|
+
from returnn.tensor import single_step_dim
|
|
445
|
+
|
|
446
|
+
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
447
|
+
in_dim = Dim(7 * 2, name="in")
|
|
448
|
+
extern_data = TensorDict(
|
|
449
|
+
{
|
|
450
|
+
"data": Tensor("data", [batch_dim, time_dim, in_dim], dtype="float32"),
|
|
451
|
+
}
|
|
452
|
+
)
|
|
453
|
+
|
|
454
|
+
# noinspection PyShadowingNames
|
|
455
|
+
def _forward_step(*, model: Union[rf.CausalSelfAttention], extern_data: TensorDict):
|
|
456
|
+
x = extern_data["data"]
|
|
457
|
+
|
|
458
|
+
out_seq_level, _ = model(x, axis=time_dim)
|
|
459
|
+
out_seq_level.mark_as_output("out_seq_level", shape=[batch_dim, time_dim, model.out_dim])
|
|
460
|
+
|
|
461
|
+
out_seq_level_explicit_initial_state, _ = model(
|
|
462
|
+
x, axis=time_dim, state=model.default_initial_state(batch_dims=[batch_dim])
|
|
463
|
+
)
|
|
464
|
+
out_seq_level_explicit_initial_state.mark_as_output(
|
|
465
|
+
"out_seq_level_explicit_initial_state", shape=[batch_dim, time_dim, model.out_dim]
|
|
466
|
+
)
|
|
467
|
+
|
|
468
|
+
def _body(
|
|
469
|
+
_x: Tensor, _state: Union[rf.CausalSelfAttentionState]
|
|
470
|
+
) -> Tuple[Tensor, Union[rf.CausalSelfAttentionState]]:
|
|
471
|
+
return model(_x, axis=single_step_dim, state=_state)
|
|
472
|
+
|
|
473
|
+
out_single_steps, _, _ = rf.scan(
|
|
474
|
+
spatial_dim=time_dim,
|
|
475
|
+
xs=x,
|
|
476
|
+
body=_body,
|
|
477
|
+
ys=Tensor("y", dims=[batch_dim, model.out_dim], dtype="float32"),
|
|
478
|
+
initial=model.default_initial_state(batch_dims=[batch_dim]),
|
|
479
|
+
)
|
|
480
|
+
out_single_steps.mark_as_output("out_single_steps", shape=[batch_dim, time_dim, model.out_dim])
|
|
481
|
+
|
|
482
|
+
common_opts = dict(
|
|
483
|
+
in_dim=in_dim,
|
|
484
|
+
proj_dim=Dim(5, name="out"),
|
|
485
|
+
key_dim_total=Dim(21 * 2, name="key-dim-total"),
|
|
486
|
+
value_dim_total=Dim(33, name="value-dim-total"),
|
|
487
|
+
num_heads=3,
|
|
488
|
+
)
|
|
489
|
+
|
|
490
|
+
def _make_causal_self_att(**_kwargs):
|
|
491
|
+
return rf.CausalSelfAttention(**common_opts)
|
|
492
|
+
|
|
493
|
+
def _make_rope_causal_self_att(**_kwargs):
|
|
494
|
+
return rf.RotaryPosCausalSelfAttention(**common_opts)
|
|
495
|
+
|
|
496
|
+
def _make_rel_pos_causal_self_att(**_kwargs):
|
|
497
|
+
return rf.RelPosCausalSelfAttention(**common_opts)
|
|
498
|
+
|
|
499
|
+
models = [_make_causal_self_att, _make_rope_causal_self_att, _make_rel_pos_causal_self_att]
|
|
500
|
+
|
|
501
|
+
for get_model in models:
|
|
502
|
+
print("> Testing model:", get_model.__name__)
|
|
503
|
+
res = run_model(
|
|
504
|
+
extern_data,
|
|
505
|
+
get_model,
|
|
506
|
+
_forward_step,
|
|
507
|
+
# TF needs TensorArray unstack, not implemented yet
|
|
508
|
+
test_tensorflow=False,
|
|
509
|
+
)
|
|
510
|
+
|
|
511
|
+
# Check that the single-step and the seq-level output are the same.
|
|
512
|
+
res_seq_level = res.data["out_seq_level"].raw_tensor
|
|
513
|
+
for key in ["out_seq_level_explicit_initial_state", "out_single_steps"]:
|
|
514
|
+
res_other = res.data[key].raw_tensor
|
|
515
|
+
assert res_seq_level.shape == res_other.shape
|
|
516
|
+
numpy.testing.assert_allclose(
|
|
517
|
+
res_other, res_seq_level, atol=1e-5, rtol=1e-5, err_msg=f"output {key} differs"
|
|
518
|
+
)
|
|
519
|
+
|
|
520
|
+
|
|
443
521
|
def test_relative_positional_encoding():
|
|
444
522
|
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
445
523
|
in_dim = Dim(8, name="in")
|
|
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.20241209.230715 → returnn-1.20241210.150216}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/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.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/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.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/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.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/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
|
{returnn-1.20241209.230715 → returnn-1.20241210.150216}/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.20241209.230715 → returnn-1.20241210.150216}/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
|