returnn 1.20230504.150134__tar.gz → 1.20230504.233443__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.20230504.150134/returnn.egg-info → returnn-1.20230504.233443}/PKG-INFO +1 -1
- returnn-1.20230504.233443/_setup_info_generated.py +2 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/math_.py +20 -1
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/normalization.py +44 -10
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/updater.py +18 -13
- {returnn-1.20230504.150134 → returnn-1.20230504.233443/returnn.egg-info}/PKG-INFO +1 -1
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_normalization.py +26 -0
- returnn-1.20230504.150134/_setup_info_generated.py +0 -2
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/.editorconfig +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/.gitignore +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/.gitmodules +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/.kateconfig +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/CHANGELOG.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/CODEOWNERS +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/CONTRIBUTING.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/LICENSE +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/MANIFEST.in +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/README.rst +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/12AX.cluster_map +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-fwd.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-list-devices.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-pretrain.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-rf.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-torch.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo.sh +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/pyproject.toml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/requirements.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/__main__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/__setup__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/config.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/audio.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/basic.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/cached.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/generating.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/lm.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/map.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/meta.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/engine/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/engine/base.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/engine/batch.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/array_.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/attention.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/cond.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/const.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/container.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/conv.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/device.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/dims.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/init.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/linear.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/loop.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/loss.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/module.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/rand.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/rec.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/signal.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/state.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/frontend/types.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/import_/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/import_/common.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/import_/git.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/import_/import_.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/log.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/native_op.cpp +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/native_op.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/pretrain.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/sprint/cache.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/sprint/control.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/sprint/interface.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/dim.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/compat.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/distributed.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/engine.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/horovod.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/native_op.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/network.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/sprint.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/updater.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/util/data.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/engine.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/functional/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/torch/functional/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/__init__.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/basic.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/bpe.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/debug.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/fsa.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/pprint.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/py_compat.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/util/task_system.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/rnn.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/setup.cfg +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/setup.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/DummySprintExec.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/_setup_test_env.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/lint_common.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/pylint.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/rf_utils.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/spelling.dic +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_Config.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_Dataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_Fsa.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_Log.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_PTDataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_Pretrain.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_ResNet.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TFEngine.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TFUtil.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_Util.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_demos.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_fork_exec.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_array.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_attention.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_base.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_cond.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_container.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_conv.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_math.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_rec.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_rf_signal.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_tensor.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_tools.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/collect-words.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/compile_native_op.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/dump-dataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/dump-forward.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/dump-network-json.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/dump-pickle.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/get-attention-weights.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/hdf_dump.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20230504.150134 → returnn-1.20230504.233443}/tools/tf_inspect_summary_log.py +0 -0
|
@@ -4,7 +4,7 @@ Math ops
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
import typing
|
|
7
|
-
from typing import Optional, Sequence, Union, Tuple
|
|
7
|
+
from typing import Optional, Sequence, Union, Tuple, overload
|
|
8
8
|
import numpy
|
|
9
9
|
from returnn.tensor import Tensor, Dim
|
|
10
10
|
import returnn.frontend as rf
|
|
@@ -33,6 +33,7 @@ __all__ = [
|
|
|
33
33
|
"logical_and",
|
|
34
34
|
"logical_or",
|
|
35
35
|
"logical_not",
|
|
36
|
+
"opt_logical_or",
|
|
36
37
|
"maximum",
|
|
37
38
|
"minimum",
|
|
38
39
|
"identity",
|
|
@@ -299,6 +300,24 @@ def logical_not(a: Tensor) -> Tensor:
|
|
|
299
300
|
return a._raw_backend.activation(a, "logical_not")
|
|
300
301
|
|
|
301
302
|
|
|
303
|
+
@overload
|
|
304
|
+
def opt_logical_or(a: bool, b: bool) -> bool:
|
|
305
|
+
"""logical or"""
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
def opt_logical_or(a: Union[Tensor, bool], b: Union[Tensor, bool]) -> Union[Tensor, bool]:
|
|
309
|
+
"""logical or"""
|
|
310
|
+
if isinstance(a, bool):
|
|
311
|
+
if a:
|
|
312
|
+
return True
|
|
313
|
+
return b
|
|
314
|
+
if isinstance(b, bool):
|
|
315
|
+
if b:
|
|
316
|
+
return True
|
|
317
|
+
return a
|
|
318
|
+
return combine(a, "logical_or", b)
|
|
319
|
+
|
|
320
|
+
|
|
302
321
|
def maximum(a: Tensor, b: Union[Tensor, _RawTensorTypes], *other_tensors) -> Tensor:
|
|
303
322
|
"""maximum"""
|
|
304
323
|
if not other_tensors:
|
|
@@ -47,8 +47,7 @@ class LayerNorm(rf.Module):
|
|
|
47
47
|
self.bias.initial = 0.0
|
|
48
48
|
|
|
49
49
|
def __call__(self, x: Tensor) -> Tensor:
|
|
50
|
-
mean = rf.
|
|
51
|
-
variance = rf.reduce_mean(rf.squared_difference(x, mean), axis=self.in_dim)
|
|
50
|
+
mean, variance = rf.moments(x, axis=self.in_dim)
|
|
52
51
|
norm_x = (x - mean) * rf.rsqrt(variance + self.eps)
|
|
53
52
|
return norm_x * self.scale + self.bias
|
|
54
53
|
|
|
@@ -93,14 +92,14 @@ class BatchNorm(rf.Module):
|
|
|
93
92
|
*,
|
|
94
93
|
affine: bool = True,
|
|
95
94
|
momentum: float = 0.1,
|
|
96
|
-
|
|
95
|
+
eps: float = 1e-3,
|
|
97
96
|
use_mask: Optional[bool] = None,
|
|
98
97
|
):
|
|
99
98
|
"""
|
|
100
99
|
:param in_dim: the feature dimension of the input
|
|
101
100
|
:param affine: whether to use learnable parameters gamma and beta
|
|
102
101
|
:param momentum: momentum for the running mean and variance
|
|
103
|
-
:param
|
|
102
|
+
:param eps: epsilon for the variance
|
|
104
103
|
:param use_mask: whether to use a mask for dynamic spatial dims.
|
|
105
104
|
This must be specified if the input has dynamic spatial dims.
|
|
106
105
|
True would use the correct masking then. However, that is inconsistent to all other frameworks
|
|
@@ -113,7 +112,7 @@ class BatchNorm(rf.Module):
|
|
|
113
112
|
self.in_dim = in_dim
|
|
114
113
|
self.use_mask = use_mask
|
|
115
114
|
self.momentum = momentum
|
|
116
|
-
self.
|
|
115
|
+
self.eps = eps
|
|
117
116
|
self.running_mean = rf.Parameter([in_dim], auxiliary=True)
|
|
118
117
|
self.running_mean.initial = 0.0
|
|
119
118
|
self.running_variance = rf.Parameter([in_dim], auxiliary=True)
|
|
@@ -128,11 +127,8 @@ class BatchNorm(rf.Module):
|
|
|
128
127
|
self.beta.initial = 0.0
|
|
129
128
|
|
|
130
129
|
def __call__(self, source: Tensor) -> Tensor:
|
|
131
|
-
# We wrap the RETURNN layer because we want efficient handling if possible,
|
|
132
|
-
# which is potentially the use of a fused op,
|
|
133
|
-
# and maybe reordering of dims.
|
|
134
|
-
# https://github.com/rwth-i6/returnn_common/issues/89
|
|
135
130
|
assert self.in_dim in source.dims
|
|
131
|
+
|
|
136
132
|
if any(d.need_masking() for d in source.dims if d != self.in_dim):
|
|
137
133
|
if self.use_mask is None:
|
|
138
134
|
raise ValueError(
|
|
@@ -141,6 +137,44 @@ class BatchNorm(rf.Module):
|
|
|
141
137
|
use_mask = self.use_mask
|
|
142
138
|
else:
|
|
143
139
|
use_mask = False # not needed. False because this potentially enables an efficient fused op.
|
|
140
|
+
|
|
141
|
+
if use_mask:
|
|
142
|
+
# Generic implementation which supports masking.
|
|
143
|
+
use_current_batch_stats = self.running_mean is None or rf.get_run_ctx().train_flag
|
|
144
|
+
update_running_stats = self.running_mean is not None and rf.get_run_ctx().train_flag
|
|
145
|
+
need_current_batch_stats = rf.opt_logical_or(use_current_batch_stats, update_running_stats)
|
|
146
|
+
|
|
147
|
+
mean_cur_batch, variance_cur_batch = rf.cond(
|
|
148
|
+
need_current_batch_stats,
|
|
149
|
+
lambda: rf.moments(source, axis=[d for d in source.dims if d != self.in_dim]),
|
|
150
|
+
lambda: (self.running_mean, self.running_variance),
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
def _update_running_stats():
|
|
154
|
+
self.running_mean.assign_add((mean_cur_batch - self.running_mean) * self.momentum)
|
|
155
|
+
self.running_variance.assign_add((variance_cur_batch - self.running_variance) * self.momentum)
|
|
156
|
+
|
|
157
|
+
rf.cond(update_running_stats, _update_running_stats, lambda: None)
|
|
158
|
+
|
|
159
|
+
mean, variance = rf.cond(
|
|
160
|
+
use_current_batch_stats,
|
|
161
|
+
lambda: (mean_cur_batch, variance_cur_batch),
|
|
162
|
+
lambda: (self.running_mean, self.running_variance),
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
bn = (source - mean) * rf.rsqrt(variance + self.eps)
|
|
166
|
+
if self.gamma is not None:
|
|
167
|
+
bn *= self.gamma
|
|
168
|
+
if self.beta is not None:
|
|
169
|
+
bn += self.beta
|
|
170
|
+
return bn
|
|
171
|
+
|
|
172
|
+
# Fallback to specific backend implementation for the standard case without masking.
|
|
173
|
+
# This fallback probably can internally use a more efficient implementation like from CuDNN.
|
|
174
|
+
# In case of TF-net-dict backend, we wrap the RETURNN layer because we want efficient handling if possible,
|
|
175
|
+
# which is potentially the use of a fused op,
|
|
176
|
+
# and maybe reordering of dims.
|
|
177
|
+
# https://github.com/rwth-i6/returnn_common/issues/89
|
|
144
178
|
# noinspection PyProtectedMember
|
|
145
179
|
return source._raw_backend.batch_norm(
|
|
146
180
|
source=source,
|
|
@@ -148,7 +182,7 @@ class BatchNorm(rf.Module):
|
|
|
148
182
|
use_mask=use_mask,
|
|
149
183
|
affine=self.affine,
|
|
150
184
|
momentum=self.momentum,
|
|
151
|
-
epsilon=self.
|
|
185
|
+
epsilon=self.eps,
|
|
152
186
|
running_mean=self.running_mean,
|
|
153
187
|
running_variance=self.running_variance,
|
|
154
188
|
gamma=self.gamma,
|
|
@@ -7,7 +7,7 @@ from __future__ import annotations
|
|
|
7
7
|
|
|
8
8
|
import torch
|
|
9
9
|
import typing
|
|
10
|
-
from typing import Set
|
|
10
|
+
from typing import Any, Set, Dict
|
|
11
11
|
|
|
12
12
|
from returnn.log import log
|
|
13
13
|
from returnn.util.basic import RefIdEq
|
|
@@ -35,7 +35,8 @@ def _init_optimizer_classes_dict():
|
|
|
35
35
|
|
|
36
36
|
def get_optimizer_class(class_name):
|
|
37
37
|
"""
|
|
38
|
-
:param str|
|
|
38
|
+
:param str|()->torch.optim.Optimizer|type[torch.optim.Optimizer] class_name:
|
|
39
|
+
Optimizer data, e.g. "adam", torch.optim.Adam...
|
|
39
40
|
:return: Optimizer class
|
|
40
41
|
:rtype: type[torch.optim.Optimizer]
|
|
41
42
|
"""
|
|
@@ -156,7 +157,7 @@ class Updater(object):
|
|
|
156
157
|
if isinstance(optimizer_opts, torch.optim.Optimizer):
|
|
157
158
|
return optimizer_opts
|
|
158
159
|
elif callable(optimizer_opts):
|
|
159
|
-
optimizer_opts = {"class": optimizer_opts}
|
|
160
|
+
optimizer_opts: Dict[str, Any] = {"class": optimizer_opts}
|
|
160
161
|
else:
|
|
161
162
|
if not isinstance(optimizer_opts, dict):
|
|
162
163
|
raise ValueError("'optimizer' must of type dict, callable or torch.optim.Optimizer instance.")
|
|
@@ -246,18 +247,22 @@ class Updater(object):
|
|
|
246
247
|
# Tracker of visited parameters to only add each parameter once, in case two modules share common parameters.
|
|
247
248
|
# We need the wrapper class RefIdEq because Parameters are compared by value and not by reference.
|
|
248
249
|
visited_params: Set[RefIdEq[torch.nn.Parameter]] = set()
|
|
249
|
-
for
|
|
250
|
-
|
|
251
|
-
|
|
250
|
+
for module_name, module in self.network.named_modules():
|
|
251
|
+
module_name: str
|
|
252
|
+
module: torch.nn.Module
|
|
253
|
+
for param_name, param in module.named_parameters(recurse=False):
|
|
254
|
+
param_name: str
|
|
255
|
+
param: torch.nn.Parameter
|
|
256
|
+
if RefIdEq(param) in visited_params:
|
|
252
257
|
continue
|
|
253
|
-
visited_params.add(RefIdEq(
|
|
254
|
-
|
|
255
|
-
if
|
|
256
|
-
no_wd_params.add(
|
|
257
|
-
elif
|
|
258
|
-
no_wd_params.add(
|
|
258
|
+
visited_params.add(RefIdEq(param))
|
|
259
|
+
full_param_name = "%s.%s" % (module_name, param_name) if module_name else param_name
|
|
260
|
+
if param_name.endswith("bias"):
|
|
261
|
+
no_wd_params.add(full_param_name)
|
|
262
|
+
elif param_name.endswith("weight") and isinstance(module, blacklist_wd_modules):
|
|
263
|
+
no_wd_params.add(full_param_name)
|
|
259
264
|
else:
|
|
260
|
-
wd_params.add(
|
|
265
|
+
wd_params.add(full_param_name)
|
|
261
266
|
|
|
262
267
|
param_dict = {pn: p for pn, p in self.network.named_parameters()}
|
|
263
268
|
optim_groups = [
|
|
@@ -37,3 +37,29 @@ def test_batch_norm():
|
|
|
37
37
|
out.mark_as_default_output(shape=(batch_dim, time_dim, in_dim))
|
|
38
38
|
|
|
39
39
|
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def test_batch_norm_masking():
|
|
43
|
+
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
44
|
+
in_dim = Dim(7, name="in")
|
|
45
|
+
extern_data = TensorDict(
|
|
46
|
+
{
|
|
47
|
+
"data": Tensor("data", [batch_dim, time_dim, in_dim], dtype="float32"),
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
class _Net(rf.Module):
|
|
52
|
+
def __init__(self):
|
|
53
|
+
super().__init__()
|
|
54
|
+
self.bn = rf.BatchNorm(in_dim, use_mask=True)
|
|
55
|
+
|
|
56
|
+
def __call__(self, out: Tensor) -> Tensor:
|
|
57
|
+
out = self.bn(out)
|
|
58
|
+
return out
|
|
59
|
+
|
|
60
|
+
# noinspection PyShadowingNames
|
|
61
|
+
def _forward_step(*, model: _Net, extern_data: TensorDict):
|
|
62
|
+
out = model(extern_data["data"])
|
|
63
|
+
out.mark_as_default_output(shape=(batch_dim, time_dim, in_dim))
|
|
64
|
+
|
|
65
|
+
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
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.20230504.150134 → returnn-1.20230504.233443}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/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
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/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.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/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.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/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.20230504.150134 → returnn-1.20230504.233443}/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.20230504.150134 → returnn-1.20230504.233443}/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
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/.git
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/.gitignore
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/LICENSE
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/README.md
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/aligner.gif
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/check.png
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/core.cu
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/core.h
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp
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
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/ref_rna.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/WarpRna/warp-rna/test.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/README.md
RENAMED
|
File without changes
|
{returnn-1.20230504.150134 → returnn-1.20230504.233443}/returnn/extern/graph_editor/__init__.py
RENAMED
|
File without changes
|