returnn 1.20240626.135241__tar.gz → 1.20240626.231046__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.20240626.135241 → returnn-1.20240626.231046}/PKG-INFO +1 -1
- returnn-1.20240626.231046/_setup_info_generated.py +2 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/distrib_files.py +1 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/build_from_dict.py +19 -3
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/encoder/conformer.py +43 -10
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/math_.py +8 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/basic.py +16 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn.egg-info/PKG-INFO +1 -1
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_base.py +40 -0
- returnn-1.20240626.135241/_setup_info_generated.py +0 -2
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/.editorconfig +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/.gitignore +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/.gitmodules +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/.kateconfig +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/CHANGELOG.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/CODEOWNERS +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/CONTRIBUTING.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/LICENSE +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/MANIFEST.in +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/README.rst +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/12AX.cluster_map +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-fwd.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-list-devices.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-pretrain.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-rf.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-torch.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo.sh +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/pyproject.toml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/requirements.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/__main__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/__setup__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/config.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/audio.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/basic.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/cached.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/generating.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/lm.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/map.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/meta.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/engine/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/engine/base.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/engine/batch.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/forward_iface.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/array_.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/attention.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/backend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/cond.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/const.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/container.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/conv.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/device.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/dims.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/graph.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/init.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/linear.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/loop.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/loss.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/module.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/rand.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/rec.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/signal.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/state.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/types.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/import_/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/import_/common.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/import_/git.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/import_/import_.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/log.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/native_op.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/native_op.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/pretrain.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/sprint/cache.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/sprint/control.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/sprint/interface.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/dim.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tensor/utils.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/compat.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/distributed.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/engine.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/horovod.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/native_op.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/network.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/sprint.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/updater.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/util/data.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/distributed.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/engine.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/updater.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/util/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/__init__.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/bpe.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/debug.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/file_cache.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/fsa.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/math.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/pprint.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/py_compat.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/task_system.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/rnn.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/setup.cfg +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/setup.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/DummySprintExec.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/_setup_test_env.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/lint_common.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/pylint.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/rf_utils.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/spelling.dic +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_Config.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_Dataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_Fsa.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_Log.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_Pretrain.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_ResNet.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TFEngine.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TFUtil.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_Util.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_demos.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_fork_exec.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_array.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_attention.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_cond.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_const.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_container.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_conv.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_loop.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_math.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_rec.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_rf_signal.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_tensor.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_tools.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_torch_engine.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/collect-words.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/compile_native_op.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/dump-dataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/dump-forward.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/dump-network-json.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/dump-pickle.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/get-attention-weights.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/hdf_dump.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20240626.135241 → returnn-1.20240626.231046}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -159,6 +159,7 @@ class DistributeFilesDataset(CachedDataset2):
|
|
|
159
159
|
self._file_sizes: Optional[Dict[str, int]] = None # key -> size. for equal distribution across sub epochs
|
|
160
160
|
self._data_keys: Optional[List[str]] = None
|
|
161
161
|
self._num_seqs: Optional[int] = None
|
|
162
|
+
self.distrib_shard_files = distrib_shard_files
|
|
162
163
|
self._shard_index, self._num_shards = _get_rank_and_size() if distrib_shard_files else (0, 1)
|
|
163
164
|
|
|
164
165
|
self._workers: Dict[int, _WorkerProcParent] = {} # epoch -> worker
|
|
@@ -3,8 +3,10 @@ Construct modules (or other objects) from dictionaries.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
|
-
from
|
|
6
|
+
from types import FunctionType, BuiltinFunctionType
|
|
7
|
+
from typing import Union, Any, Type, Callable, Dict
|
|
7
8
|
import importlib
|
|
9
|
+
import functools
|
|
8
10
|
import returnn.frontend as rf
|
|
9
11
|
|
|
10
12
|
|
|
@@ -20,17 +22,23 @@ def build_from_dict(d: Dict[str, Any], *args, **kwargs) -> Union[rf.Module, Any]
|
|
|
20
22
|
:param d: dictionary with the class name and other options
|
|
21
23
|
:param args: passed to the class constructor
|
|
22
24
|
:param kwargs: passed to the class constructor
|
|
23
|
-
:return: cls(*args, **d, **kwargs)
|
|
25
|
+
:return: ``cls(*args, **d, **kwargs)`` (after "class" was popped from ``d``)
|
|
24
26
|
"""
|
|
25
27
|
if "class" not in d:
|
|
26
28
|
raise ValueError(f"build_from_dict: Missing 'class' key in dict: {d}")
|
|
27
29
|
d = d.copy()
|
|
28
30
|
cls_name = d.pop("class")
|
|
29
31
|
cls = _get_cls(cls_name)
|
|
32
|
+
if isinstance(cls, (FunctionType, BuiltinFunctionType)):
|
|
33
|
+
if args or kwargs or d:
|
|
34
|
+
return functools.partial(cls, *args, **d, **kwargs)
|
|
35
|
+
return cls
|
|
36
|
+
if not isinstance(cls, type):
|
|
37
|
+
raise ValueError(f"build_from_dict: Expected class, got {cls!r} for class_name {cls_name!r}")
|
|
30
38
|
return cls(*args, **d, **kwargs)
|
|
31
39
|
|
|
32
40
|
|
|
33
|
-
def build_dict(cls: Type, **kwargs) -> Dict[str, Any]:
|
|
41
|
+
def build_dict(cls: Union[Type, FunctionType, BuiltinFunctionType, Callable[..., Any]], **kwargs) -> Dict[str, Any]:
|
|
34
42
|
"""
|
|
35
43
|
Build a dictionary for :func:`build_from_dict`.
|
|
36
44
|
The class name is stored in the `"class"` key.
|
|
@@ -40,7 +48,15 @@ def build_dict(cls: Type, **kwargs) -> Dict[str, Any]:
|
|
|
40
48
|
(e.g. for Sisyphus :func:`sis_hash_helper`)
|
|
41
49
|
which should not change if the class is renamed or moved
|
|
42
50
|
to keep the hash stable.
|
|
51
|
+
|
|
52
|
+
:param cls: class or function. actually we do not expect any other Callable here.
|
|
53
|
+
It's just Callable in the type hint because MyPy/PyCharm don't correctly support FunctionType
|
|
54
|
+
(https://github.com/python/mypy/issues/3171).
|
|
55
|
+
:param kwargs: other kwargs put into the dict. expect to contain only other serializable values.
|
|
56
|
+
:return: build dict. can easily be serialized. to be used with :func:`build_from_dict`.
|
|
43
57
|
"""
|
|
58
|
+
if not isinstance(cls, (type, FunctionType, BuiltinFunctionType)):
|
|
59
|
+
raise TypeError(f"build_dict: Expected class or function, got: {cls!r}")
|
|
44
60
|
return {"class": _get_cls_name(cls), **kwargs}
|
|
45
61
|
|
|
46
62
|
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/frontend/encoder/conformer.py
RENAMED
|
@@ -21,7 +21,14 @@ class ConformerPositionwiseFeedForward(rf.Module):
|
|
|
21
21
|
FF -> Activation -> Dropout -> FF
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
|
-
def __init__(
|
|
24
|
+
def __init__(
|
|
25
|
+
self,
|
|
26
|
+
out_dim: Dim,
|
|
27
|
+
*,
|
|
28
|
+
ff_dim: Dim,
|
|
29
|
+
dropout: float,
|
|
30
|
+
activation: Union[Callable[[Tensor], Tensor], Dict[str, Any], rf.Module],
|
|
31
|
+
):
|
|
25
32
|
"""
|
|
26
33
|
:param out_dim: output feature dimension
|
|
27
34
|
:param ff_dim: dimension of the feed-forward layers
|
|
@@ -33,6 +40,10 @@ class ConformerPositionwiseFeedForward(rf.Module):
|
|
|
33
40
|
self.out_dim = out_dim
|
|
34
41
|
self.dropout = dropout
|
|
35
42
|
self.dropout_broadcast = rf.dropout_broadcast_default()
|
|
43
|
+
if isinstance(activation, dict):
|
|
44
|
+
activation = rf.build_from_dict(activation)
|
|
45
|
+
elif not callable(activation):
|
|
46
|
+
raise TypeError(f"{self}: unexpected activation type {activation!r}")
|
|
36
47
|
self.activation = activation
|
|
37
48
|
|
|
38
49
|
self.linear_ff = rf.Linear(out_dim, ff_dim)
|
|
@@ -67,6 +78,8 @@ class ConformerConvBlock(rf.Module):
|
|
|
67
78
|
out_dim, out_dim, filter_size=kernel_size, groups=out_dim.dimension, padding="same"
|
|
68
79
|
)
|
|
69
80
|
self.positionwise_conv2 = rf.Linear(out_dim, out_dim)
|
|
81
|
+
if not callable(norm):
|
|
82
|
+
raise TypeError(f"{self}: unexpected norm type {norm!r}")
|
|
70
83
|
self.norm = norm
|
|
71
84
|
|
|
72
85
|
def __call__(self, inp: Tensor, *, spatial_dim: Dim) -> Tensor:
|
|
@@ -176,13 +189,13 @@ class ConformerEncoderLayer(rf.Module):
|
|
|
176
189
|
out_dim: Dim = Dim(512, name="conformer-enc-default-out-dim"),
|
|
177
190
|
*,
|
|
178
191
|
ff_dim: Dim = NotSpecified,
|
|
179
|
-
ff_activation: Callable[[Tensor], Tensor] = rf.swish,
|
|
192
|
+
ff_activation: Union[Callable[[Tensor], Tensor], Dict[str, Any], rf.Module] = rf.swish,
|
|
180
193
|
dropout: float = 0.1,
|
|
181
194
|
conv_kernel_size: int = 32,
|
|
182
|
-
conv_norm: Union[rf.BatchNorm, type, Any] = NotSpecified,
|
|
195
|
+
conv_norm: Union[rf.BatchNorm, type, Dict[str, Any], Any] = NotSpecified,
|
|
183
196
|
conv_norm_opts: Optional[Dict[str, Any]] = None,
|
|
184
197
|
num_heads: int = 4,
|
|
185
|
-
self_att: Optional[Union[rf.RelPosSelfAttention, rf.Module, type, Any]] = None,
|
|
198
|
+
self_att: Optional[Union[rf.RelPosSelfAttention, rf.Module, type, Dict[str, Any], Any]] = None,
|
|
186
199
|
self_att_opts: Optional[Dict[str, Any]] = None,
|
|
187
200
|
att_dropout: float = 0.1,
|
|
188
201
|
):
|
|
@@ -234,7 +247,7 @@ class ConformerEncoderLayer(rf.Module):
|
|
|
234
247
|
self.conv_block = ConformerConvBlock(out_dim=out_dim, kernel_size=conv_kernel_size, norm=conv_norm)
|
|
235
248
|
self.conv_layer_norm = rf.LayerNorm(out_dim)
|
|
236
249
|
|
|
237
|
-
if self_att is None or isinstance(self_att, type):
|
|
250
|
+
if self_att is None or isinstance(self_att, (dict, type)):
|
|
238
251
|
self_att_opts_ = dict(
|
|
239
252
|
in_dim=out_dim,
|
|
240
253
|
proj_dim=out_dim,
|
|
@@ -247,9 +260,16 @@ class ConformerEncoderLayer(rf.Module):
|
|
|
247
260
|
self_att_opts_.update(self_att_opts)
|
|
248
261
|
if self_att is None:
|
|
249
262
|
self.self_att = rf.RelPosSelfAttention(**self_att_opts_)
|
|
250
|
-
|
|
263
|
+
elif isinstance(self_att, type):
|
|
251
264
|
self.self_att = self_att(**self_att_opts_)
|
|
265
|
+
elif isinstance(self_att, dict):
|
|
266
|
+
self_att_opts_ = {k: v for (k, v) in self_att_opts_.items() if k not in self_att}
|
|
267
|
+
self.self_att = rf.build_from_dict(self_att, **self_att_opts_)
|
|
268
|
+
else:
|
|
269
|
+
raise TypeError(f"{self}: invalid type: self_att {self_att!r}")
|
|
252
270
|
else:
|
|
271
|
+
if not callable(self_att):
|
|
272
|
+
raise TypeError(f"{self}: invalid non-callable: self_att {self_att!r}")
|
|
253
273
|
self.self_att = self_att
|
|
254
274
|
self.self_att_layer_norm = rf.LayerNorm(out_dim)
|
|
255
275
|
|
|
@@ -296,13 +316,13 @@ class ConformerEncoder(ISeqDownsamplingEncoder):
|
|
|
296
316
|
input_layer: Union[ConformerConvSubsample, ISeqDownsamplingEncoder, rf.Module, Any],
|
|
297
317
|
input_dropout: float = 0.1,
|
|
298
318
|
ff_dim: Dim = NotSpecified,
|
|
299
|
-
ff_activation: Callable[[Tensor], Tensor] = rf.swish,
|
|
319
|
+
ff_activation: Union[Callable[[Tensor], Tensor], Dict[str, Any], rf.Module] = rf.swish,
|
|
300
320
|
dropout: float = 0.1,
|
|
301
321
|
conv_kernel_size: int = 32,
|
|
302
|
-
conv_norm: Union[rf.BatchNorm, type, Any] = NotSpecified,
|
|
322
|
+
conv_norm: Union[rf.BatchNorm, type, Dict[str, Any], Any] = NotSpecified,
|
|
303
323
|
num_heads: int = 4,
|
|
304
324
|
att_dropout: float = 0.1,
|
|
305
|
-
encoder_layer: Optional[Union[ConformerEncoderLayer, rf.Module, type, Any]] = None,
|
|
325
|
+
encoder_layer: Optional[Union[ConformerEncoderLayer, rf.Module, type, Dict[str, Any], Any]] = None,
|
|
306
326
|
encoder_layer_opts: Optional[Dict[str, Any]] = None,
|
|
307
327
|
sequential=rf.Sequential,
|
|
308
328
|
):
|
|
@@ -337,7 +357,7 @@ class ConformerEncoder(ISeqDownsamplingEncoder):
|
|
|
337
357
|
)
|
|
338
358
|
self.input_dropout = input_dropout
|
|
339
359
|
|
|
340
|
-
if not encoder_layer or isinstance(encoder_layer, type):
|
|
360
|
+
if not encoder_layer or isinstance(encoder_layer, (dict, type)):
|
|
341
361
|
encoder_layer_opts_ = dict(
|
|
342
362
|
out_dim=out_dim,
|
|
343
363
|
ff_dim=ff_dim,
|
|
@@ -354,8 +374,21 @@ class ConformerEncoder(ISeqDownsamplingEncoder):
|
|
|
354
374
|
encoder_layer = ConformerEncoderLayer(**encoder_layer_opts_)
|
|
355
375
|
elif isinstance(encoder_layer, type):
|
|
356
376
|
encoder_layer = encoder_layer(**encoder_layer_opts_)
|
|
377
|
+
elif isinstance(encoder_layer, dict):
|
|
378
|
+
# Note: Reuse all the encoder_layer_opts_.
|
|
379
|
+
# If this does not make sense for the specific encoder_layer class here,
|
|
380
|
+
# we would suggest to use a different ConformerEncoder class.
|
|
381
|
+
# (The alternative, to not reuse encoder_layer_opts_ here,
|
|
382
|
+
# would probably be more confusing, as those options are all ignored then.
|
|
383
|
+
# It's also not clear what args to pass then and what not.)
|
|
384
|
+
# (Maybe we should do a ConformerEncoderV2 if this is confusing here...)
|
|
385
|
+
encoder_layer_opts_ = {k: v for (k, v) in encoder_layer_opts_.items() if k not in encoder_layer}
|
|
386
|
+
encoder_layer = rf.build_from_dict(encoder_layer, **encoder_layer_opts_)
|
|
357
387
|
else:
|
|
358
388
|
raise TypeError(f"unexpected encoder_layer {encoder_layer!r}")
|
|
389
|
+
else:
|
|
390
|
+
if not callable(encoder_layer):
|
|
391
|
+
raise TypeError(f"{self}: invalid non-callable encoder_layer {encoder_layer!r}")
|
|
359
392
|
|
|
360
393
|
self.layers = sequential(_copy.deepcopy(encoder_layer) for _ in range(num_layers))
|
|
361
394
|
|
|
@@ -58,6 +58,7 @@ __all__ = [
|
|
|
58
58
|
"floor",
|
|
59
59
|
"round",
|
|
60
60
|
"relu",
|
|
61
|
+
"relu_square",
|
|
61
62
|
"elu",
|
|
62
63
|
"selu",
|
|
63
64
|
"silu",
|
|
@@ -493,6 +494,13 @@ def relu(a: Tensor) -> Tensor:
|
|
|
493
494
|
return a._raw_backend.activation(a, "relu")
|
|
494
495
|
|
|
495
496
|
|
|
497
|
+
def relu_square(x: Tensor) -> Tensor:
|
|
498
|
+
"""
|
|
499
|
+
:return: ``relu(x) ** 2``
|
|
500
|
+
"""
|
|
501
|
+
return square(relu(x))
|
|
502
|
+
|
|
503
|
+
|
|
496
504
|
def elu(a: Tensor) -> Tensor:
|
|
497
505
|
"""elu"""
|
|
498
506
|
# noinspection PyProtectedMember
|
|
@@ -3979,6 +3979,22 @@ def close_all_fds_except(except_fds):
|
|
|
3979
3979
|
os.closerange(except_fds[i] + 1, except_fds[i + 1])
|
|
3980
3980
|
|
|
3981
3981
|
|
|
3982
|
+
def is_valid_fd(fd: int) -> bool:
|
|
3983
|
+
"""
|
|
3984
|
+
:return: whether the file descriptor (fd) is still open and valid
|
|
3985
|
+
"""
|
|
3986
|
+
# https://stackoverflow.com/questions/12340695/how-to-check-if-a-given-file-descriptor-stored-in-a-variable-is-still-valid
|
|
3987
|
+
import fcntl
|
|
3988
|
+
import errno
|
|
3989
|
+
|
|
3990
|
+
try:
|
|
3991
|
+
fcntl.fcntl(fd, fcntl.F_GETFD)
|
|
3992
|
+
return True # no matter what fcntl returned, it's a valid fd
|
|
3993
|
+
except OSError as exc:
|
|
3994
|
+
assert exc.errno == errno.EBADF
|
|
3995
|
+
return False
|
|
3996
|
+
|
|
3997
|
+
|
|
3982
3998
|
class Stats:
|
|
3983
3999
|
"""
|
|
3984
4000
|
Collects mean and variance, running average.
|
|
@@ -397,3 +397,43 @@ def test_rf_range_over_dim():
|
|
|
397
397
|
rf.range_over_dim(time_dim, dtype="float32").mark_as_output("range_float", shape=[time_dim])
|
|
398
398
|
|
|
399
399
|
run_model(extern_data, lambda *, epoch, step: rf.Module(), _forward_step)
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
def test_build_dict():
|
|
403
|
+
d = rf.build_dict(rf.BatchNorm, use_mask=True)
|
|
404
|
+
assert d == {"class": "rf.BatchNorm", "use_mask": True}
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
def test_build_dict_func():
|
|
408
|
+
d = rf.build_dict(rf.relu)
|
|
409
|
+
assert d == {"class": "rf.relu"}
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
def test_build_from_dict():
|
|
413
|
+
rf.select_backend_torch()
|
|
414
|
+
in_dim = Dim(7, name="in")
|
|
415
|
+
mod = rf.build_from_dict({"class": "rf.BatchNorm", "use_mask": True}, in_dim, eps=1e-4)
|
|
416
|
+
assert isinstance(mod, rf.BatchNorm)
|
|
417
|
+
assert mod.in_dim == in_dim
|
|
418
|
+
assert mod.use_mask
|
|
419
|
+
assert mod.eps == 1e-4
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
def test_build_from_dict_func():
|
|
423
|
+
import functools
|
|
424
|
+
|
|
425
|
+
func = rf.build_from_dict({"class": "rf.relu"})
|
|
426
|
+
assert func is rf.relu
|
|
427
|
+
func = rf.build_from_dict({"class": "rf.combine", "kind": "+", "b": 1})
|
|
428
|
+
assert isinstance(func, functools.partial)
|
|
429
|
+
assert func.func is rf.combine
|
|
430
|
+
assert func.keywords == {"kind": "+", "b": 1}
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
def test_build_from_dict_func_native():
|
|
434
|
+
from types import BuiltinFunctionType
|
|
435
|
+
|
|
436
|
+
rf.select_backend_torch() # enables some of the native optimizations
|
|
437
|
+
assert isinstance(rf.combine, BuiltinFunctionType) # due to native optimizations
|
|
438
|
+
func = rf.build_from_dict({"class": "rf.combine"})
|
|
439
|
+
assert func is rf.combine
|
|
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.20240626.135241 → returnn-1.20240626.231046}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/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.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/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.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/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.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/demos/mdlstm/artificial_rgb/trainconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/normalization_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/datasets/util/feature_extraction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/.git
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/.gitignore
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/LICENSE
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/README.md
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/aligner.gif
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/check.png
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/core.cu
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/core.h
RENAMED
|
File without changes
|
{returnn-1.20240626.135241 → returnn-1.20240626.231046}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|