returnn 1.20230418.124036__tar.gz → 1.20230418.134656__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.20230418.124036/returnn.egg-info → returnn-1.20230418.134656}/PKG-INFO +1 -1
- returnn-1.20230418.134656/_setup_info_generated.py +2 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/_backend.py +13 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/layers/basic.py +5 -6
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/frontend/_backend.py +7 -2
- {returnn-1.20230418.124036 → returnn-1.20230418.134656/returnn.egg-info}/PKG-INFO +1 -1
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_rf_conv.py +42 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_rf_math.py +22 -0
- returnn-1.20230418.124036/_setup_info_generated.py +0 -2
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/.editorconfig +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/.gitignore +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/.gitmodules +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/.kateconfig +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/CHANGELOG.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/CODEOWNERS +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/CONTRIBUTING.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/LICENSE +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/MANIFEST.in +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/README.rst +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/12AX.cluster_map +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-fwd.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-list-devices.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-pretrain.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-rf.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-torch.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo.sh +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/pyproject.toml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/requirements.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/__main__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/__setup__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/config.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/audio.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/basic.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/cached.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/generating.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/lm.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/map.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/meta.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/engine/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/engine/base.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/engine/batch.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/array_.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/attention.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/cond.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/const.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/container.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/conv.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/dims.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/init.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/linear.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/loop.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/loss.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/math_.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/module.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/rand.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/state.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/frontend/types.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/import_/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/import_/common.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/import_/git.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/import_/import_.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/log.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/native_op.cpp +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/native_op.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/pretrain.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/sprint/cache.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/sprint/control.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/sprint/interface.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/dim.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/compat.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/distributed.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/engine.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/horovod.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/native_op.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/network.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/sprint.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/updater.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/util/data.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/engine.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/functional/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/functional/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/torch/updater.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/__init__.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/basic.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/bpe.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/debug.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/fsa.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/pprint.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/py_compat.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/util/task_system.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/rnn.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/setup.cfg +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/setup.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/DummySprintExec.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/_setup_test_env.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/lint_common.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/pylint.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/rf_utils.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/spelling.dic +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_Config.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_Dataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_Fsa.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_Log.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_PTDataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_Pretrain.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_ResNet.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TFEngine.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TFUtil.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_Util.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_demos.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_fork_exec.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_rf_array.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_rf_attention.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_rf_base.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_rf_container.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_tensor.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_tools.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/collect-words.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/compile_native_op.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/dump-dataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/dump-forward.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/dump-network-json.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/dump-pickle.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/get-attention-weights.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/hdf_dump.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20230418.124036 → returnn-1.20230418.134656}/tools/tf_inspect_summary_log.py +0 -0
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/tf/frontend_layers/_backend.py
RENAMED
|
@@ -827,6 +827,12 @@ class ReturnnLayersBackend(Backend[Layer]):
|
|
|
827
827
|
dilation_rate=dilation_rate,
|
|
828
828
|
padding=padding,
|
|
829
829
|
)
|
|
830
|
+
other_dims = [d for d in source.dims if d not in in_spatial_dims and not d.is_batch_dim()]
|
|
831
|
+
assert other_dims # currently not implemented otherwise, need in_dim...
|
|
832
|
+
if source.feature_dim and source.feature_dim in other_dims:
|
|
833
|
+
in_dim = source.feature_dim
|
|
834
|
+
else:
|
|
835
|
+
in_dim = other_dims[-1]
|
|
830
836
|
args = {
|
|
831
837
|
"mode": mode,
|
|
832
838
|
"pool_size": pool_size,
|
|
@@ -835,8 +841,15 @@ class ReturnnLayersBackend(Backend[Layer]):
|
|
|
835
841
|
"strides": strides,
|
|
836
842
|
"in_spatial_dims": in_spatial_dims,
|
|
837
843
|
"out_spatial_dims": out_spatial_dims,
|
|
844
|
+
"in_dim": in_dim, # it does not really matter, but we need sth currently
|
|
838
845
|
}
|
|
839
846
|
layer = rfl.make_layer({"class": "pool", "from": source, **args}, name="pool")
|
|
847
|
+
if source.feature_dim != in_dim:
|
|
848
|
+
# We want that the feature-dim stays consistent. PoolLayer currently just sets it to the in_dim.
|
|
849
|
+
layer = rfl.make_layer(
|
|
850
|
+
{"class": "reinterpret_data", "from": layer, "set_axes": {"F": source.feature_dim}},
|
|
851
|
+
name="pool_reset_feature",
|
|
852
|
+
)
|
|
840
853
|
return layer, out_spatial_dims
|
|
841
854
|
|
|
842
855
|
|
|
@@ -5591,7 +5591,7 @@ class ReinterpretDataLayer(_ConcatInputLayer):
|
|
|
5591
5591
|
:param str|list[str] switch_axes: e.g. "bt" to switch batch and time axes
|
|
5592
5592
|
:param LayerBase|None size_base: copy the size_placeholder from the given layer
|
|
5593
5593
|
:param LayerBase|None batch_dim_base: copy the batch dim from this layer
|
|
5594
|
-
:param dict[str,Dim|str] set_axes:
|
|
5594
|
+
:param dict[str,Dim|str|None] set_axes:
|
|
5595
5595
|
This can be used to overwrite the special axes like time_dim_axis or feature_dim_axis.
|
|
5596
5596
|
For that, use keys "B","T" or "F", and a value via :func:`Data.get_axis_from_description`.
|
|
5597
5597
|
:param dict[str|Dim,Dim]|None set_dim_tags: axis -> new dim tag. assigns new dim tags.
|
|
@@ -5698,7 +5698,7 @@ class ReinterpretDataLayer(_ConcatInputLayer):
|
|
|
5698
5698
|
:param str|list[str] switch_axes: e.g. "bt" to switch batch and time axes
|
|
5699
5699
|
:param LayerBase|None size_base: similar as size_target
|
|
5700
5700
|
:param LayerBase|None batch_dim_base:
|
|
5701
|
-
:param dict[str,Dim|str] set_axes:
|
|
5701
|
+
:param dict[str,Dim|str|None] set_axes:
|
|
5702
5702
|
:param dict[str|Dim,Dim]|None set_dim_tags:
|
|
5703
5703
|
:param bool enforce_batch_major:
|
|
5704
5704
|
:param bool enforce_time_major:
|
|
@@ -5738,10 +5738,9 @@ class ReinterpretDataLayer(_ConcatInputLayer):
|
|
|
5738
5738
|
s = map_axis_name(s)
|
|
5739
5739
|
if isinstance(i, int):
|
|
5740
5740
|
assert enforce_batch_major or enforce_time_major, "%r: explicit set_axes %r" % (name, set_axes)
|
|
5741
|
-
i
|
|
5741
|
+
if i is not None:
|
|
5742
|
+
i = out.get_axis_from_description(i)
|
|
5742
5743
|
setattr(out, s, i)
|
|
5743
|
-
if s == "feature_dim_axis":
|
|
5744
|
-
out.dim = out.batch_shape[out.feature_dim_axis]
|
|
5745
5744
|
if out.size_placeholder and size_base: # size_placeholder might be None, e.g. via DataNotAvailableLayer
|
|
5746
5745
|
assert size_base.output.size_placeholder
|
|
5747
5746
|
assert len(out.size_placeholder) == len(size_base.output.size_placeholder)
|
|
@@ -6517,7 +6516,7 @@ class PoolLayer(_ConcatInputLayer):
|
|
|
6517
6516
|
elif isinstance(strides, int):
|
|
6518
6517
|
strides = [strides] * len(pool_size)
|
|
6519
6518
|
assert len(strides) == len(pool_size)
|
|
6520
|
-
super(PoolLayer, self).__init__(**kwargs)
|
|
6519
|
+
super(PoolLayer, self).__init__(in_dim=in_dim, out_dim=out_dim, **kwargs)
|
|
6521
6520
|
assert not self.input_data.sparse
|
|
6522
6521
|
assert self.input_data.have_batch_axis()
|
|
6523
6522
|
assert (
|
|
@@ -515,6 +515,8 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
515
515
|
:return: a `kind` b
|
|
516
516
|
"""
|
|
517
517
|
assert a.dim() == b.dim()
|
|
518
|
+
if kind == "squared_difference":
|
|
519
|
+
return (a - b) ** 2
|
|
518
520
|
kind = {
|
|
519
521
|
"truediv": "true_divide",
|
|
520
522
|
"floordiv": "floor_divide",
|
|
@@ -1091,7 +1093,6 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
1091
1093
|
dilation_rate=dilation_rate,
|
|
1092
1094
|
padding=padding,
|
|
1093
1095
|
)
|
|
1094
|
-
assert padding == "valid" # not implemented otherwise
|
|
1095
1096
|
batch_dims = [d for d in source.dims if d not in tuple(in_spatial_dims)]
|
|
1096
1097
|
# Torch conv expects (N,C,<spatial dims>) as shape.
|
|
1097
1098
|
# batch_dims would actually cover the channel-dim (C) as well,
|
|
@@ -1101,8 +1102,9 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
1101
1102
|
source.raw_tensor,
|
|
1102
1103
|
# Potentially merge batch dims all together.
|
|
1103
1104
|
# Keep the last as the channel-dim, but not sure if this is really relevant.
|
|
1104
|
-
[-1, batch_dims[-1] if batch_dims else 1] + [d.get_dim_value() for d in in_spatial_dims],
|
|
1105
|
+
[-1, batch_dims[-1].get_dim_value() if batch_dims else 1] + [d.get_dim_value() for d in in_spatial_dims],
|
|
1105
1106
|
)
|
|
1107
|
+
ceil_mode = padding.lower() == "same"
|
|
1106
1108
|
if len(in_spatial_dims) == 1:
|
|
1107
1109
|
# There is also conv_tbc, but it's a bit limited (no dilation)
|
|
1108
1110
|
# and also unclear when exactly it is faster.
|
|
@@ -1111,6 +1113,7 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
1111
1113
|
kernel_size=pool_size,
|
|
1112
1114
|
stride=strides,
|
|
1113
1115
|
dilation=dilation_rate or 1,
|
|
1116
|
+
ceil_mode=ceil_mode,
|
|
1114
1117
|
)
|
|
1115
1118
|
elif len(in_spatial_dims) == 2:
|
|
1116
1119
|
out_raw = torch.nn.functional.max_pool2d(
|
|
@@ -1118,6 +1121,7 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
1118
1121
|
kernel_size=pool_size,
|
|
1119
1122
|
stride=strides,
|
|
1120
1123
|
dilation=dilation_rate or 1,
|
|
1124
|
+
ceil_mode=ceil_mode,
|
|
1121
1125
|
)
|
|
1122
1126
|
elif len(in_spatial_dims) == 3:
|
|
1123
1127
|
out_raw = torch.nn.functional.max_pool3d(
|
|
@@ -1125,6 +1129,7 @@ class TorchBackend(Backend[torch.Tensor]):
|
|
|
1125
1129
|
kernel_size=pool_size,
|
|
1126
1130
|
stride=strides,
|
|
1127
1131
|
dilation=dilation_rate or 1,
|
|
1132
|
+
ceil_mode=ceil_mode,
|
|
1128
1133
|
)
|
|
1129
1134
|
else:
|
|
1130
1135
|
raise ValueError(f"invalid number of filter dims {in_spatial_dims}, expected 1, 2, or 3")
|
|
@@ -69,3 +69,45 @@ def test_conv1d_depthwise():
|
|
|
69
69
|
out.mark_as_default_output(shape=(batch_dim, spatial_dim, out_dim))
|
|
70
70
|
|
|
71
71
|
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def test_maxpool1d_padding_valid():
|
|
75
|
+
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
76
|
+
in_dim = Dim(7, name="in")
|
|
77
|
+
extern_data = TensorDict(
|
|
78
|
+
{
|
|
79
|
+
"data": Tensor("data", [batch_dim, time_dim, in_dim], dtype="float32"),
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
class _Net(rf.Module):
|
|
84
|
+
def __call__(self, x: rf.Tensor, *, in_spatial_dim: Dim) -> Tuple[Tensor, Dim]:
|
|
85
|
+
return rf.max_pool1d(x, pool_size=3, padding="valid", in_spatial_dim=in_spatial_dim)
|
|
86
|
+
|
|
87
|
+
# noinspection PyShadowingNames
|
|
88
|
+
def _forward_step(*, model: _Net, extern_data: TensorDict):
|
|
89
|
+
out, out_spatial_dim = model(extern_data["data"], in_spatial_dim=time_dim)
|
|
90
|
+
out.mark_as_default_output(shape=(batch_dim, out_spatial_dim, in_dim))
|
|
91
|
+
|
|
92
|
+
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def test_maxpool1d_padding_same():
|
|
96
|
+
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
97
|
+
in_dim = Dim(7, name="in")
|
|
98
|
+
extern_data = TensorDict(
|
|
99
|
+
{
|
|
100
|
+
"data": Tensor("data", [batch_dim, time_dim, in_dim], dtype="float32"),
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
class _Net(rf.Module):
|
|
105
|
+
def __call__(self, x: rf.Tensor, *, in_spatial_dim: Dim) -> Tuple[Tensor, Dim]:
|
|
106
|
+
return rf.max_pool1d(x, pool_size=3, padding="same", in_spatial_dim=in_spatial_dim)
|
|
107
|
+
|
|
108
|
+
# noinspection PyShadowingNames
|
|
109
|
+
def _forward_step(*, model: _Net, extern_data: TensorDict):
|
|
110
|
+
out, out_spatial_dim = model(extern_data["data"], in_spatial_dim=time_dim)
|
|
111
|
+
out.mark_as_default_output(shape=(batch_dim, out_spatial_dim, in_dim))
|
|
112
|
+
|
|
113
|
+
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
@@ -28,3 +28,25 @@ def test_neg():
|
|
|
28
28
|
out.mark_as_default_output(shape=(batch_dim, time_dim, in_dim))
|
|
29
29
|
|
|
30
30
|
run_model(extern_data, lambda *, epoch, step: _Net(), _forward_step)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def test_squared_difference():
|
|
34
|
+
time_dim = Dim(Tensor("time", [batch_dim], dtype="int32"))
|
|
35
|
+
in_dim = Dim(7, name="in")
|
|
36
|
+
extern_data = TensorDict(
|
|
37
|
+
{
|
|
38
|
+
"a": Tensor("a", [batch_dim, time_dim, in_dim], dtype="float32"),
|
|
39
|
+
"b": Tensor("b", [batch_dim, time_dim, in_dim], dtype="float32"),
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
class _Net(rf.Module):
|
|
44
|
+
def __call__(self, a: Tensor, b: Tensor) -> Tensor:
|
|
45
|
+
return rf.squared_difference(a, b)
|
|
46
|
+
|
|
47
|
+
# noinspection PyShadowingNames
|
|
48
|
+
def _forward_step(*, model: _Net, extern_data: TensorDict):
|
|
49
|
+
out = model(extern_data["a"], extern_data["b"])
|
|
50
|
+
out.mark_as_default_output(shape=(batch_dim, time_dim, in_dim))
|
|
51
|
+
|
|
52
|
+
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.20230418.124036 → returnn-1.20230418.134656}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/.git
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/.gitignore
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/LICENSE
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/README.md
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/aligner.gif
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/check.png
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/core.cu
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/core.h
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/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.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/WarpRna/warp-rna/test.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/README.md
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/reroute.py
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/select.py
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/subgraph.py
RENAMED
|
File without changes
|
{returnn-1.20230418.124036 → returnn-1.20230418.134656}/returnn/extern/graph_editor/transform.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
|