returnn 1.20230411.4301__tar.gz → 1.20230411.133415__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.20230411.4301/returnn.egg-info → returnn-1.20230411.133415}/PKG-INFO +1 -1
- returnn-1.20230411.133415/_setup_info_generated.py +2 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-iter-dataset.py +2 -2
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/engine/base.py +8 -16
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/sprint/interface.py +2 -2
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/_tensor_extra.py +38 -22
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/engine.py +2 -2
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/engine.py +1 -1
- {returnn-1.20230411.4301 → returnn-1.20230411.133415/returnn.egg-info}/PKG-INFO +1 -1
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/_setup_test_env.py +9 -6
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TFUtil.py +4 -4
- returnn-1.20230411.4301/_setup_info_generated.py +0 -2
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/.editorconfig +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/.gitignore +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/.gitmodules +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/.kateconfig +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/CHANGELOG.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/CODEOWNERS +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/CONTRIBUTING.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/LICENSE +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/MANIFEST.in +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/README.rst +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/12AX.cluster_map +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-fwd.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-list-devices.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-pretrain.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-rf.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-torch.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo.sh +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/pyproject.toml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/requirements.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/__main__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/__setup__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/config.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/audio.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/basic.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/cached.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/generating.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/lm.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/map.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/meta.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/engine/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/engine/batch.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/array_.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/const.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/dims.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/init.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/linear.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/loss.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/math_.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/module.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/rand.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/state.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/frontend/types.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/import_/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/import_/common.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/import_/git.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/import_/import_.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/log.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/native_op.cpp +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/native_op.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/pretrain.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/sprint/cache.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/sprint/control.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/dim.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/compat.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/distributed.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/horovod.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/native_op.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/network.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/sprint.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/updater.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/util/data.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/functional/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/functional/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/torch/updater.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/__init__.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/basic.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/bpe.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/debug.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/fsa.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/pprint.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/util/task_system.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/rnn.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/setup.cfg +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/setup.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/DummySprintExec.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/lint_common.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/pylint.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/rf_utils.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/spelling.dic +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_Config.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_Dataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_Fsa.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_Log.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_PTDataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_Pretrain.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_ResNet.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TFEngine.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_Util.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_demos.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_fork_exec.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_rf_base.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_tensor.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_tools.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/collect-words.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/compile_native_op.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/dump-dataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/dump-forward.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/dump-network-json.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/dump-pickle.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/get-attention-weights.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/hdf_dump.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20230411.4301 → returnn-1.20230411.133415}/tools/tf_inspect_summary_log.py +0 -0
|
@@ -36,10 +36,10 @@ def iterate_epochs():
|
|
|
36
36
|
"""
|
|
37
37
|
Iterate through epochs.
|
|
38
38
|
"""
|
|
39
|
-
start_epoch
|
|
39
|
+
start_epoch = EngineBase.get_train_start_epoch(config)
|
|
40
40
|
final_epoch = EngineBase.config_get_final_epoch(config)
|
|
41
41
|
|
|
42
|
-
print("Starting with epoch %i
|
|
42
|
+
print("Starting with epoch %i." % (start_epoch,), file=log.v3)
|
|
43
43
|
print("Final epoch is: %i" % final_epoch, file=log.v3)
|
|
44
44
|
|
|
45
45
|
recurrent_net = "lstm" in config.value("hidden_type", "") # good enough...
|
|
@@ -4,9 +4,9 @@ Provides :class:`EngineBase`.
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
+
from typing import Optional
|
|
7
8
|
import os
|
|
8
9
|
import sys
|
|
9
|
-
from typing import Optional
|
|
10
10
|
|
|
11
11
|
from returnn.config import Config, get_global_config
|
|
12
12
|
from returnn.learning_rate_control import load_learning_rate_control_from_config, LearningRateControl
|
|
@@ -164,35 +164,27 @@ class EngineBase(object):
|
|
|
164
164
|
return epoch_model
|
|
165
165
|
|
|
166
166
|
@classmethod
|
|
167
|
-
def
|
|
167
|
+
def get_train_start_epoch(cls, config: Config) -> int:
|
|
168
168
|
"""
|
|
169
169
|
We will always automatically determine the best start (epoch,batch) tuple
|
|
170
170
|
based on existing model files.
|
|
171
171
|
This ensures that the files are present and enforces that there are
|
|
172
172
|
no old outdated files which should be ignored.
|
|
173
173
|
Note that epochs start at idx 1 and batches at idx 0.
|
|
174
|
-
|
|
175
|
-
:
|
|
176
|
-
:
|
|
174
|
+
|
|
175
|
+
:param config:
|
|
176
|
+
:return: epoch
|
|
177
177
|
"""
|
|
178
178
|
start_batch_mode = config.value("start_batch", "auto")
|
|
179
|
-
if start_batch_mode
|
|
180
|
-
|
|
181
|
-
else:
|
|
182
|
-
start_batch_config = int(start_batch_mode)
|
|
179
|
+
if start_batch_mode != "auto":
|
|
180
|
+
raise Exception(f"custom start_batch {start_batch_mode!r} not supported")
|
|
183
181
|
last_epoch, _ = cls.get_epoch_model(config)
|
|
184
182
|
if last_epoch is None:
|
|
185
183
|
start_epoch = 1
|
|
186
|
-
start_batch = start_batch_config or 0
|
|
187
|
-
elif start_batch_config is not None:
|
|
188
|
-
# We specified a start batch. Stay in the same epoch, use that start batch.
|
|
189
|
-
start_epoch = last_epoch
|
|
190
|
-
start_batch = start_batch_config
|
|
191
184
|
else:
|
|
192
185
|
# Start with next epoch.
|
|
193
186
|
start_epoch = last_epoch + 1
|
|
194
|
-
|
|
195
|
-
return start_epoch, start_batch
|
|
187
|
+
return start_epoch
|
|
196
188
|
|
|
197
189
|
@classmethod
|
|
198
190
|
def epoch_model_filename(cls, model_filename, epoch, is_pretrain):
|
|
@@ -355,8 +355,8 @@ def getSegmentList(corpusName, segmentList, **kwargs):
|
|
|
355
355
|
sprintDataset.use_multiple_epochs()
|
|
356
356
|
|
|
357
357
|
finalEpoch = get_final_epoch()
|
|
358
|
-
startEpoch
|
|
359
|
-
print("Sprint: Starting with epoch %i
|
|
358
|
+
startEpoch = Engine.get_train_start_epoch(config)
|
|
359
|
+
print("Sprint: Starting with epoch %i." % (startEpoch,))
|
|
360
360
|
print("Final epoch is: %i" % finalEpoch)
|
|
361
361
|
|
|
362
362
|
# Loop over multiple epochs. Epochs start at 1.
|
|
@@ -787,18 +787,12 @@ class _TensorMixin(_TensorMixinBase):
|
|
|
787
787
|
|
|
788
788
|
def copy_add_batch_dim(self, batch_dim_axis, batch=None, dim_tag=None) -> _t.Tensor:
|
|
789
789
|
"""
|
|
790
|
-
Warning: Assumes TensorFlow.
|
|
791
|
-
|
|
792
790
|
:param int batch_dim_axis:
|
|
793
791
|
:param BatchInfo|None batch:
|
|
794
792
|
:param Dim|None dim_tag:
|
|
795
793
|
:return: copy of myself with added batch-dim
|
|
796
794
|
"""
|
|
797
795
|
assert self.batch_dim_axis is None
|
|
798
|
-
if not batch:
|
|
799
|
-
from returnn.tf.layers.base import LayerBase
|
|
800
|
-
|
|
801
|
-
batch = LayerBase.get_recent_layer().get_batch_info()
|
|
802
796
|
if batch_dim_axis < 0:
|
|
803
797
|
assert batch_dim_axis + self.batch_ndim + 1 >= 0
|
|
804
798
|
batch_dim_axis += self.batch_ndim + 1
|
|
@@ -808,19 +802,36 @@ class _TensorMixin(_TensorMixinBase):
|
|
|
808
802
|
if placeholder is not None:
|
|
809
803
|
backend = self._raw_backend
|
|
810
804
|
placeholder = backend.expand_dims_raw(placeholder, batch_dim_axis)
|
|
811
|
-
if
|
|
812
|
-
|
|
805
|
+
if batch:
|
|
806
|
+
batch_dim_ = batch.dim
|
|
807
|
+
elif dim_tag:
|
|
808
|
+
if dim_tag.dyn_size_ext:
|
|
809
|
+
assert dim_tag.dyn_size_ext.dims == ()
|
|
810
|
+
assert dim_tag.dyn_size_ext.raw_tensor is not None
|
|
811
|
+
batch_dim_ = dim_tag.dyn_size_ext.raw_tensor
|
|
812
|
+
elif dim_tag.dimension:
|
|
813
|
+
batch_dim_ = dim_tag.dimension
|
|
814
|
+
else:
|
|
815
|
+
raise Exception(f"{self} copy_add_batch_dim: unknown batch dim for {dim_tag!r}")
|
|
816
|
+
else:
|
|
817
|
+
raise Exception(f"{self} copy_add_batch_dim: unknown batch dim ")
|
|
818
|
+
if not isinstance(batch_dim_, int) or batch_dim_ != 1:
|
|
819
|
+
placeholder = backend.expand_raw(placeholder, batch_dim_axis, batch_dim_)
|
|
813
820
|
dim_tags = list(self.dim_tags)
|
|
814
821
|
if dim_tag:
|
|
815
822
|
assert dim_tag.is_batch_dim()
|
|
816
|
-
assert dim_tag.dimension == batch.static_dim or dim_tag.dimension is None
|
|
817
823
|
assert dim_tag.batch == batch
|
|
824
|
+
if batch:
|
|
825
|
+
assert dim_tag.dimension == batch.static_dim or dim_tag.dimension is None
|
|
818
826
|
else:
|
|
819
|
-
dim_tag = Dim(
|
|
827
|
+
dim_tag = Dim(
|
|
828
|
+
kind=Dim.Types.Batch, description="batch", dimension=batch.static_dim if batch else None, batch=batch
|
|
829
|
+
)
|
|
820
830
|
dim_tags.insert(batch_dim_axis, dim_tag)
|
|
821
831
|
data_opts["dims"] = dim_tags
|
|
822
|
-
|
|
823
|
-
|
|
832
|
+
if batch:
|
|
833
|
+
data_opts["batch"] = batch
|
|
834
|
+
data_opts["beam"] = batch.beam
|
|
824
835
|
other_special_axes = self.get_special_axes_dict(counted_with_batch_dim=True, only_available=True)
|
|
825
836
|
for k, a in other_special_axes.items():
|
|
826
837
|
data_opts[k] = a if (a < batch_dim_axis) else (a + 1)
|
|
@@ -909,14 +920,17 @@ class _TensorMixin(_TensorMixinBase):
|
|
|
909
920
|
if unbroadcast:
|
|
910
921
|
return self.copy_add_batch_dim(batch_dim_axis=axis, batch=dim_tag.batch, dim_tag=dim_tag)
|
|
911
922
|
else:
|
|
912
|
-
|
|
923
|
+
if dim_tag.batch or self.batch:
|
|
924
|
+
from returnn.tf.util.data import BatchInfo
|
|
913
925
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
926
|
+
batch_info = BatchInfo.make_global_broadcast_batch_info()
|
|
927
|
+
else:
|
|
928
|
+
batch_info = None
|
|
929
|
+
if dim_tag and dim_tag.dimension == 1 and dim_tag.batch == batch_info:
|
|
930
|
+
pass # keep it
|
|
931
|
+
else:
|
|
932
|
+
dim_tag = Dim(kind=Dim.Types.Batch, description="batch-broadcast", dimension=1, batch=batch_info)
|
|
933
|
+
return self.copy_add_batch_dim(batch_dim_axis=axis, batch=batch_info, dim_tag=dim_tag)
|
|
920
934
|
|
|
921
935
|
data_opts = self.get_kwargs()
|
|
922
936
|
# Note: if dim_tag is feature, but we are sparse, we just make it spatial
|
|
@@ -2812,9 +2826,11 @@ class _TensorMixin(_TensorMixinBase):
|
|
|
2812
2826
|
:rtype: int|None
|
|
2813
2827
|
"""
|
|
2814
2828
|
# Do not fallback to get_batch_dim or get_recent_layer or so. This should be safe.
|
|
2815
|
-
if
|
|
2816
|
-
return
|
|
2817
|
-
|
|
2829
|
+
if self.batch:
|
|
2830
|
+
return self.batch.static_dim
|
|
2831
|
+
if self.have_batch_axis():
|
|
2832
|
+
return self.get_batch_dim_tag().dimension
|
|
2833
|
+
return None
|
|
2818
2834
|
|
|
2819
2835
|
def get_spatial_batch_axes(self):
|
|
2820
2836
|
"""
|
|
@@ -1105,7 +1105,7 @@ class Engine(EngineBase):
|
|
|
1105
1105
|
if config.has("eval_datasets"):
|
|
1106
1106
|
for dataset_name, dataset_opts in config.typed_value("eval_datasets", {}).items():
|
|
1107
1107
|
self.eval_datasets[dataset_name] = init_dataset(dataset_opts, default_kwargs={"name": dataset_name})
|
|
1108
|
-
self.start_epoch
|
|
1108
|
+
self.start_epoch = self.get_train_start_epoch(config)
|
|
1109
1109
|
self.batch_size = config.typed_value("batch_size", 1)
|
|
1110
1110
|
self.shuffle_batches = config.bool("shuffle_batches", False)
|
|
1111
1111
|
self.update_batch_size = config.int("update_batch_size", 0)
|
|
@@ -1577,7 +1577,7 @@ class Engine(EngineBase):
|
|
|
1577
1577
|
"""
|
|
1578
1578
|
Does the whole training, i.e. the loop over all the epochs.
|
|
1579
1579
|
"""
|
|
1580
|
-
print("start training at epoch %i
|
|
1580
|
+
print("start training at epoch %i" % (self.start_epoch,), file=log.v3)
|
|
1581
1581
|
print("using batch size: %r, max seqs: %i" % (self.batch_size, self.max_seqs), file=log.v4)
|
|
1582
1582
|
print("learning rate control:", self.learning_rate_control, file=log.v4)
|
|
1583
1583
|
print("pretrain:", self.pretrain, file=log.v4)
|
|
@@ -90,7 +90,7 @@ class Engine(EngineBase):
|
|
|
90
90
|
for dataset_name, dataset in self.eval_datasets.items():
|
|
91
91
|
self._eval_dataloaders[dataset_name] = self._create_data_loader(dataset)
|
|
92
92
|
|
|
93
|
-
self._start_epoch
|
|
93
|
+
self._start_epoch = self.get_train_start_epoch(self.config)
|
|
94
94
|
self._final_epoch = self.config_get_final_epoch(self.config)
|
|
95
95
|
|
|
96
96
|
self._load_model(epoch=self._start_epoch)
|
|
@@ -64,13 +64,16 @@ def setup():
|
|
|
64
64
|
log.initialize(verbosity=[5], propagate=False)
|
|
65
65
|
|
|
66
66
|
# TF is optional.
|
|
67
|
-
|
|
68
|
-
# BackendEngine._get_default_engine() will return TF by default, if TF is already loaded.
|
|
69
|
-
# For most tests, this does not matter.
|
|
70
|
-
try:
|
|
71
|
-
import tensorflow as tf
|
|
72
|
-
except ImportError:
|
|
67
|
+
if "RETURNN_DISABLE_TF" in os.environ and int(os.environ["RETURNN_DISABLE_TF"]) == 1:
|
|
73
68
|
tf = None
|
|
69
|
+
else:
|
|
70
|
+
# Note that importing TF still has a small side effect:
|
|
71
|
+
# BackendEngine._get_default_engine() will return TF by default, if TF is already loaded.
|
|
72
|
+
# For most tests, this does not matter.
|
|
73
|
+
try:
|
|
74
|
+
import tensorflow as tf
|
|
75
|
+
except ImportError:
|
|
76
|
+
tf = None
|
|
74
77
|
|
|
75
78
|
if tf:
|
|
76
79
|
import returnn.tf.util.basic as tf_util
|
|
@@ -424,7 +424,7 @@ def test_Data_find_matching_dim_map_broadcast_matches():
|
|
|
424
424
|
assert mapping[0] == 1 and mapping[1] == 2
|
|
425
425
|
|
|
426
426
|
copied = d2.copy_compatible_to(d1)
|
|
427
|
-
assert copied.batch_ndim == d1.batch_ndim and copied.
|
|
427
|
+
assert copied.batch_ndim == d1.batch_ndim and copied.get_static_batch_dim() == 1 and copied.batch_shape == (1, 5, 1)
|
|
428
428
|
print("copied compatible:", copied)
|
|
429
429
|
|
|
430
430
|
|
|
@@ -633,14 +633,14 @@ def test_Data_copy_compatible_to_src_no_batch():
|
|
|
633
633
|
d2 = Data(name="d2", shape=(), batch_dim_axis=None, time_dim_axis=None)
|
|
634
634
|
d2.placeholder = tf.zeros([d if (d is not None) else 1 for d in d2.batch_shape])
|
|
635
635
|
d3 = d2.copy_compatible_to(d1)
|
|
636
|
-
assert d3.
|
|
636
|
+
assert d3.get_static_batch_dim() == 1 and d3.batch_shape == (1, 1, 1)
|
|
637
637
|
|
|
638
638
|
|
|
639
639
|
def test_Data_copy_compatible_to_add_batch_dim():
|
|
640
640
|
common_data = Data(name="accum_att_weights_output", shape=(None, 1))
|
|
641
641
|
d1 = Data(name="att_weights_avg_output", shape=(1,), batch_dim_axis=None)
|
|
642
642
|
d2 = d1.copy_compatible_to(common_data)
|
|
643
|
-
assert d2.have_batch_axis() and d2.
|
|
643
|
+
assert d2.have_batch_axis() and d2.get_static_batch_dim() == 1 and d2.batch_shape == (1, 1, 1)
|
|
644
644
|
|
|
645
645
|
|
|
646
646
|
def test_Data_copy_compatible_to_add_feature_dim():
|
|
@@ -658,7 +658,7 @@ def test_Data_copy_compatible_to_add_batch_feature_dim():
|
|
|
658
658
|
d2 = d1.copy_compatible_to(common_data)
|
|
659
659
|
print(d2)
|
|
660
660
|
assert d2.have_batch_axis() and d2.have_time_axis()
|
|
661
|
-
assert d2.
|
|
661
|
+
assert d2.get_static_batch_dim() == 1 # batch-dim is broadcasted
|
|
662
662
|
assert d2.batch_shape == (1, None, 1)
|
|
663
663
|
|
|
664
664
|
|
|
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
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/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.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/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.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/IAM/create_IAM_dataset.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
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial_rgb/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/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.20230411.4301 → returnn-1.20230411.133415}/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.20230411.4301 → returnn-1.20230411.133415}/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.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/.gitignore
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/LICENSE
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/README.md
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/aligner.gif
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/check.png
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/core.cu
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/returnn/extern/WarpRna/warp-rna/core.h
RENAMED
|
File without changes
|
{returnn-1.20230411.4301 → returnn-1.20230411.133415}/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
|