returnn 1.20241105.131828__tar.gz → 1.20241106.124322__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.20241105.131828 → returnn-1.20241106.124322}/PKG-INFO +1 -1
- returnn-1.20241106.124322/_setup_info_generated.py +2 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/array_.py +11 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/learning_rate_control.py +2 -2
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/data/returnn_dataset_wrapper.py +8 -1
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/engine.py +16 -23
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/basic.py +32 -38
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn.egg-info/PKG-INFO +1 -1
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_demos.py +3 -0
- returnn-1.20241105.131828/_setup_info_generated.py +0 -2
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/.editorconfig +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/.gitignore +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/.gitmodules +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/.kateconfig +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/CHANGELOG.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/CODEOWNERS +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/CONTRIBUTING.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/LICENSE +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/MANIFEST.in +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/README.rst +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/12AX.cluster_map +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-fwd.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-list-devices.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-pretrain.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-rf.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-torch.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo.sh +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/pyproject.toml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/requirements.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/__main__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/__setup__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/config.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/audio.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/basic.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/cached.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/generating.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/lm.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/map.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/meta.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/postprocessing.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/engine/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/engine/base.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/engine/batch.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/forward_iface.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/attention.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/backend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/cond.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/const.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/container.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/conv.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/conversions/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/conversions/hf_llama.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/conversions/torch_nn.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/device.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/dims.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/encoder/e_branchformer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/encoder/transformer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/graph.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/init.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/linear.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/loop.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/loss.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/math_.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/module.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/rand.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/rec.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/signal.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/state.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/frontend/types.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/import_/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/import_/common.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/import_/git.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/import_/import_.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/log.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/native_op.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/native_op.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/pretrain.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/sprint/cache.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/sprint/control.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/sprint/interface.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/dim.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tensor/utils.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/compat.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/distributed.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/engine.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/horovod.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/native_op.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/network.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/sprint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/updater.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/util/data.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/distributed.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/optim/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/optim/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/optim/lion.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/updater.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/exception_helper.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/module.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/__init__.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/bpe.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/debug.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/file_cache.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/fsa.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/math.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/pprint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/py_compat.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/task_system.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/rnn.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/setup.cfg +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/setup.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/DummySprintExec.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/_setup_test_env.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/lint_common.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/pylint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/rf_utils.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/spelling.dic +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_Config.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_Dataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_Fsa.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_Log.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_Pretrain.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_ResNet.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TFEngine.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TFUtil.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_Util.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_fork_exec.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_array.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_attention.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_base.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_cond.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_const.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_container.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_conv.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_decoder_transformer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_loop.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_math.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_rec.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_rf_signal.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_tensor.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_tools.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_torch_engine.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/test_torch_util.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tests/torch_utils.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/collect-words.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/compile_native_op.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/dump-dataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/dump-forward.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/dump-network-json.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/dump-pickle.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/get-attention-weights.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/hdf_dump.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20241105.131828 → returnn-1.20241106.124322}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -36,6 +36,7 @@ __all__ = [
|
|
|
36
36
|
"masked_scatter",
|
|
37
37
|
"sequence_mask",
|
|
38
38
|
"pack_padded",
|
|
39
|
+
"pad_packed",
|
|
39
40
|
"gather",
|
|
40
41
|
"scatter",
|
|
41
42
|
"scatter_argmax",
|
|
@@ -627,6 +628,8 @@ def pack_padded(
|
|
|
627
628
|
Packing means to only store the non-padded frames.
|
|
628
629
|
This uses :func:`masked_select` internally based on the mask of non-masked frames.
|
|
629
630
|
|
|
631
|
+
See :func:`pad_packed` for the inverse operation.
|
|
632
|
+
|
|
630
633
|
:param source:
|
|
631
634
|
:param dims: dims in source to pack. the order defines the format. first dim is major, etc.
|
|
632
635
|
if there are no padded frames, e.g. dims=[B,T] would just result in the [B*T,...] reshaped tensor.
|
|
@@ -648,6 +651,14 @@ def pack_padded(
|
|
|
648
651
|
return rf.masked_select(source, mask=mask, dims=dims, out_dim=out_dim)
|
|
649
652
|
|
|
650
653
|
|
|
654
|
+
def pad_packed(source: Tensor, *, in_dim: Dim, dims: Sequence[Dim]) -> Tensor:
|
|
655
|
+
"""
|
|
656
|
+
Inverse of :func:`pack_padded`, i.e. unpack the sequence, i.e. pad it back to the original length.
|
|
657
|
+
"""
|
|
658
|
+
mask = rf.sequence_mask(dims, device=source.device)
|
|
659
|
+
return rf.masked_scatter(source, mask=mask, in_dim=in_dim, dims=dims)
|
|
660
|
+
|
|
661
|
+
|
|
651
662
|
# noinspection PyUnusedLocal
|
|
652
663
|
def gather(
|
|
653
664
|
source: Tensor,
|
|
@@ -5,7 +5,7 @@ The base class is :class:`LearningRateControl`.
|
|
|
5
5
|
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
|
-
from typing import Optional, Any, Dict
|
|
8
|
+
from typing import Optional, Union, Any, Dict
|
|
9
9
|
import typing
|
|
10
10
|
import os
|
|
11
11
|
import returnn.util.basic as util
|
|
@@ -350,7 +350,7 @@ class LearningRateControl:
|
|
|
350
350
|
relative_error /= learning_rate / self.default_learning_rate
|
|
351
351
|
return relative_error
|
|
352
352
|
|
|
353
|
-
def set_epoch_error(self, epoch, error):
|
|
353
|
+
def set_epoch_error(self, epoch: int, error: Dict[str, Union[float, Dict[str, float]]]):
|
|
354
354
|
"""
|
|
355
355
|
:type epoch: int
|
|
356
356
|
:type error: dict[str,float|dict[str,float]]
|
|
@@ -67,7 +67,14 @@ class ReturnnDatasetIterDataPipe(torch.utils.data.IterDataPipe):
|
|
|
67
67
|
|
|
68
68
|
def reset(self):
|
|
69
69
|
"""
|
|
70
|
-
|
|
70
|
+
This is called by PyTorch DataLoader mechanism once we create a new iterator over the DataLoader.
|
|
71
|
+
This happens at the beginning of each epoch.
|
|
72
|
+
|
|
73
|
+
(Note: The mechanism where ``reset()`` is actually called is very obfuscated in PyTorch.
|
|
74
|
+
As I understand it, there is a IterDataPipe metaclass (_IterDataPipeMeta)
|
|
75
|
+
which automatically registers a hook on ``__iter__`` via ``hook_iterator``.
|
|
76
|
+
Deep inside the complex logic of this hook, it calls ``_set_datapipe_valid_iterator_id``
|
|
77
|
+
which then calls ``reset()``.)
|
|
71
78
|
"""
|
|
72
79
|
self._reset_callback()
|
|
73
80
|
|
|
@@ -385,6 +385,7 @@ class Engine(EngineBase):
|
|
|
385
385
|
del num_seqs_
|
|
386
386
|
if num_seqs is not None:
|
|
387
387
|
assert last_seq_idx < num_seqs
|
|
388
|
+
epoch_continuous = (self.epoch - 1 + (last_seq_idx + 1) / num_seqs) if num_seqs is not None else None
|
|
388
389
|
|
|
389
390
|
# clear the gradients when every gradient accumulation loop starts
|
|
390
391
|
if zero_grad_next_step:
|
|
@@ -417,7 +418,10 @@ class Engine(EngineBase):
|
|
|
417
418
|
|
|
418
419
|
if accum_grad_multiple_step_dyn:
|
|
419
420
|
accum_grad_multiple_step = accum_grad_multiple_step_dyn(
|
|
420
|
-
epoch=self.epoch,
|
|
421
|
+
epoch=self.epoch,
|
|
422
|
+
epoch_continuous=epoch_continuous,
|
|
423
|
+
global_train_step=self.global_train_step,
|
|
424
|
+
**util.get_fwd_compat_kwargs(),
|
|
421
425
|
)
|
|
422
426
|
cur_count_grad_accum += 1
|
|
423
427
|
perform_update_step = cur_count_grad_accum >= accum_grad_multiple_step
|
|
@@ -477,9 +481,7 @@ class Engine(EngineBase):
|
|
|
477
481
|
step_idx += 1
|
|
478
482
|
self.global_train_step += 1
|
|
479
483
|
self._updater.set_current_train_step(
|
|
480
|
-
global_train_step=self.global_train_step,
|
|
481
|
-
epoch=self.epoch,
|
|
482
|
-
epoch_continuous=(self.epoch - 1 + (last_seq_idx + 1) / num_seqs) if num_seqs is not None else None,
|
|
484
|
+
global_train_step=self.global_train_step, epoch=self.epoch, epoch_continuous=epoch_continuous
|
|
483
485
|
)
|
|
484
486
|
except Exception as exc:
|
|
485
487
|
help_on_torch_exception(exc, step_idx=step_idx, model=self._orig_model, extern_data=extern_data)
|
|
@@ -488,8 +490,8 @@ class Engine(EngineBase):
|
|
|
488
490
|
elapsed = time.monotonic() - epoch_start_time
|
|
489
491
|
elapsed_computation_percentage = elapsed_computation_time / elapsed
|
|
490
492
|
print(
|
|
491
|
-
"Trained %i steps, %s elapsed (%.1f%% computing time)"
|
|
492
|
-
% (step_idx, hms(elapsed), (elapsed_computation_percentage * 100.0)),
|
|
493
|
+
"Epoch %i: Trained %i steps, %s elapsed (%.1f%% computing time)"
|
|
494
|
+
% (self.epoch, step_idx, hms(elapsed), (elapsed_computation_percentage * 100.0)),
|
|
493
495
|
file=log.v3,
|
|
494
496
|
)
|
|
495
497
|
|
|
@@ -509,7 +511,7 @@ class Engine(EngineBase):
|
|
|
509
511
|
if self._do_save():
|
|
510
512
|
self.learning_rate_control.save()
|
|
511
513
|
|
|
512
|
-
print(f"Total train loss:", _format_score(dict(accumulated_losses_dict)), file=log.v3)
|
|
514
|
+
print(f"Epoch {self.epoch}: Total train loss:", _format_score(dict(accumulated_losses_dict)), file=log.v3)
|
|
513
515
|
|
|
514
516
|
self._maybe_report_dev_memory_stats()
|
|
515
517
|
|
|
@@ -540,8 +542,6 @@ class Engine(EngineBase):
|
|
|
540
542
|
self._reset_dev_memory_stats()
|
|
541
543
|
|
|
542
544
|
eval_dump_str = []
|
|
543
|
-
score_keys = None
|
|
544
|
-
error_keys = None
|
|
545
545
|
|
|
546
546
|
for dataset_name, dataset in self.eval_datasets.items():
|
|
547
547
|
if skip_already_evaluated and self._is_dataset_evaluated(name=dataset_name):
|
|
@@ -583,10 +583,6 @@ class Engine(EngineBase):
|
|
|
583
583
|
self._run_step(extern_data, train_func=True)
|
|
584
584
|
train_ctx = rf.get_run_ctx()
|
|
585
585
|
|
|
586
|
-
if score_keys is None:
|
|
587
|
-
score_keys = set(name for name, loss in train_ctx.losses.items() if not loss.as_error)
|
|
588
|
-
error_keys = set(name for name, loss in train_ctx.losses.items() if loss.as_error)
|
|
589
|
-
|
|
590
586
|
losses_dict = NumbersDict(
|
|
591
587
|
{
|
|
592
588
|
name: (
|
|
@@ -623,14 +619,7 @@ class Engine(EngineBase):
|
|
|
623
619
|
self.learning_rate_control.save()
|
|
624
620
|
|
|
625
621
|
# Same format as the TF engine.
|
|
626
|
-
eval_dump_str += [
|
|
627
|
-
"%s: score %s error %s"
|
|
628
|
-
% (
|
|
629
|
-
dataset_name,
|
|
630
|
-
_format_score({name: accumulated_losses_dict[name] for name in score_keys}),
|
|
631
|
-
_format_score({name: accumulated_losses_dict[name] for name in error_keys}),
|
|
632
|
-
)
|
|
633
|
-
]
|
|
622
|
+
eval_dump_str += ["%s: %s" % (dataset_name, _format_score(dict(accumulated_losses_dict)))]
|
|
634
623
|
|
|
635
624
|
if self._torch_distributed_ctx:
|
|
636
625
|
assert self._torch_distributed_ctx.rank() == 0
|
|
@@ -638,7 +627,11 @@ class Engine(EngineBase):
|
|
|
638
627
|
torch.distributed.broadcast(_has_data, src=0)
|
|
639
628
|
|
|
640
629
|
if not self._torch_distributed_ctx or self._torch_distributed_ctx.rank() == 0:
|
|
641
|
-
print(
|
|
630
|
+
print(
|
|
631
|
+
f"Epoch {self.epoch} evaluation:",
|
|
632
|
+
" ".join(eval_dump_str) if eval_dump_str else "(No evaluations.)",
|
|
633
|
+
file=log.v1,
|
|
634
|
+
)
|
|
642
635
|
|
|
643
636
|
self._maybe_report_dev_memory_stats()
|
|
644
637
|
|
|
@@ -1333,7 +1326,7 @@ def _format_score(score: Dict[str, float]) -> str:
|
|
|
1333
1326
|
return "None"
|
|
1334
1327
|
if len(score) == 1:
|
|
1335
1328
|
return _format_score_value(list(score.values())[0])
|
|
1336
|
-
return " ".join(["%s %s" % (
|
|
1329
|
+
return " ".join(["%s %s" % (k, _format_score_value(v)) for k, v in score.items()])
|
|
1337
1330
|
|
|
1338
1331
|
|
|
1339
1332
|
def _format_score_value(v: Any) -> str:
|
|
@@ -5,7 +5,7 @@ Various generic utilities, which are shared across different backend engines.
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from __future__ import annotations
|
|
8
|
-
from typing import Optional, Union, Any, Generic, TypeVar, Iterable, Tuple, Dict, List, Callable
|
|
8
|
+
from typing import Optional, Union, Any, Generic, TypeVar, Iterable, Tuple, Dict, List, Set, Callable
|
|
9
9
|
|
|
10
10
|
import subprocess
|
|
11
11
|
from subprocess import CalledProcessError
|
|
@@ -1962,9 +1962,9 @@ class NumbersDict:
|
|
|
1962
1962
|
self.value = broadcast_value
|
|
1963
1963
|
self.max = self._max_error
|
|
1964
1964
|
|
|
1965
|
-
def copy(self):
|
|
1965
|
+
def copy(self) -> NumbersDict:
|
|
1966
1966
|
"""
|
|
1967
|
-
:
|
|
1967
|
+
:return: copy
|
|
1968
1968
|
"""
|
|
1969
1969
|
return NumbersDict(self)
|
|
1970
1970
|
|
|
@@ -1981,11 +1981,10 @@ class NumbersDict:
|
|
|
1981
1981
|
numbers_dict={k: const_number for k in numbers_dict.dict.keys()},
|
|
1982
1982
|
)
|
|
1983
1983
|
|
|
1984
|
-
def copy_like(self, numbers_dict):
|
|
1984
|
+
def copy_like(self, numbers_dict: NumbersDict) -> NumbersDict:
|
|
1985
1985
|
"""
|
|
1986
|
-
:param
|
|
1986
|
+
:param numbers_dict:
|
|
1987
1987
|
:return: copy of self with same keys as numbers_dict as far as we have them
|
|
1988
|
-
:rtype: NumbersDict
|
|
1989
1988
|
"""
|
|
1990
1989
|
if self.value is not None:
|
|
1991
1990
|
return NumbersDict(
|
|
@@ -1998,11 +1997,11 @@ class NumbersDict:
|
|
|
1998
1997
|
)
|
|
1999
1998
|
|
|
2000
1999
|
@property
|
|
2001
|
-
def keys_set(self):
|
|
2000
|
+
def keys_set(self) -> Set[str]:
|
|
2002
2001
|
"""
|
|
2003
2002
|
Also see :func:`keys_union` if you want to have a deterministic order.
|
|
2004
2003
|
|
|
2005
|
-
:
|
|
2004
|
+
:return: set of keys
|
|
2006
2005
|
"""
|
|
2007
2006
|
return set(self.dict.keys())
|
|
2008
2007
|
|
|
@@ -2019,32 +2018,32 @@ class NumbersDict:
|
|
|
2019
2018
|
res.append(key)
|
|
2020
2019
|
return res
|
|
2021
2020
|
|
|
2022
|
-
def __getitem__(self, key):
|
|
2021
|
+
def __getitem__(self, key: str):
|
|
2023
2022
|
if self.value is not None:
|
|
2024
2023
|
return self.dict.get(key, self.value)
|
|
2025
2024
|
return self.dict[key]
|
|
2026
2025
|
|
|
2027
|
-
def __setitem__(self, key, value):
|
|
2026
|
+
def __setitem__(self, key: str, value):
|
|
2028
2027
|
self.dict[key] = value
|
|
2029
2028
|
|
|
2030
|
-
def __delitem__(self, key):
|
|
2029
|
+
def __delitem__(self, key: str):
|
|
2031
2030
|
del self.dict[key]
|
|
2032
2031
|
|
|
2033
|
-
def __contains__(self, item):
|
|
2032
|
+
def __contains__(self, item: str):
|
|
2034
2033
|
return item in self.dict
|
|
2035
2034
|
|
|
2036
|
-
def get(self, key, default=None):
|
|
2035
|
+
def get(self, key: str, default=None):
|
|
2037
2036
|
"""
|
|
2038
|
-
:param
|
|
2037
|
+
:param key:
|
|
2039
2038
|
:param T default:
|
|
2040
2039
|
:rtype: object|T
|
|
2041
2040
|
"""
|
|
2042
2041
|
# Keep consistent with self.__getitem__. If self.value is set, this will always be the default value.
|
|
2043
2042
|
return self.dict.get(key, self.value if self.value is not None else default)
|
|
2044
2043
|
|
|
2045
|
-
def pop(self, key, *args):
|
|
2044
|
+
def pop(self, key: str, *args):
|
|
2046
2045
|
"""
|
|
2047
|
-
:param
|
|
2046
|
+
:param key:
|
|
2048
2047
|
:param T args: default, or not
|
|
2049
2048
|
:rtype: object|T
|
|
2050
2049
|
"""
|
|
@@ -2057,22 +2056,21 @@ class NumbersDict:
|
|
|
2057
2056
|
# which would only make sense for our values, not the dict keys.
|
|
2058
2057
|
raise Exception("%s.__iter__ is undefined" % self.__class__.__name__)
|
|
2059
2058
|
|
|
2060
|
-
def keys(self):
|
|
2059
|
+
def keys(self) -> Iterable[str]:
|
|
2061
2060
|
"""
|
|
2062
2061
|
:rtype: set[str]
|
|
2063
2062
|
"""
|
|
2064
2063
|
return self.dict.keys()
|
|
2065
2064
|
|
|
2066
|
-
def values(self):
|
|
2065
|
+
def values(self) -> List[Any]:
|
|
2067
2066
|
"""
|
|
2068
|
-
:
|
|
2067
|
+
:return: values: dict values + self.value
|
|
2069
2068
|
"""
|
|
2070
2069
|
return list(self.dict.values()) + ([self.value] if self.value is not None else [])
|
|
2071
2070
|
|
|
2072
|
-
def items(self):
|
|
2071
|
+
def items(self) -> Iterable[Tuple[str, Any]]:
|
|
2073
2072
|
"""
|
|
2074
2073
|
:return: dict items. this excludes self.value
|
|
2075
|
-
:rtype: set[(str,object)]
|
|
2076
2074
|
"""
|
|
2077
2075
|
return self.dict.items()
|
|
2078
2076
|
|
|
@@ -2082,9 +2080,9 @@ class NumbersDict:
|
|
|
2082
2080
|
"""
|
|
2083
2081
|
return self.value is not None or key in self.dict
|
|
2084
2082
|
|
|
2085
|
-
def has_values(self):
|
|
2083
|
+
def has_values(self) -> bool:
|
|
2086
2084
|
"""
|
|
2087
|
-
:
|
|
2085
|
+
:return: any values in self.dict or self.value
|
|
2088
2086
|
"""
|
|
2089
2087
|
return bool(self.dict) or self.value is not None
|
|
2090
2088
|
|
|
@@ -2188,12 +2186,12 @@ class NumbersDict:
|
|
|
2188
2186
|
def __neg__(self):
|
|
2189
2187
|
return self.unary_op(op=lambda a: -a)
|
|
2190
2188
|
|
|
2191
|
-
def __bool__(self):
|
|
2189
|
+
def __bool__(self) -> bool:
|
|
2192
2190
|
return any(self.values())
|
|
2193
2191
|
|
|
2194
2192
|
__nonzero__ = __bool__ # Python 2
|
|
2195
2193
|
|
|
2196
|
-
def elem_eq(self, other, result_with_default=True):
|
|
2194
|
+
def elem_eq(self, other, result_with_default: bool = True) -> NumbersDict:
|
|
2197
2195
|
"""
|
|
2198
2196
|
Element-wise equality check with other.
|
|
2199
2197
|
Note about broadcast default value: Consider some key which is neither in self nor in other.
|
|
@@ -2204,8 +2202,8 @@ class NumbersDict:
|
|
|
2204
2202
|
You can control the behavior via result_with_default.
|
|
2205
2203
|
|
|
2206
2204
|
:param NumbersDict|T other:
|
|
2207
|
-
:param
|
|
2208
|
-
:
|
|
2205
|
+
:param result_with_default:
|
|
2206
|
+
:return: new NumbersDict with bool values
|
|
2209
2207
|
"""
|
|
2210
2208
|
|
|
2211
2209
|
def op(a, b):
|
|
@@ -2225,19 +2223,17 @@ class NumbersDict:
|
|
|
2225
2223
|
res.value = None
|
|
2226
2224
|
return res
|
|
2227
2225
|
|
|
2228
|
-
def __eq__(self, other):
|
|
2226
|
+
def __eq__(self, other) -> bool:
|
|
2229
2227
|
"""
|
|
2230
2228
|
:param NumbersDict|T other:
|
|
2231
2229
|
:return: whether self == other elemwise. see self.elem_eq
|
|
2232
|
-
:rtype: bool
|
|
2233
2230
|
"""
|
|
2234
2231
|
return all(self.elem_eq(other).values())
|
|
2235
2232
|
|
|
2236
|
-
def __ne__(self, other):
|
|
2233
|
+
def __ne__(self, other) -> bool:
|
|
2237
2234
|
"""
|
|
2238
2235
|
:param NumbersDict|T other:
|
|
2239
2236
|
:return: not (self == other)
|
|
2240
|
-
:rtype: bool
|
|
2241
2237
|
"""
|
|
2242
2238
|
return not (self == other)
|
|
2243
2239
|
|
|
@@ -2246,11 +2242,10 @@ class NumbersDict:
|
|
|
2246
2242
|
# and it would just confuse.
|
|
2247
2243
|
raise Exception("%s.__cmp__ is undefined" % self.__class__.__name__)
|
|
2248
2244
|
|
|
2249
|
-
def any_compare(self, other, cmp):
|
|
2245
|
+
def any_compare(self, other, cmp) -> bool:
|
|
2250
2246
|
"""
|
|
2251
2247
|
:param NumbersDict other:
|
|
2252
2248
|
:param ((object,object)->True) cmp:
|
|
2253
|
-
:rtype: True
|
|
2254
2249
|
"""
|
|
2255
2250
|
for key in self.keys():
|
|
2256
2251
|
if key in other.keys():
|
|
@@ -2283,11 +2278,11 @@ class NumbersDict:
|
|
|
2283
2278
|
return min(*args)
|
|
2284
2279
|
|
|
2285
2280
|
@classmethod
|
|
2286
|
-
def max(cls, items):
|
|
2281
|
+
def max(cls, items) -> NumbersDict:
|
|
2287
2282
|
"""
|
|
2288
2283
|
Element-wise maximum for item in items.
|
|
2284
|
+
|
|
2289
2285
|
:param list[NumbersDict|int|float] items:
|
|
2290
|
-
:rtype: NumbersDict
|
|
2291
2286
|
"""
|
|
2292
2287
|
assert items
|
|
2293
2288
|
if len(items) == 1:
|
|
@@ -2297,11 +2292,10 @@ class NumbersDict:
|
|
|
2297
2292
|
return cls.max([items[0], cls.max(items[1:])])
|
|
2298
2293
|
|
|
2299
2294
|
@classmethod
|
|
2300
|
-
def min(cls, items):
|
|
2295
|
+
def min(cls, items) -> NumbersDict:
|
|
2301
2296
|
"""
|
|
2302
2297
|
Element-wise minimum for item in items.
|
|
2303
2298
|
:param list[NumbersDict|int|float] items:
|
|
2304
|
-
:rtype: NumbersDict
|
|
2305
2299
|
"""
|
|
2306
2300
|
assert items
|
|
2307
2301
|
if len(items) == 1:
|
|
@@ -2327,7 +2321,7 @@ class NumbersDict:
|
|
|
2327
2321
|
"""
|
|
2328
2322
|
return min(self.values())
|
|
2329
2323
|
|
|
2330
|
-
def __repr__(self):
|
|
2324
|
+
def __repr__(self) -> str:
|
|
2331
2325
|
if self.value is None and not self.dict:
|
|
2332
2326
|
return "%s()" % self.__class__.__name__
|
|
2333
2327
|
if self.value is None and self.dict:
|
|
@@ -79,6 +79,9 @@ def parse_last_fer(out: str) -> float:
|
|
|
79
79
|
if not m:
|
|
80
80
|
# example: dev: score 0.03350000149202181 error 0.009919877954075871
|
|
81
81
|
m = re.match("dev: score .* error ([0-9.]+)\\s?", line)
|
|
82
|
+
if not m:
|
|
83
|
+
# example: Epoch 2 evaluation: dev: ce 0.034 fer 0.019
|
|
84
|
+
m = re.match("Epoch [0-9]+ evaluation: dev: .* fer ([0-9.]+)\\s?", line)
|
|
82
85
|
if not m:
|
|
83
86
|
continue
|
|
84
87
|
parsed_fer = float(m.group(1))
|
|
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.20241105.131828 → returnn-1.20241106.124322}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/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.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/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.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/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.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241105.131828 → returnn-1.20241106.124322}/demos/mdlstm/artificial_rgb/trainconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|