returnn 1.20240607.133858__tar.gz → 1.20240610.111814__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of returnn might be problematic. Click here for more details.
- {returnn-1.20240607.133858/returnn.egg-info → returnn-1.20240610.111814}/PKG-INFO +1 -1
- returnn-1.20240610.111814/_setup_info_generated.py +2 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/basic.py +8 -1
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/concat_files.py +15 -9
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/hdf.py +5 -4
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/meta.py +250 -10
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/basic.py +20 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/multi_proc_non_daemonic_spawn.py +1 -1
- {returnn-1.20240607.133858 → returnn-1.20240610.111814/returnn.egg-info}/PKG-INFO +1 -1
- returnn-1.20240607.133858/_setup_info_generated.py +0 -2
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/.editorconfig +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/.gitignore +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/.gitmodules +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/.kateconfig +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/CHANGELOG.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/CODEOWNERS +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/CONTRIBUTING.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/LICENSE +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/MANIFEST.in +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/README.rst +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/12AX.cluster_map +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-fwd.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-list-devices.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-pretrain.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-rf.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-torch.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo.sh +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/pyproject.toml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/requirements.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/__main__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/__setup__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/config.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/audio.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/cached.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/generating.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/lm.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/map.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/engine/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/engine/base.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/engine/batch.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/forward_iface.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/array_.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/attention.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/backend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/cond.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/const.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/container.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/conv.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/device.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/dims.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/graph.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/init.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/linear.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/loop.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/loss.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/math_.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/module.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/rand.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/rec.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/signal.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/state.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/frontend/types.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/import_/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/import_/common.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/import_/git.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/import_/import_.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/log.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/native_op.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/native_op.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/pretrain.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/sprint/cache.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/sprint/control.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/sprint/interface.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/dim.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tensor/utils.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/compat.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/distributed.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/engine.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/horovod.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/native_op.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/network.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/sprint.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/updater.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/util/data.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/distributed.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/engine.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/updater.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/util/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/__init__.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/bpe.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/debug.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/file_cache.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/fsa.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/math.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/pprint.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/py_compat.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/task_system.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/rnn.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/setup.cfg +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/setup.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/DummySprintExec.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/_setup_test_env.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/lint_common.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/pylint.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/rf_utils.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/spelling.dic +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_Config.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_Dataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_Fsa.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_Log.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_Pretrain.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_ResNet.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TFEngine.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TFUtil.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_Util.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_demos.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_fork_exec.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_array.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_attention.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_base.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_cond.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_const.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_container.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_conv.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_loop.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_math.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_rec.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_rf_signal.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_tensor.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_tools.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_torch_engine.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/collect-words.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/compile_native_op.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/dump-dataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/dump-forward.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/dump-network-json.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/dump-pickle.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/get-attention-weights.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/hdf_dump.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20240607.133858 → returnn-1.20240610.111814}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -28,6 +28,9 @@ from returnn.util.basic import try_run, NumbersDict, OptionalNotImplementedError
|
|
|
28
28
|
from returnn.tensor import TensorDict
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
RANDOM_SEED_OFFSET_ENV_VAR = "RETURNN_RANDOM_SEED_OFFSET"
|
|
32
|
+
|
|
33
|
+
|
|
31
34
|
class Dataset(object):
|
|
32
35
|
"""
|
|
33
36
|
Base class for any dataset. This defines the dataset API.
|
|
@@ -245,7 +248,11 @@ class Dataset(object):
|
|
|
245
248
|
config = get_global_config(raise_exception=False)
|
|
246
249
|
if not config:
|
|
247
250
|
return 0
|
|
248
|
-
|
|
251
|
+
|
|
252
|
+
env_val = os.environ.get(RANDOM_SEED_OFFSET_ENV_VAR)
|
|
253
|
+
if env_val is not None:
|
|
254
|
+
return int(env_val)
|
|
255
|
+
elif config.typed_value("torch_distributed") is not None:
|
|
249
256
|
import returnn.torch.distributed
|
|
250
257
|
|
|
251
258
|
return returnn.torch.distributed.get_ctx(config=config).rank() * 16127
|
|
@@ -11,10 +11,10 @@ import os
|
|
|
11
11
|
import sys
|
|
12
12
|
import numpy
|
|
13
13
|
from returnn.log import log
|
|
14
|
-
from returnn.util.basic import try_run
|
|
14
|
+
from returnn.util.basic import override_env_var, try_run
|
|
15
15
|
from returnn.util.multi_proc_non_daemonic_spawn import NonDaemonicSpawnContext
|
|
16
16
|
from returnn.config import SubProcCopyGlobalConfigPreInitFunc
|
|
17
|
-
from .basic import init_dataset, DatasetSeq
|
|
17
|
+
from .basic import init_dataset, DatasetSeq, RANDOM_SEED_OFFSET_ENV_VAR
|
|
18
18
|
from .cached2 import CachedDataset2
|
|
19
19
|
|
|
20
20
|
# noinspection PyProtectedMember
|
|
@@ -423,6 +423,9 @@ class _WorkerProcParent:
|
|
|
423
423
|
buffer_size: int,
|
|
424
424
|
exit_hook: Optional[Callable[[], None]] = None,
|
|
425
425
|
):
|
|
426
|
+
# the dataset makes sure this is set
|
|
427
|
+
assert "random_seed_offset" in dataset_dict
|
|
428
|
+
|
|
426
429
|
self.epoch = epoch
|
|
427
430
|
self.full_epoch_0idx = full_epoch_0idx
|
|
428
431
|
self.dataset_dict = dataset_dict
|
|
@@ -431,13 +434,16 @@ class _WorkerProcParent:
|
|
|
431
434
|
parent_conn, child_conn = _mp.Pipe()
|
|
432
435
|
self.parent_conn: mpConnection = parent_conn
|
|
433
436
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
437
|
+
# the env will be forwarded to the child process
|
|
438
|
+
with override_env_var(RANDOM_SEED_OFFSET_ENV_VAR, str(dataset_dict["random_seed_offset"])):
|
|
439
|
+
self.worker_proc = _mp.Process(
|
|
440
|
+
name=f"{name} worker ep {epoch}",
|
|
441
|
+
target=_worker_proc_loop,
|
|
442
|
+
args=(epoch, buffer_size, dataset_dict, child_conn),
|
|
443
|
+
daemon=True,
|
|
444
|
+
)
|
|
445
|
+
self.worker_proc.start()
|
|
446
|
+
|
|
441
447
|
# Make sure the child connection is closed here.
|
|
442
448
|
# It stays open in the child, until the child dies.
|
|
443
449
|
# When that happens, now any consecutive read on the pipe
|
|
@@ -3,6 +3,7 @@ Provides :class:`HDFDataset`.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
|
+
import bisect
|
|
6
7
|
import typing
|
|
7
8
|
import collections
|
|
8
9
|
import gc
|
|
@@ -457,10 +458,10 @@ class HDFDataset(CachedDataset):
|
|
|
457
458
|
return ", ".join(["HDF dataset", "sequences: %i" % self.num_seqs, "frames: %i" % self.get_num_timesteps()])
|
|
458
459
|
|
|
459
460
|
def _get_file_index(self, real_seq_idx):
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
return
|
|
461
|
+
# bisect() returns the position for which all elements to the left of the returned index are <= real_seq_idx,
|
|
462
|
+
# so it actually returns the next file index in which the sequence can be found.
|
|
463
|
+
# Therefore, we subtract 1 to the index provided.
|
|
464
|
+
return bisect.bisect(self.file_start, real_seq_idx) - 1
|
|
464
465
|
|
|
465
466
|
|
|
466
467
|
# ------------------------------------------------------------------------------
|
|
@@ -23,10 +23,10 @@ The dataset classes MetaDataset and CombinedDataset which perform these tasks ar
|
|
|
23
23
|
|
|
24
24
|
from __future__ import annotations
|
|
25
25
|
|
|
26
|
-
from typing import List
|
|
26
|
+
from typing import Optional, Any, Sequence, List, Dict
|
|
27
27
|
from returnn.datasets.basic import Dataset, DatasetSeq, init_dataset, convert_data_dims
|
|
28
28
|
from .cached2 import CachedDataset2
|
|
29
|
-
from returnn.util.basic import NumbersDict, load_json
|
|
29
|
+
from returnn.util.basic import NumbersDict, load_json, OptionalNotImplementedError
|
|
30
30
|
from returnn.log import log
|
|
31
31
|
from random import Random
|
|
32
32
|
import numpy
|
|
@@ -949,7 +949,15 @@ class CombinedDataset(CachedDataset2):
|
|
|
949
949
|
self.sampling_sizes = sampling_sizes
|
|
950
950
|
|
|
951
951
|
# This will only initialize datasets needed for features occurring in data_map
|
|
952
|
-
self.datasets = {
|
|
952
|
+
self.datasets = {
|
|
953
|
+
key: init_dataset(
|
|
954
|
+
{
|
|
955
|
+
**datasets[key],
|
|
956
|
+
"random_seed_offset": datasets[key].get("random_seed_offset", self.random_seed_offset),
|
|
957
|
+
}
|
|
958
|
+
)
|
|
959
|
+
for key in self.dataset_keys
|
|
960
|
+
}
|
|
953
961
|
|
|
954
962
|
self._estimated_num_seqs = sum([self.datasets[k].estimated_num_seqs for k in sorted(self.datasets.keys())])
|
|
955
963
|
self.estimated_num_seq_per_subset = [self.datasets[k].estimated_num_seqs for k in sorted(self.datasets.keys())]
|
|
@@ -1772,13 +1780,245 @@ class ChunkShuffleDataset(CachedDataset2):
|
|
|
1772
1780
|
return self.dataset.get_target_list()
|
|
1773
1781
|
|
|
1774
1782
|
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1783
|
+
class VariableDataset(Dataset):
|
|
1784
|
+
"""
|
|
1785
|
+
For every (sub)epoch, it would generate a new subdataset,
|
|
1786
|
+
based on a user-provided function.
|
|
1787
|
+
"""
|
|
1788
|
+
|
|
1789
|
+
def __init__(self, *, get_dataset, **kwargs):
|
|
1790
|
+
"""
|
|
1791
|
+
:param get_dataset: function (*, epoch: int, **_) -> Dict[str,Any], will be called for every sub-epoch.
|
|
1792
|
+
It will cache the dict from the prev call, and if the dict is the same, it will not recreate the dataset.
|
|
1793
|
+
"""
|
|
1794
|
+
super().__init__(**kwargs)
|
|
1795
|
+
self._get_dataset = get_dataset
|
|
1796
|
+
self._dataset_dict: Optional[Dict[str, Any]] = None
|
|
1797
|
+
self._dataset: Optional[Dataset] = None
|
|
1798
|
+
self._load_dataset(epoch=1)
|
|
1799
|
+
self.num_inputs = self._dataset.num_inputs
|
|
1800
|
+
self.num_outputs = self._dataset.num_outputs
|
|
1801
|
+
self.labels = self._dataset.labels
|
|
1802
|
+
|
|
1803
|
+
def _load_dataset(self, epoch: int):
|
|
1804
|
+
dataset_dict = self._get_dataset(epoch=epoch)
|
|
1805
|
+
if dataset_dict != self._dataset_dict:
|
|
1806
|
+
self._dataset_dict = dataset_dict
|
|
1807
|
+
self._dataset = init_dataset(dataset_dict)
|
|
1808
|
+
|
|
1809
|
+
def init_seq_order(self, epoch=None, seq_list=None, seq_order=None):
|
|
1810
|
+
"""init seq order"""
|
|
1811
|
+
super().init_seq_order()
|
|
1812
|
+
if epoch is None:
|
|
1813
|
+
if seq_list is not None or seq_order is not None:
|
|
1814
|
+
raise ValueError(f"{self}: epoch is None, but given seq_list or seq_order, not supported")
|
|
1815
|
+
return
|
|
1816
|
+
self._load_dataset(epoch)
|
|
1817
|
+
self._dataset.init_seq_order(epoch=epoch, seq_list=seq_list, seq_order=seq_order)
|
|
1818
|
+
|
|
1819
|
+
def finish_epoch(self, *, free_resources: bool = False):
|
|
1820
|
+
"""finish epoch"""
|
|
1821
|
+
super().finish_epoch(free_resources=free_resources)
|
|
1822
|
+
self._dataset.finish_epoch(free_resources=free_resources)
|
|
1823
|
+
|
|
1824
|
+
def supports_seq_order_sorting(self) -> bool:
|
|
1825
|
+
"""supports sorting"""
|
|
1826
|
+
return self._dataset.supports_seq_order_sorting()
|
|
1827
|
+
|
|
1828
|
+
def get_current_seq_order(self) -> Sequence[int]:
|
|
1829
|
+
"""current seq order"""
|
|
1830
|
+
return self._dataset.get_current_seq_order()
|
|
1831
|
+
|
|
1832
|
+
def get_all_tags(self) -> List[str]:
|
|
1833
|
+
"""all tags"""
|
|
1834
|
+
return self._dataset.get_all_tags()
|
|
1835
|
+
|
|
1836
|
+
def get_total_num_seqs(self) -> int:
|
|
1837
|
+
"""total num seqs"""
|
|
1838
|
+
return self._dataset.get_total_num_seqs()
|
|
1839
|
+
|
|
1840
|
+
def get_seq_length(self, sorted_seq_idx: int) -> NumbersDict:
|
|
1841
|
+
"""seq len"""
|
|
1842
|
+
return self._dataset.get_seq_length(sorted_seq_idx)
|
|
1843
|
+
|
|
1844
|
+
def get_tag(self, sorted_seq_idx: int) -> str:
|
|
1845
|
+
"""tag"""
|
|
1846
|
+
return self._dataset.get_tag(sorted_seq_idx)
|
|
1847
|
+
|
|
1848
|
+
def get_data_keys(self) -> List[str]:
|
|
1849
|
+
"""data keys"""
|
|
1850
|
+
return self._dataset.get_data_keys()
|
|
1851
|
+
|
|
1852
|
+
def get_target_list(self) -> List[str]:
|
|
1853
|
+
"""target list"""
|
|
1854
|
+
return self._dataset.get_target_list()
|
|
1855
|
+
|
|
1856
|
+
def is_cached(self, start: int, end: int) -> bool:
|
|
1857
|
+
"""is cached"""
|
|
1858
|
+
return self._dataset.is_cached(start, end)
|
|
1859
|
+
|
|
1860
|
+
@property
|
|
1861
|
+
def num_seqs(self) -> int:
|
|
1862
|
+
"""num seqs"""
|
|
1863
|
+
return self._dataset.num_seqs
|
|
1864
|
+
|
|
1865
|
+
def is_less_than_num_seqs(self, n: int) -> bool:
|
|
1866
|
+
"""n < num_seqs"""
|
|
1867
|
+
return self._dataset.is_less_than_num_seqs(n)
|
|
1868
|
+
|
|
1869
|
+
def get_num_timesteps(self) -> int:
|
|
1870
|
+
"""num timesteps"""
|
|
1871
|
+
return self._dataset.get_num_timesteps()
|
|
1872
|
+
|
|
1873
|
+
def load_seqs(self, start: int, end: int):
|
|
1874
|
+
"""load seqs"""
|
|
1875
|
+
self._dataset.load_seqs(start, end)
|
|
1876
|
+
|
|
1877
|
+
def _load_seqs(self, start: int, end: int):
|
|
1878
|
+
raise Exception(f"{self}: _load_seqs: should not get here")
|
|
1879
|
+
|
|
1880
|
+
def get_data(self, seq_idx: int, key: str) -> numpy.ndarray:
|
|
1881
|
+
"""data"""
|
|
1882
|
+
return self._dataset.get_data(seq_idx, key)
|
|
1883
|
+
|
|
1884
|
+
def get_input_data(self, seq_idx: int) -> numpy.ndarray:
|
|
1885
|
+
"""input data"""
|
|
1886
|
+
return self._dataset.get_input_data(seq_idx)
|
|
1887
|
+
|
|
1888
|
+
def get_targets(self, target: str, seq_idx: int) -> numpy.ndarray:
|
|
1889
|
+
"""target data"""
|
|
1890
|
+
return self._dataset.get_targets(target, seq_idx)
|
|
1891
|
+
|
|
1892
|
+
def get_data_dim(self, key: str) -> int:
|
|
1893
|
+
"""data dim"""
|
|
1894
|
+
return self._dataset.get_data_dim(key)
|
|
1895
|
+
|
|
1896
|
+
def get_data_shape(self, data_key: str) -> List[int]:
|
|
1897
|
+
"""data shape"""
|
|
1898
|
+
return self._dataset.get_data_shape(data_key)
|
|
1899
|
+
|
|
1900
|
+
def get_data_dtype(self, key: str) -> str:
|
|
1901
|
+
"""data dtype"""
|
|
1902
|
+
return self._dataset.get_data_dtype(key)
|
|
1903
|
+
|
|
1904
|
+
def is_data_sparse(self, key: str) -> bool:
|
|
1905
|
+
"""is data sparse"""
|
|
1906
|
+
return self._dataset.is_data_sparse(key)
|
|
1907
|
+
|
|
1908
|
+
|
|
1909
|
+
class AnythingDataset(Dataset):
|
|
1910
|
+
"""
|
|
1911
|
+
An infinite dataset, creating dummy (zero) data on the fly,
|
|
1912
|
+
given the data-keys and their shapes.
|
|
1913
|
+
|
|
1914
|
+
When this is used inside a :class:`MetaDataset`,
|
|
1915
|
+
controlled by the seqs list from another dataset,
|
|
1916
|
+
it will just take over whatever seq list is given.
|
|
1917
|
+
"""
|
|
1918
|
+
|
|
1919
|
+
def __init__(self, *, data_keys: Dict[str, Dict[str, Any]], **kwargs):
|
|
1920
|
+
"""
|
|
1921
|
+
:param data_keys: similar like extern_data. defines shape, dtype, sparse, dim, etc
|
|
1922
|
+
"""
|
|
1923
|
+
super().__init__(**kwargs)
|
|
1924
|
+
self._data_keys = data_keys
|
|
1925
|
+
self._input_key = next(iter(data_keys))
|
|
1926
|
+
self.num_inputs = data_keys[self._input_key]["dim"]
|
|
1927
|
+
self.num_outputs = {k: (v["dim"], len(v["shape"])) for (k, v) in data_keys.items()}
|
|
1928
|
+
self.labels = None
|
|
1929
|
+
self._seq_list = None
|
|
1930
|
+
self._seq_order = None
|
|
1931
|
+
|
|
1932
|
+
def init_seq_order(self, epoch=None, seq_list=None, seq_order=None):
|
|
1933
|
+
"""init seq order"""
|
|
1934
|
+
super().init_seq_order()
|
|
1935
|
+
self._seq_list = seq_list
|
|
1936
|
+
self._seq_order = seq_order
|
|
1937
|
+
|
|
1938
|
+
def supports_seq_order_sorting(self) -> bool:
|
|
1939
|
+
"""supports sorting"""
|
|
1940
|
+
return True
|
|
1941
|
+
|
|
1942
|
+
def get_current_seq_order(self) -> Sequence[int]:
|
|
1943
|
+
"""current seq order"""
|
|
1944
|
+
if self._seq_order is not None:
|
|
1945
|
+
return self._seq_order
|
|
1946
|
+
raise OptionalNotImplementedError
|
|
1947
|
+
|
|
1948
|
+
def have_seqs(self) -> bool:
|
|
1949
|
+
"""total num seqs"""
|
|
1950
|
+
return True
|
|
1951
|
+
|
|
1952
|
+
def get_seq_length(self, sorted_seq_idx: int) -> NumbersDict:
|
|
1953
|
+
"""seq len"""
|
|
1954
|
+
return NumbersDict(1)
|
|
1955
|
+
|
|
1956
|
+
def get_tag(self, sorted_seq_idx: int) -> str:
|
|
1957
|
+
"""tag"""
|
|
1958
|
+
if self._seq_list:
|
|
1959
|
+
return self._seq_list[sorted_seq_idx]
|
|
1960
|
+
return f"seq-{sorted_seq_idx}"
|
|
1961
|
+
|
|
1962
|
+
def get_data_keys(self) -> List[str]:
|
|
1963
|
+
"""data keys"""
|
|
1964
|
+
return list(self._data_keys)
|
|
1965
|
+
|
|
1966
|
+
def get_target_list(self) -> List[str]:
|
|
1967
|
+
"""target list"""
|
|
1968
|
+
return [key for key in self._data_keys if key != self._input_key]
|
|
1969
|
+
|
|
1970
|
+
def is_cached(self, start: int, end: int) -> bool:
|
|
1971
|
+
"""is cached"""
|
|
1972
|
+
return True
|
|
1973
|
+
|
|
1974
|
+
@property
|
|
1975
|
+
def num_seqs(self) -> int:
|
|
1976
|
+
"""num seqs"""
|
|
1977
|
+
if self._seq_order:
|
|
1978
|
+
return len(self._seq_order)
|
|
1979
|
+
if self._seq_list:
|
|
1980
|
+
return len(self._seq_list)
|
|
1981
|
+
raise NotImplementedError
|
|
1982
|
+
|
|
1983
|
+
def is_less_than_num_seqs(self, n: int) -> bool:
|
|
1984
|
+
"""n < num_seqs"""
|
|
1985
|
+
if self._seq_order:
|
|
1986
|
+
return n < len(self._seq_order)
|
|
1987
|
+
if self._seq_list:
|
|
1988
|
+
return n < len(self._seq_list)
|
|
1989
|
+
return True # we can always generate more
|
|
1990
|
+
|
|
1991
|
+
def _load_seqs(self, start: int, end: int):
|
|
1992
|
+
pass # noop
|
|
1993
|
+
|
|
1994
|
+
def get_data(self, seq_idx: int, key: str) -> numpy.ndarray:
|
|
1995
|
+
"""data"""
|
|
1996
|
+
data = self._data_keys[key]
|
|
1997
|
+
return numpy.zeros([d or 1 for d in data["shape"]], dtype=data["dtype"])
|
|
1998
|
+
|
|
1999
|
+
def get_input_data(self, seq_idx: int) -> numpy.ndarray:
|
|
2000
|
+
"""input data"""
|
|
2001
|
+
return self.get_data(seq_idx, self._input_key)
|
|
2002
|
+
|
|
2003
|
+
def get_targets(self, target: str, seq_idx: int) -> numpy.ndarray:
|
|
2004
|
+
"""target data"""
|
|
2005
|
+
return self.get_data(seq_idx, target)
|
|
2006
|
+
|
|
2007
|
+
def get_data_dim(self, key: str) -> int:
|
|
2008
|
+
"""data dim"""
|
|
2009
|
+
return self._data_keys[key]["dim"]
|
|
2010
|
+
|
|
2011
|
+
def get_data_shape(self, data_key: str) -> List[int]:
|
|
2012
|
+
"""data shape"""
|
|
2013
|
+
return list(self._data_keys[data_key]["shape"])
|
|
2014
|
+
|
|
2015
|
+
def get_data_dtype(self, key: str) -> str:
|
|
2016
|
+
"""data dtype"""
|
|
2017
|
+
return self._data_keys[key]["dtype"]
|
|
2018
|
+
|
|
2019
|
+
def is_data_sparse(self, key: str) -> bool:
|
|
2020
|
+
"""is data sparse"""
|
|
2021
|
+
return self._data_keys[key].get("sparse", False)
|
|
1782
2022
|
|
|
1783
2023
|
|
|
1784
2024
|
def _select_dtype(key, data_dims, data_dtypes):
|
|
@@ -4519,3 +4519,23 @@ def find_libcudart_from_runtime():
|
|
|
4519
4519
|
return fn
|
|
4520
4520
|
_find_libcudart_from_runtime_cached = [None]
|
|
4521
4521
|
return None
|
|
4522
|
+
|
|
4523
|
+
|
|
4524
|
+
@contextlib.contextmanager
|
|
4525
|
+
def override_env_var(var_name: str, value: str):
|
|
4526
|
+
"""
|
|
4527
|
+
context manager for temporarily overriding the value of an env var
|
|
4528
|
+
|
|
4529
|
+
:param var_name: the name of the environment variable to override
|
|
4530
|
+
:param value: the value to set while the context mgr is active
|
|
4531
|
+
"""
|
|
4532
|
+
|
|
4533
|
+
cur_val = os.environ.get(var_name)
|
|
4534
|
+
os.environ[var_name] = value
|
|
4535
|
+
try:
|
|
4536
|
+
yield
|
|
4537
|
+
finally:
|
|
4538
|
+
if cur_val is not None:
|
|
4539
|
+
os.environ[var_name] = cur_val
|
|
4540
|
+
else:
|
|
4541
|
+
os.environ.pop(var_name)
|
|
@@ -94,7 +94,7 @@ class NonDaemonicSpawnProcess(SpawnProcess):
|
|
|
94
94
|
signals = ["SIGINT"] * 3 + ["SIGTERM", "SIGKILL"]
|
|
95
95
|
for sig in signals:
|
|
96
96
|
try:
|
|
97
|
-
print(f"Send signal {sig} to pid {self.ident}")
|
|
97
|
+
print(f"Send signal {sig} to pid {self.ident}/'{self.name or 'N/A'}'")
|
|
98
98
|
os.kill(self.ident, getattr(signal, sig))
|
|
99
99
|
except ProcessLookupError:
|
|
100
100
|
break
|
|
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.20240607.133858 → returnn-1.20240610.111814}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-record-and-push-to-webserver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/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.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/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.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240607.133858 → returnn-1.20240610.111814}/demos/mdlstm/artificial_rgb/trainconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|