returnn 1.20241217.122516__tar.gz → 1.20241219.123408__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.20241217.122516/returnn.egg-info → returnn-1.20241219.123408}/PKG-INFO +1 -1
- returnn-1.20241219.123408/_setup_info_generated.py +2 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/__main__.py +5 -5
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_backend.py +5 -2
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/array_.py +21 -14
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/_backend.py +1 -1
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/engine.py +14 -9
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/frontend/_backend.py +59 -18
- {returnn-1.20241217.122516 → returnn-1.20241219.123408/returnn.egg-info}/PKG-INFO +1 -1
- returnn-1.20241217.122516/_setup_info_generated.py +0 -2
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/.editorconfig +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/.gitignore +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/.gitmodules +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/.kateconfig +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/CHANGELOG.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/CODEOWNERS +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/CONTRIBUTING.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/LICENSE +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/MANIFEST.in +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/README.rst +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/12AX.cluster_map +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-fwd.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-list-devices.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-pretrain.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-rf.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-torch.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo.sh +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/pyproject.toml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/requirements.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/__setup__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/config.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/audio.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/basic.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/cached.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/generating.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/lm.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/map.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/meta.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/postprocessing.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/engine/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/engine/base.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/engine/batch.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/forward_iface.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/attention.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/backend.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/cond.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/const.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/container.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/conv.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/conversions/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/conversions/hf_llama.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/conversions/torch_nn.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/device.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/dims.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/encoder/e_branchformer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/encoder/transformer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/graph.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/init.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/linear.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/loop.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/loss.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/math_.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/module.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/rand.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/rec.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/signal.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/state.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/frontend/types.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/import_/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/import_/common.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/import_/git.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/import_/import_.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/log.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/native_op.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/native_op.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/pretrain.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/sprint/cache.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/sprint/control.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/sprint/interface.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/dim.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tensor/utils.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/compat.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/distributed.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/engine.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/horovod.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/native_op.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/network.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/sprint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/updater.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/util/data.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/distributed.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/optim/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/optim/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/optim/lion.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/updater.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/debug_inf_nan.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/exception_helper.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/module.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/__init__.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/basic.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/bpe.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/debug.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/file_cache.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/fsa.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/math.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/pprint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/py_compat.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/task_system.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/rnn.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/setup.cfg +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/setup.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/DummySprintExec.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/_setup_test_env.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/lint_common.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/pylint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/rf_utils.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/spelling.dic +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_Config.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_Dataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_Fsa.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_Log.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_Pretrain.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_ResNet.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TFEngine.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TFUtil.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_Util.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_demos.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_fork_exec.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_array.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_attention.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_base.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_cond.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_const.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_container.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_conv.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_decoder_transformer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_loop.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_math.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_rec.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_rf_signal.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_tensor.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_tools.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_torch_engine.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/test_torch_util.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tests/torch_utils.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/collect-words.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/compile_native_op.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/dump-dataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/dump-forward.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/dump-network-json.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/dump-pickle.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/get-attention-weights.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/hdf_dump.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20241217.122516 → returnn-1.20241219.123408}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -577,16 +577,16 @@ def execute_main_task():
|
|
|
577
577
|
assert data, "set forward_data"
|
|
578
578
|
else:
|
|
579
579
|
data = init_dataset(config.opt_typed_value("forward_data"))
|
|
580
|
-
# engine.epoch is usually the epoch of the loaded checkpoint,
|
|
581
|
-
# or what EngineBase.get_epoch_model will return.
|
|
582
|
-
# You can have both load and load_epoch, where load points to the checkpoint,
|
|
583
|
-
# and load_epoch is some other epoch, which you will get here for the dataset.
|
|
584
|
-
data.init_seq_order(epoch=engine.epoch or 1)
|
|
585
580
|
forward_callback = config.typed_value("forward_callback")
|
|
586
581
|
assert forward_callback, "no forward_callback specified"
|
|
587
582
|
if callable(forward_callback):
|
|
588
583
|
forward_callback = forward_callback()
|
|
589
584
|
allow_skipping_seqs = config.bool("allow_skipping_seqs_in_forward", False)
|
|
585
|
+
# engine.epoch is usually the epoch of the loaded checkpoint,
|
|
586
|
+
# or what EngineBase.get_epoch_model will return.
|
|
587
|
+
# You can have both load and load_epoch, where load points to the checkpoint,
|
|
588
|
+
# and load_epoch is some other epoch, which you will get here for the dataset.
|
|
589
|
+
# data.init_seq_order will be called inside. (Maybe the dataset is first moved to a subproc.)
|
|
590
590
|
engine.forward_with_callback(
|
|
591
591
|
dataset=data, callback=forward_callback, allow_skipping_seqs=allow_skipping_seqs
|
|
592
592
|
)
|
|
@@ -478,7 +478,7 @@ class Backend(Generic[T]):
|
|
|
478
478
|
source: Tensor,
|
|
479
479
|
*,
|
|
480
480
|
axes: Sequence[Dim],
|
|
481
|
-
padding: Sequence[Tuple[Union[Dim, int], Union[Dim, int]]],
|
|
481
|
+
padding: Sequence[Tuple[Union[Dim, int, Tensor], Union[Dim, int, Tensor]]],
|
|
482
482
|
out_dims: Sequence[Dim],
|
|
483
483
|
handle_dynamic_dims: bool,
|
|
484
484
|
mode: str = "constant",
|
|
@@ -1165,11 +1165,14 @@ class Backend(Generic[T]):
|
|
|
1165
1165
|
raise NotImplementedError
|
|
1166
1166
|
|
|
1167
1167
|
@staticmethod
|
|
1168
|
-
def masked_scatter(
|
|
1168
|
+
def masked_scatter(
|
|
1169
|
+
source: Tensor, backup: Optional[Tensor] = None, *, mask: Tensor, dims: Sequence[Dim], in_dim: Dim
|
|
1170
|
+
) -> Tensor:
|
|
1169
1171
|
"""
|
|
1170
1172
|
The inverse of :func:`masked_select`.
|
|
1171
1173
|
|
|
1172
1174
|
:param source: [in_dim, F...]
|
|
1175
|
+
:param backup: [dims..., F...] (or subset of those dims). zero if not given.
|
|
1173
1176
|
:param mask: [dims...] -> bool (e.g. [B,T])
|
|
1174
1177
|
:param dims: the order of the dims defines the format. those dims should be exactly the dims of the mask.
|
|
1175
1178
|
:param in_dim: the dim of the source which should be scattered into the mask.
|
|
@@ -412,7 +412,7 @@ def pad(
|
|
|
412
412
|
source: Tensor,
|
|
413
413
|
*,
|
|
414
414
|
axes: Sequence[Dim],
|
|
415
|
-
padding: Sequence[Tuple[Union[Dim, int], Union[Dim, int]]],
|
|
415
|
+
padding: Sequence[Tuple[Union[Dim, int, Tensor], Union[Dim, int, Tensor]]],
|
|
416
416
|
out_dims: Optional[Sequence[Dim]] = None,
|
|
417
417
|
mode: str = "constant",
|
|
418
418
|
value: Optional[Union[rf.RawTensorTypes, Tensor]] = None,
|
|
@@ -436,13 +436,6 @@ def pad(
|
|
|
436
436
|
if handle_dynamic_dims is None:
|
|
437
437
|
handle_dynamic_dims = _pad_handle_dynamic_dims_default(axes, padding, mode=mode)
|
|
438
438
|
if not out_dims:
|
|
439
|
-
if handle_dynamic_dims:
|
|
440
|
-
for left, right in padding:
|
|
441
|
-
if isinstance(left, Dim):
|
|
442
|
-
assert not left.need_masking(), f"padding {padding} does not support dynamic left padding"
|
|
443
|
-
if isinstance(right, Dim):
|
|
444
|
-
assert not right.need_masking(), f"padding {padding} does not support dynamic right padding"
|
|
445
|
-
# Note that even dynamic middle dims is not exactly correct...
|
|
446
439
|
out_dims = [left + middle + right for middle, (left, right) in zip(axes, padding)]
|
|
447
440
|
# noinspection PyProtectedMember
|
|
448
441
|
return (
|
|
@@ -480,10 +473,7 @@ def _pad_handle_dynamic_dims_default(
|
|
|
480
473
|
global _pad_handle_dynamic_dims_shown_warning
|
|
481
474
|
if not _pad_handle_dynamic_dims_shown_warning:
|
|
482
475
|
for middle, (left, right) in zip(pad_axes, padding):
|
|
483
|
-
middle:
|
|
484
|
-
if not middle.need_masking() and (isinstance(left, int) or not left.need_masking()):
|
|
485
|
-
continue
|
|
486
|
-
if mode != "circular" and isinstance(right, int) and right == 0:
|
|
476
|
+
if not _pad_need_dyn_dim_handling(middle, left, right, mode=mode):
|
|
487
477
|
continue
|
|
488
478
|
|
|
489
479
|
logging.getLogger("returnn.frontend").warning(
|
|
@@ -498,6 +488,20 @@ def _pad_handle_dynamic_dims_default(
|
|
|
498
488
|
return False
|
|
499
489
|
|
|
500
490
|
|
|
491
|
+
def _pad_need_dyn_dim_handling(
|
|
492
|
+
middle: Dim, left: Union[Dim, int, Tensor], right: Union[Dim, int, Tensor], *, mode: str
|
|
493
|
+
) -> bool:
|
|
494
|
+
if (
|
|
495
|
+
not middle.need_masking()
|
|
496
|
+
and (isinstance(left, int) or (isinstance(left, Dim) and not left.need_masking()))
|
|
497
|
+
or (isinstance(left, Tensor) and not left.dims)
|
|
498
|
+
):
|
|
499
|
+
return False
|
|
500
|
+
if mode != "circular" and isinstance(right, int) and right == 0:
|
|
501
|
+
return False
|
|
502
|
+
return True
|
|
503
|
+
|
|
504
|
+
|
|
501
505
|
def cum_concat_step(
|
|
502
506
|
source: Tensor, *, prev_accum: Tensor, axis: Dim, out_spatial_dim: Optional[Dim] = None
|
|
503
507
|
) -> Tuple[Tensor, Dim]:
|
|
@@ -598,18 +602,21 @@ def masked_select(
|
|
|
598
602
|
return res, out_dim
|
|
599
603
|
|
|
600
604
|
|
|
601
|
-
def masked_scatter(
|
|
605
|
+
def masked_scatter(
|
|
606
|
+
source: Tensor, backup: Optional[Tensor] = None, *, mask: Tensor, dims: Sequence[Dim], in_dim: Dim
|
|
607
|
+
) -> Tensor:
|
|
602
608
|
"""
|
|
603
609
|
The inverse of :func:`masked_select`.
|
|
604
610
|
|
|
605
611
|
:param source: [in_dim, F...]
|
|
612
|
+
:param backup: [dims..., F...] (or subset of those dims). zero if not given.
|
|
606
613
|
:param mask: [dims...] -> bool (e.g. [B,T])
|
|
607
614
|
:param dims: the order of the dims defines the format. those dims should be exactly the dims of the mask.
|
|
608
615
|
:param in_dim: the dim of the source which should be scattered into the mask.
|
|
609
616
|
:return: [dims..., F...]
|
|
610
617
|
"""
|
|
611
618
|
# noinspection PyProtectedMember
|
|
612
|
-
return source._raw_backend.masked_scatter(source, mask=mask, dims=dims, in_dim=in_dim)
|
|
619
|
+
return source._raw_backend.masked_scatter(source, backup=backup, mask=mask, dims=dims, in_dim=in_dim)
|
|
613
620
|
|
|
614
621
|
|
|
615
622
|
def sequence_mask(dims: Union[Dim, Sequence[Dim]], *, device: Optional[str] = None) -> Tensor:
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/tf/frontend_layers/_backend.py
RENAMED
|
@@ -366,7 +366,7 @@ class ReturnnLayersBackend(Backend[Layer]):
|
|
|
366
366
|
source: Tensor,
|
|
367
367
|
*,
|
|
368
368
|
axes: Sequence[Dim],
|
|
369
|
-
padding: Sequence[Tuple[Union[Dim, int], Union[Dim, int]]],
|
|
369
|
+
padding: Sequence[Tuple[Union[Dim, int, Tensor], Union[Dim, int, Tensor]]],
|
|
370
370
|
out_dims: Sequence[Dim],
|
|
371
371
|
handle_dynamic_dims: bool,
|
|
372
372
|
mode: str = "constant",
|
|
@@ -1169,15 +1169,20 @@ class Engine(EngineBase):
|
|
|
1169
1169
|
self._maybe_reset_dev_memory_caches()
|
|
1170
1170
|
self._reset_dev_memory_stats()
|
|
1171
1171
|
|
|
1172
|
-
if
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
dataset.seq_ordering
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
file=log.v3
|
|
1180
|
-
|
|
1172
|
+
if dataset_init_epoch:
|
|
1173
|
+
if not self.config.bool("sort_dataset", True):
|
|
1174
|
+
pass
|
|
1175
|
+
elif dataset.seq_ordering == "sorted_reverse":
|
|
1176
|
+
pass
|
|
1177
|
+
elif dataset.supports_seq_order_sorting():
|
|
1178
|
+
# We can sort it. Sort it in reverse to make sure that we have enough memory right at the beginning.
|
|
1179
|
+
print("Dataset supports sorting, i.e. it will be sorted for optimal performance.", file=log.v3)
|
|
1180
|
+
dataset.seq_ordering = "sorted_reverse"
|
|
1181
|
+
else:
|
|
1182
|
+
print(
|
|
1183
|
+
"Dataset does not support sorting, i.e. it will not be sorted for optimal performance.",
|
|
1184
|
+
file=log.v3,
|
|
1185
|
+
)
|
|
1181
1186
|
|
|
1182
1187
|
if allow_skipping_seqs:
|
|
1183
1188
|
# Dangerous! If you enable this, you could lose sequences,
|
|
@@ -444,7 +444,7 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
444
444
|
source: Tensor,
|
|
445
445
|
*,
|
|
446
446
|
axes: Sequence[Dim],
|
|
447
|
-
padding: Sequence[Tuple[Union[Dim, int], Union[Dim, int]]],
|
|
447
|
+
padding: Sequence[Tuple[Union[Dim, int, Tensor], Union[Dim, int, Tensor]]],
|
|
448
448
|
out_dims: Sequence[Dim],
|
|
449
449
|
handle_dynamic_dims: bool,
|
|
450
450
|
mode: str = "constant",
|
|
@@ -459,14 +459,31 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
459
459
|
raw_pad += [0, 0]
|
|
460
460
|
continue
|
|
461
461
|
remaining_dims.remove(dim)
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
462
|
+
left, right = padding[axes.index(dim)]
|
|
463
|
+
if isinstance(left, Dim):
|
|
464
|
+
if handle_dynamic_dims:
|
|
465
|
+
assert not left.need_masking(), f"pad: left {left} needs masking, not supported currently"
|
|
466
|
+
left_ = left.get_dim_value()
|
|
467
|
+
elif isinstance(left, Tensor):
|
|
468
|
+
if handle_dynamic_dims:
|
|
469
|
+
assert not left.dims, f"pad: left {left} needs masking, not supported currently"
|
|
470
|
+
left_ = torch.max(left.raw_tensor)
|
|
471
|
+
elif isinstance(left, int):
|
|
472
|
+
left_ = left
|
|
473
|
+
else:
|
|
474
|
+
raise TypeError(f"pad: invalid left {left!r}")
|
|
475
|
+
if isinstance(right, Dim):
|
|
476
|
+
right_ = right.get_dim_value()
|
|
477
|
+
elif isinstance(right, Tensor):
|
|
478
|
+
right_ = torch.max(right.raw_tensor)
|
|
479
|
+
elif isinstance(right, int):
|
|
480
|
+
right_ = right
|
|
481
|
+
else:
|
|
482
|
+
raise TypeError(f"pad: invalid right {right!r}")
|
|
483
|
+
raw_pad += [left_, right_]
|
|
467
484
|
if not remaining_dims:
|
|
468
485
|
break
|
|
469
|
-
# Use torch.nn.functional.pad if possible.
|
|
486
|
+
# Use torch.nn.functional.pad if possible. It's possible for scalar `value` (or None).
|
|
470
487
|
if (isinstance(value, Tensor) and value.dims == ()) or (not isinstance(value, Tensor)):
|
|
471
488
|
if isinstance(value, Tensor):
|
|
472
489
|
assert value.dims == ()
|
|
@@ -476,7 +493,7 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
476
493
|
)
|
|
477
494
|
out.raw_tensor = torch.nn.functional.pad(source.raw_tensor, pad=raw_pad, mode=mode, value=value)
|
|
478
495
|
else: # Fallback to concat.
|
|
479
|
-
assert isinstance(value, Tensor)
|
|
496
|
+
assert isinstance(value, Tensor) and value.dims # non-scalar
|
|
480
497
|
assert all(dim in source.dims and dim not in axes for dim in value.dims)
|
|
481
498
|
assert len(axes) == 1 # not implemented otherwise currently...
|
|
482
499
|
ext_dim = Dim(1, name="ext")
|
|
@@ -493,12 +510,23 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
493
510
|
f"pad: mode {mode} not implemented with dynamic dims and handle_dynamic_dims=True"
|
|
494
511
|
)
|
|
495
512
|
for out_dim, middle, (left, right) in zip(out_dims, axes, padding):
|
|
496
|
-
if
|
|
497
|
-
|
|
513
|
+
if (
|
|
514
|
+
middle.need_masking()
|
|
515
|
+
or (isinstance(left, Dim) and left.need_masking())
|
|
516
|
+
or (isinstance(left, Tensor) and left.dims)
|
|
517
|
+
):
|
|
518
|
+
if isinstance(left, Dim):
|
|
519
|
+
left = left.get_size_tensor(device=out.device)
|
|
520
|
+
assert isinstance(left, (int, Tensor))
|
|
521
|
+
if (
|
|
522
|
+
isinstance(right, Dim)
|
|
523
|
+
or (isinstance(right, int) and right > 0)
|
|
524
|
+
or isinstance(right, Tensor)
|
|
525
|
+
):
|
|
498
526
|
mask = rf.compare_bc(
|
|
499
527
|
rf.range_over_dim(out_dim, device=out.device),
|
|
500
528
|
"<",
|
|
501
|
-
|
|
529
|
+
left + middle.get_size_tensor(device=out.device),
|
|
502
530
|
)
|
|
503
531
|
out.raw_tensor = torch.where(
|
|
504
532
|
mask.copy_compatible_to_dims_raw(out.dims),
|
|
@@ -1714,24 +1742,37 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
1714
1742
|
return out, out_dim
|
|
1715
1743
|
|
|
1716
1744
|
@staticmethod
|
|
1717
|
-
def masked_scatter(
|
|
1745
|
+
def masked_scatter(
|
|
1746
|
+
source: Tensor, backup: Optional[Tensor] = None, *, mask: Tensor, dims: Sequence[Dim], in_dim: Dim
|
|
1747
|
+
) -> Tensor:
|
|
1718
1748
|
"""masked scatter"""
|
|
1719
1749
|
assert mask.dtype == "bool"
|
|
1720
1750
|
assert set(mask.dims) == set(dims)
|
|
1721
1751
|
assert in_dim in source.dims
|
|
1722
1752
|
remaining_dims = [d for d in source.dims if d not in mask.dims and d != in_dim]
|
|
1723
1753
|
source_templ_dims = (in_dim,) + tuple(remaining_dims)
|
|
1724
|
-
tensor_templ_dims = tuple(dims) + tuple(remaining_dims)
|
|
1725
1754
|
source_raw = source.copy_compatible_to_dims_raw(source_templ_dims)
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1755
|
+
|
|
1756
|
+
out_dims = tuple(dims) + tuple(remaining_dims)
|
|
1757
|
+
if backup is None:
|
|
1758
|
+
out_shape = [d.get_dim_value() for d in out_dims]
|
|
1759
|
+
out_raw = torch.zeros(out_shape, dtype=source_raw.dtype, device=source_raw.device)
|
|
1760
|
+
else:
|
|
1761
|
+
assert set(backup.dims).issubset(out_dims), f"backup dims {backup.dims} not subset of out dims {out_dims}"
|
|
1762
|
+
for d in out_dims:
|
|
1763
|
+
if d not in backup.dims:
|
|
1764
|
+
backup = rf.expand_dim(backup, dim=d)
|
|
1765
|
+
out_dims = backup.dims
|
|
1766
|
+
out_raw = backup.raw_tensor.clone() # we operate inplace below
|
|
1767
|
+
|
|
1768
|
+
mask_raw = mask.copy_compatible_to_dims_raw(out_dims)
|
|
1729
1769
|
out_raw.masked_scatter_(mask_raw, source_raw)
|
|
1730
1770
|
return Tensor(
|
|
1731
1771
|
"masked_scatter",
|
|
1732
|
-
dims=
|
|
1733
|
-
dtype=
|
|
1772
|
+
dims=out_dims,
|
|
1773
|
+
dtype=TorchBackend.get_dtype_name_raw(out_raw),
|
|
1734
1774
|
sparse_dim=source.sparse_dim,
|
|
1775
|
+
feature_dim=source.feature_dim,
|
|
1735
1776
|
raw_tensor=out_raw,
|
|
1736
1777
|
)
|
|
1737
1778
|
|
|
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.20241217.122516 → returnn-1.20241219.123408}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/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.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/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.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/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.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/demos/mdlstm/artificial_rgb/trainconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/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.20241217.122516 → returnn-1.20241219.123408}/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.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/.git
RENAMED
|
File without changes
|
{returnn-1.20241217.122516 → returnn-1.20241219.123408}/returnn/extern/WarpRna/warp-rna/.gitignore
RENAMED
|
File without changes
|