returnn 1.20231109.122538__tar.gz → 1.20231109.165622__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.
- {returnn-1.20231109.122538/returnn.egg-info → returnn-1.20231109.165622}/PKG-INFO +1 -1
- returnn-1.20231109.165622/_setup_info_generated.py +2 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/container.py +58 -56
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/learning_rate_control.py +42 -11
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/util/basic.py +2 -3
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/engine.py +14 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622/returnn.egg-info}/PKG-INFO +1 -1
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_LearningRateControl.py +1 -1
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_container.py +35 -0
- returnn-1.20231109.122538/_setup_info_generated.py +0 -2
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/.editorconfig +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/.gitignore +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/.gitmodules +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/.kateconfig +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/CHANGELOG.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/CODEOWNERS +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/CONTRIBUTING.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/LICENSE +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/MANIFEST.in +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/README.rst +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/12AX.cluster_map +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-fwd.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-list-devices.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-pretrain.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-rf.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-torch.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo.sh +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/pyproject.toml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/requirements.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/__main__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/__setup__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/config.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/audio.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/basic.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/cached.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/generating.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/lm.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/map.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/meta.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/engine/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/engine/base.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/engine/batch.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/forward_iface.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/array_.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/attention.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/backend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/cond.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/const.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/conv.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/device.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/dims.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/graph.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/init.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/linear.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/loop.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/loss.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/math_.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/module.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/rand.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/rec.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/signal.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/state.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/frontend/types.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/import_/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/import_/common.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/import_/git.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/import_/import_.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/log.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/native_op.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/native_op.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/pretrain.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/sprint/cache.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/sprint/control.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/sprint/interface.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/dim.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tensor/utils.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/compat.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/distributed.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/engine.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/horovod.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/native_op.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/network.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/sprint.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/updater.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/util/data.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/distributed.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/functional/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/functional/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/functional/diagnose_gpu.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/functional/scaled_gradient.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/torch/updater.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/__init__.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/basic.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/bpe.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/debug.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/fsa.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/math.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/pprint.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/py_compat.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/task_system.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/rnn.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/setup.cfg +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/setup.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/DummySprintExec.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/_setup_test_env.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/lint_common.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/pylint.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/rf_utils.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/spelling.dic +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_Config.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_Dataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_Fsa.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_Log.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_Pretrain.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_ResNet.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TFEngine.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TFUtil.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_Util.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_demos.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_fork_exec.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_array.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_attention.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_base.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_cond.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_const.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_conv.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_loop.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_math.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_rec.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_rf_signal.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_tensor.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_tools.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_torch_engine.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/collect-words.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/compile_native_op.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/dump-dataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/dump-forward.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/dump-network-json.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/dump-pickle.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/get-attention-weights.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/hdf_dump.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20231109.122538 → returnn-1.20231109.165622}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -3,7 +3,6 @@ container functions
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
|
-
import operator
|
|
7
6
|
import returnn.frontend as rf
|
|
8
7
|
from returnn.tensor import Tensor
|
|
9
8
|
from typing import Optional, TypeVar, Generic, Iterable, Iterator, Union, Tuple, Dict, Callable
|
|
@@ -22,9 +21,14 @@ class ModuleList(rf.Module, Generic[__ModT]):
|
|
|
22
21
|
Module list, getting passed an Iterable of Modules and creates a list of Modules in that order
|
|
23
22
|
"""
|
|
24
23
|
|
|
25
|
-
def __init__(self, *modules: Union[__ModT, Iterable[__ModT], ModuleList]):
|
|
24
|
+
def __init__(self, *modules: Union[__ModT, Iterable[__ModT], Dict[str, __ModT], ModuleList]):
|
|
26
25
|
super().__init__()
|
|
27
|
-
if len(modules) == 1 and isinstance(modules[0],
|
|
26
|
+
if len(modules) == 1 and isinstance(modules[0], dict):
|
|
27
|
+
for i, (key, module) in enumerate(modules[0].items()):
|
|
28
|
+
if _is_int_str(key):
|
|
29
|
+
key = str(i)
|
|
30
|
+
setattr(self, key, _convert_to_module(module))
|
|
31
|
+
elif len(modules) == 1 and isinstance(modules[0], ModuleList):
|
|
28
32
|
for key, module in modules[0]._get_modules().items():
|
|
29
33
|
setattr(self, key, _convert_to_module(module))
|
|
30
34
|
elif len(modules) == 1 and _is_iterable(modules[0]):
|
|
@@ -35,29 +39,7 @@ class ModuleList(rf.Module, Generic[__ModT]):
|
|
|
35
39
|
setattr(self, str(idx), _convert_to_module(module))
|
|
36
40
|
|
|
37
41
|
def _get_modules(self) -> Dict[str, __ModT]:
|
|
38
|
-
|
|
39
|
-
res = {}
|
|
40
|
-
i = 0
|
|
41
|
-
while True:
|
|
42
|
-
try:
|
|
43
|
-
res[str(i)] = getattr(self, str(i))
|
|
44
|
-
i += 1
|
|
45
|
-
except AttributeError:
|
|
46
|
-
break
|
|
47
|
-
return res
|
|
48
|
-
|
|
49
|
-
def _get_abs_index(self, idx: int) -> int:
|
|
50
|
-
"""Get the absolute index for the list of modules"""
|
|
51
|
-
idx = operator.index(idx)
|
|
52
|
-
if not (-len(self) <= idx < len(self)):
|
|
53
|
-
raise IndexError("index {} is out of range".format(idx))
|
|
54
|
-
if idx < 0:
|
|
55
|
-
idx += len(self)
|
|
56
|
-
return idx
|
|
57
|
-
|
|
58
|
-
def _get_abs_string_index(self, idx: int) -> str:
|
|
59
|
-
"""Get the absolute index for the list of modules"""
|
|
60
|
-
return str(self._get_abs_index(idx))
|
|
42
|
+
return {key: value for (key, value) in vars(self).items() if isinstance(value, rf.Module)}
|
|
61
43
|
|
|
62
44
|
def append(self, module: __ModT) -> ModuleList[__ModT]:
|
|
63
45
|
"""
|
|
@@ -84,36 +66,43 @@ class ModuleList(rf.Module, Generic[__ModT]):
|
|
|
84
66
|
"""module items"""
|
|
85
67
|
return self._get_modules().items()
|
|
86
68
|
|
|
87
|
-
def __getitem__(self, idx) -> Union[ModuleList[__ModT], __ModT]:
|
|
88
|
-
from builtins import slice
|
|
89
|
-
|
|
69
|
+
def __getitem__(self, idx: Union[slice, int]) -> Union[ModuleList[__ModT], __ModT]:
|
|
90
70
|
if isinstance(idx, slice):
|
|
91
|
-
return self.__class__(list(self._get_modules().
|
|
71
|
+
return self.__class__(dict(list(self._get_modules().items())[idx]))
|
|
92
72
|
else:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
def __setitem__(self, idx: int, module: __ModT) -> None:
|
|
99
|
-
key = self._get_abs_string_index(idx)
|
|
100
|
-
if not hasattr(self, key):
|
|
101
|
-
raise IndexError("index {} is out of range".format(idx))
|
|
102
|
-
return setattr(self, key, _convert_to_module(module))
|
|
103
|
-
|
|
104
|
-
def __delitem__(self, idx: Union[int, slice]) -> None:
|
|
105
|
-
# To preserve numbering, we reconstruct the list of modules after deletion.
|
|
106
|
-
modules = list(self._get_modules().values())
|
|
107
|
-
old_len = len(modules)
|
|
108
|
-
del modules[idx]
|
|
73
|
+
return list(self._get_modules().values())[idx]
|
|
74
|
+
|
|
75
|
+
def __setitem__(self, idx: Union[slice, int], module: Union[__ModT, Iterable[__ModT]]) -> None:
|
|
76
|
+
key = list(self._get_modules().keys())[idx]
|
|
109
77
|
if isinstance(idx, slice):
|
|
110
|
-
|
|
78
|
+
assert not idx.step or idx.step == 1 # not supported
|
|
79
|
+
mod_items = list(self._get_modules().items())
|
|
80
|
+
if idx.stop is not None:
|
|
81
|
+
remaining = mod_items[idx.stop :]
|
|
82
|
+
else:
|
|
83
|
+
remaining = []
|
|
84
|
+
# Delete also remaining, and then re-add them later, such that indices are correct.
|
|
85
|
+
for k, _ in mod_items[idx.start :]:
|
|
86
|
+
delattr(self, k)
|
|
87
|
+
i = idx.start
|
|
88
|
+
for mod_ in module:
|
|
89
|
+
assert not hasattr(self, str(i))
|
|
90
|
+
setattr(self, str(i), _convert_to_module(mod_))
|
|
91
|
+
i += 1
|
|
92
|
+
for k, v in remaining:
|
|
93
|
+
if _is_int_str(k):
|
|
94
|
+
k = str(i)
|
|
95
|
+
assert not hasattr(self, k)
|
|
96
|
+
setattr(self, k, v)
|
|
97
|
+
i += 1
|
|
98
|
+
else:
|
|
99
|
+
setattr(self, key, _convert_to_module(module))
|
|
100
|
+
|
|
101
|
+
def __delitem__(self, key: Union[slice, int]):
|
|
102
|
+
if isinstance(key, slice):
|
|
103
|
+
self[key] = []
|
|
111
104
|
else:
|
|
112
|
-
|
|
113
|
-
for i in range(min_idx, len(modules)):
|
|
114
|
-
setattr(self, str(i), modules[i])
|
|
115
|
-
for i in range(len(modules), old_len):
|
|
116
|
-
delattr(self, str(i))
|
|
105
|
+
self[key : key + 1] = []
|
|
117
106
|
|
|
118
107
|
__call__ = rf.Module.__call__ # stays abstract
|
|
119
108
|
|
|
@@ -165,9 +154,16 @@ class ParameterList(rf.Module):
|
|
|
165
154
|
Parameter list, getting passed an Iterable of Parameters and creates a list of Parameters in that order
|
|
166
155
|
"""
|
|
167
156
|
|
|
168
|
-
def __init__(
|
|
157
|
+
def __init__(
|
|
158
|
+
self, *parameters: Union[rf.Parameter, Iterable[rf.Parameter], Dict[str, rf.Parameter], ParameterList]
|
|
159
|
+
):
|
|
169
160
|
super().__init__()
|
|
170
|
-
if len(parameters) == 1 and isinstance(parameters[0],
|
|
161
|
+
if len(parameters) == 1 and isinstance(parameters[0], dict):
|
|
162
|
+
for i, (key, parameter) in enumerate(parameters[0].items()):
|
|
163
|
+
if _is_int_str(key):
|
|
164
|
+
key = str(i)
|
|
165
|
+
setattr(self, key, parameter)
|
|
166
|
+
elif len(parameters) == 1 and isinstance(parameters[0], ParameterList):
|
|
171
167
|
for key, parameter in parameters[0]._get_parameters().items():
|
|
172
168
|
setattr(self, key, parameter)
|
|
173
169
|
elif len(parameters) == 1 and _is_iterable(parameters[0]):
|
|
@@ -202,8 +198,6 @@ class ParameterList(rf.Module):
|
|
|
202
198
|
return iter(self._get_parameters().values())
|
|
203
199
|
|
|
204
200
|
def __getitem__(self, idx) -> Union[ParameterList, rf.Parameter]:
|
|
205
|
-
from builtins import slice
|
|
206
|
-
|
|
207
201
|
if isinstance(idx, slice):
|
|
208
202
|
return self.__class__(dict(list(self._get_parameters().items())[idx]))
|
|
209
203
|
else:
|
|
@@ -214,3 +208,11 @@ class ParameterList(rf.Module):
|
|
|
214
208
|
return setattr(self, key, rf.Parameter)
|
|
215
209
|
|
|
216
210
|
__call__ = rf.Module.__call__ # stays abstract
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
def _is_int_str(s: str) -> bool:
|
|
214
|
+
try:
|
|
215
|
+
int(s)
|
|
216
|
+
return True
|
|
217
|
+
except ValueError:
|
|
218
|
+
return False
|
|
@@ -5,8 +5,10 @@ The base class is :class:`LearningRateControl`.
|
|
|
5
5
|
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
from typing import Optional, Any, Dict
|
|
9
9
|
import typing
|
|
10
|
+
import os
|
|
11
|
+
import returnn.util.basic as util
|
|
10
12
|
from returnn.util.basic import better_repr, simple_obj_repr, ObjAsDict, unicode
|
|
11
13
|
from returnn.log import log
|
|
12
14
|
import numpy
|
|
@@ -26,24 +28,53 @@ class LearningRateControl(object):
|
|
|
26
28
|
such as the individual scores (cv or train; cross-entropy or frame-error or whatever).
|
|
27
29
|
"""
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
def __init__(
|
|
32
|
+
self,
|
|
33
|
+
*,
|
|
34
|
+
learning_rate: float = None,
|
|
35
|
+
error: Optional[Dict[str, float]] = None,
|
|
36
|
+
meta: Optional[Dict[str, Any]] = None,
|
|
37
|
+
**kwargs,
|
|
38
|
+
):
|
|
32
39
|
"""
|
|
33
|
-
:
|
|
34
|
-
:
|
|
40
|
+
:param learning_rate:
|
|
41
|
+
:param error: scores (loss values) and errors (frame error rates, etc)
|
|
42
|
+
:param meta: any other extra information (e.g. effective learning rate)
|
|
43
|
+
|
|
44
|
+
Note that this is serialized as EpochData(learningRate=..., error=...),
|
|
45
|
+
and we keep that for compatibility,
|
|
46
|
+
so that is why we have special handling for kwargs.
|
|
35
47
|
"""
|
|
36
|
-
|
|
48
|
+
if learning_rate is None:
|
|
49
|
+
learning_rate = kwargs.pop("learningRate", None)
|
|
50
|
+
if not isinstance(learning_rate, float):
|
|
51
|
+
raise TypeError(f"EpochData: unexpected learning_rate type: {type(learning_rate)}")
|
|
52
|
+
if kwargs:
|
|
53
|
+
raise TypeError(f"EpochData: unexpected kwargs: {kwargs}")
|
|
54
|
+
self.learning_rate = learning_rate
|
|
37
55
|
if isinstance(error, float): # Old format.
|
|
38
56
|
error = {"old_format_score": error}
|
|
39
|
-
|
|
57
|
+
elif error is None:
|
|
40
58
|
error = {}
|
|
59
|
+
if not isinstance(error, dict):
|
|
60
|
+
raise TypeError(f"EpochData: unexpected error type: {type(error)}")
|
|
61
|
+
if meta is None:
|
|
62
|
+
meta = {k[len(":meta:") :]: v for (k, v) in error.items() if k.startswith(":meta:")}
|
|
63
|
+
error = {k: v for (k, v) in error.items() if not k.startswith(":meta:")}
|
|
64
|
+
if not isinstance(meta, dict):
|
|
65
|
+
raise TypeError(f"EpochData: unexpected meta type: {type(meta)}")
|
|
66
|
+
if any(k for k in error if k.startswith(":meta:")):
|
|
67
|
+
raise ValueError(f"EpochData: unexpected error keys: {error}")
|
|
41
68
|
self.error = error
|
|
69
|
+
self.meta = meta
|
|
42
70
|
|
|
43
71
|
def __repr__(self):
|
|
44
72
|
# This is being used for serialization, and we want some forward/backward compatibility,
|
|
45
73
|
# so we should try to keep this consistent.
|
|
46
|
-
return "EpochData(learningRate=%s, error=%s)" % (
|
|
74
|
+
return "EpochData(learningRate=%s, error=%s)" % (
|
|
75
|
+
better_repr(self.learning_rate),
|
|
76
|
+
better_repr(util.dict_joined(self.error, {f":meta:{k}": v for (k, v) in self.meta.items()})),
|
|
77
|
+
)
|
|
47
78
|
|
|
48
79
|
@classmethod
|
|
49
80
|
def load_initial_kwargs_from_config(cls, config):
|
|
@@ -263,7 +294,7 @@ class LearningRateControl(object):
|
|
|
263
294
|
if not self.epoch_data[epoch].learning_rate:
|
|
264
295
|
self.epoch_data[epoch].learning_rate = learning_rate
|
|
265
296
|
else:
|
|
266
|
-
self.epoch_data[epoch] = self.EpochData(learning_rate)
|
|
297
|
+
self.epoch_data[epoch] = self.EpochData(learning_rate=learning_rate)
|
|
267
298
|
|
|
268
299
|
def get_last_epoch(self, epoch):
|
|
269
300
|
"""
|
|
@@ -829,7 +860,7 @@ def demo():
|
|
|
829
860
|
if epoch in control.epoch_data:
|
|
830
861
|
control.epoch_data[epoch].learning_rate = learning_rate
|
|
831
862
|
else:
|
|
832
|
-
control.epoch_data[epoch] = control.EpochData(
|
|
863
|
+
control.epoch_data[epoch] = control.EpochData(learning_rate=learning_rate)
|
|
833
864
|
print("Finished, last stored epoch was %i." % max_epoch)
|
|
834
865
|
|
|
835
866
|
|
|
@@ -3697,7 +3697,7 @@ def debug_register_better_repr():
|
|
|
3697
3697
|
|
|
3698
3698
|
def cond(pred, true_fn, false_fn, name=None):
|
|
3699
3699
|
"""
|
|
3700
|
-
This is a wrapper around tf.
|
|
3700
|
+
This is a wrapper around tf.cond().
|
|
3701
3701
|
This will be a branched execution, i.e. either fn1() or fn2() will be executed,
|
|
3702
3702
|
or at least the resulting graph will be evaluated.
|
|
3703
3703
|
If pred can is constant at the call, only the corresponding fn will be called.
|
|
@@ -3727,9 +3727,8 @@ def cond(pred, true_fn, false_fn, name=None):
|
|
|
3727
3727
|
return true_fn()
|
|
3728
3728
|
else:
|
|
3729
3729
|
return false_fn()
|
|
3730
|
-
from tensorflow.python.ops import control_flow_ops
|
|
3731
3730
|
|
|
3732
|
-
return
|
|
3731
|
+
return tf.cond(pred, true_fn, false_fn, name=name)
|
|
3733
3732
|
|
|
3734
3733
|
|
|
3735
3734
|
def single_strided_slice(x, axis, begin=None, end=None, step=None):
|
|
@@ -236,6 +236,13 @@ class Engine(EngineBase):
|
|
|
236
236
|
self._updater.set_learning_rate(self.learning_rate)
|
|
237
237
|
self._updater.set_current_train_step(global_train_step=self.global_train_step, epoch=self.epoch)
|
|
238
238
|
|
|
239
|
+
self.learning_rate_control.epoch_data[self.epoch].meta.update(
|
|
240
|
+
{
|
|
241
|
+
"global_train_step": self.global_train_step,
|
|
242
|
+
"effective_learning_rate": self._updater.get_effective_learning_rate(),
|
|
243
|
+
}
|
|
244
|
+
)
|
|
245
|
+
|
|
239
246
|
def train_epoch(self):
|
|
240
247
|
"""
|
|
241
248
|
train one (sub)epoch
|
|
@@ -336,6 +343,13 @@ class Engine(EngineBase):
|
|
|
336
343
|
file=log.v3,
|
|
337
344
|
)
|
|
338
345
|
|
|
346
|
+
self.learning_rate_control.epoch_data[self.epoch].meta.update(
|
|
347
|
+
{
|
|
348
|
+
"epoch_num_train_steps": step_idx,
|
|
349
|
+
"epoch_train_time_secs": round(elapsed),
|
|
350
|
+
}
|
|
351
|
+
)
|
|
352
|
+
|
|
339
353
|
accumulated_losses_dict = accumulated_losses_dict / accumulated_inv_norm_factors_dict
|
|
340
354
|
self.learning_rate_control.set_epoch_error(
|
|
341
355
|
self.epoch, {f"train_loss_{k}": v for k, v in accumulated_losses_dict.items()}
|
|
@@ -21,7 +21,7 @@ def test_save_load():
|
|
|
21
21
|
control = LearningRateControl(default_learning_rate=1.0, filename=filename)
|
|
22
22
|
assert 2 not in control.epoch_data
|
|
23
23
|
control.epoch_data[2] = LearningRateControl.EpochData(
|
|
24
|
-
|
|
24
|
+
learning_rate=0.0008,
|
|
25
25
|
error={
|
|
26
26
|
"dev_error_ctc": 0.22486433815293946,
|
|
27
27
|
"dev_error_decision": 0.0,
|
|
@@ -76,6 +76,41 @@ def test_sequential_base_case():
|
|
|
76
76
|
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
77
77
|
|
|
78
78
|
|
|
79
|
+
def test_sequential_named_case():
|
|
80
|
+
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
81
|
+
in_dim = Dim(7, name="in")
|
|
82
|
+
extern_data = TensorDict(
|
|
83
|
+
{
|
|
84
|
+
"data": Tensor("data", [batch_dim, time_dim, in_dim], dtype="float32"),
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
class _Net(rf.Module):
|
|
89
|
+
def __init__(self):
|
|
90
|
+
super().__init__()
|
|
91
|
+
dims = [Dim(1, name="feat1"), Dim(2, name="feat2"), Dim(3, name="feat3")]
|
|
92
|
+
self.out_dim = dims[-1]
|
|
93
|
+
x = OrderedDict()
|
|
94
|
+
x["one"] = rf.Linear(in_dim, dims[0])
|
|
95
|
+
x["two"] = rf.Linear(dims[0], dims[1])
|
|
96
|
+
x["three"] = rf.Linear(dims[1], dims[2])
|
|
97
|
+
self.seq = rf.Sequential(x)
|
|
98
|
+
|
|
99
|
+
def __call__(self, data: Tensor) -> Tensor:
|
|
100
|
+
"""
|
|
101
|
+
Forward
|
|
102
|
+
"""
|
|
103
|
+
seq = self.seq(data)
|
|
104
|
+
return seq
|
|
105
|
+
|
|
106
|
+
# noinspection PyShadowingNames
|
|
107
|
+
def _forward_step(*, model: _Net, extern_data: TensorDict):
|
|
108
|
+
out = model(extern_data["data"])
|
|
109
|
+
out.mark_as_default_output(shape=(batch_dim, time_dim, model.out_dim))
|
|
110
|
+
|
|
111
|
+
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
112
|
+
|
|
113
|
+
|
|
79
114
|
def test_parameter_list():
|
|
80
115
|
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
81
116
|
in_dim = Dim(7, name="in")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/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.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/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.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/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.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20231109.122538 → returnn-1.20231109.165622}/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
|