returnn 1.20240620.201955__tar.gz → 1.20240621.145554__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.20240620.201955 → returnn-1.20240621.145554}/CHANGELOG.md +142 -9
- {returnn-1.20240620.201955/returnn.egg-info → returnn-1.20240621.145554}/PKG-INFO +1 -1
- returnn-1.20240621.145554/_setup_info_generated.py +2 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/file_cache.py +15 -9
- {returnn-1.20240620.201955 → returnn-1.20240621.145554/returnn.egg-info}/PKG-INFO +1 -1
- returnn-1.20240620.201955/_setup_info_generated.py +0 -2
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/.editorconfig +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/.gitignore +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/.gitmodules +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/.kateconfig +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/CODEOWNERS +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/CONTRIBUTING.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/LICENSE +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/MANIFEST.in +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/README.rst +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/12AX.cluster_map +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-fwd.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-list-devices.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-pretrain.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-rf.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-torch.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo.sh +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/pyproject.toml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/requirements.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/__main__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/__setup__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/config.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/audio.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/basic.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/cached.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/generating.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/lm.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/map.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/meta.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/engine/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/engine/base.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/engine/batch.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/forward_iface.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/array_.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/attention.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/backend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/cond.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/const.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/container.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/conv.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/device.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/dims.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/graph.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/init.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/linear.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/loop.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/loss.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/math_.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/module.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/rand.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/rec.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/signal.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/state.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/frontend/types.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/import_/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/import_/common.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/import_/git.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/import_/import_.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/log.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/native_op.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/native_op.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/pretrain.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/sprint/cache.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/sprint/control.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/sprint/interface.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/dim.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tensor/utils.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/compat.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/distributed.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/engine.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/horovod.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/native_op.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/network.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/sprint.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/updater.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/util/data.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/distributed.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/engine.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/updater.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/util/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/__init__.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/basic.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/bpe.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/debug.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/fsa.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/math.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/pprint.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/py_compat.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/task_system.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/rnn.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/setup.cfg +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/setup.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/DummySprintExec.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/_setup_test_env.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/lint_common.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/pylint.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/rf_utils.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/spelling.dic +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_Config.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_Dataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_Fsa.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_Log.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_Pretrain.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_ResNet.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TFEngine.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TFUtil.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_Util.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_demos.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_fork_exec.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_array.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_attention.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_base.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_cond.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_const.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_container.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_conv.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_loop.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_math.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_rec.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_rf_signal.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_tensor.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_tools.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_torch_engine.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/collect-words.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/compile_native_op.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/dump-dataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/dump-forward.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/dump-network-json.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/dump-pickle.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/get-attention-weights.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/hdf_dump.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20240620.201955 → returnn-1.20240621.145554}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -6,6 +6,139 @@ or any changes which could potentially break or change the behavior of existing
|
|
|
6
6
|
This is intentionally kept short. For a full change log, just see the Git log.
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## 2024-06-07: `VariableDataset`
|
|
10
|
+
|
|
11
|
+
Custom subdataset per subepoch based on user-provided function.
|
|
12
|
+
Can be useful for advanced training pipeline
|
|
13
|
+
where you create some HDFs on-the-fly (e.g. for alignments)
|
|
14
|
+
and then want to load them in later epochs.
|
|
15
|
+
|
|
16
|
+
## 2024-05-28: [`DistributeFilesDataset`](https://github.com/rwth-i6/returnn/blob/master/returnn/datasets/distrib_files.py) ([PR #1521](https://github.com/rwth-i6/returnn/pull/1521), [issue #1519](https://github.com/rwth-i6/returnn/issues/1519))
|
|
17
|
+
|
|
18
|
+
`DistributeDataset` together with `FileCache`
|
|
19
|
+
allows to train on very large datasets which do not fit on the local disk.
|
|
20
|
+
`DistributeDataset` operates on a list of files,
|
|
21
|
+
and for each sub-epoch will only select a subset of the files,
|
|
22
|
+
and `FileCache` will cache the files locally.
|
|
23
|
+
|
|
24
|
+
It also was specifically designed with distributed training in mind.
|
|
25
|
+
The distributed random_seed_offset method can be used,
|
|
26
|
+
but sharding is also supported ([PR #1538](https://github.com/rwth-i6/returnn/pull/1538)).
|
|
27
|
+
|
|
28
|
+
## 2023-11-09: `LearningRateControl` saves more meta info in learning-rate-file
|
|
29
|
+
|
|
30
|
+
Like effective learning rate (after `dynamic_learning_rate`),
|
|
31
|
+
training step, GPU, RETURNN version, etc.
|
|
32
|
+
(Was extended a bit over time.)
|
|
33
|
+
|
|
34
|
+
## 2024-01-09: [Train proc manager](https://github.com/rwth-i6/returnn/blob/master/returnn/util/train_proc_manager.py)
|
|
35
|
+
|
|
36
|
+
Auto restart RETURNN on crashes under certain conditions
|
|
37
|
+
(e.g. it must have trained at least one epoch successfully since the most recent restart).
|
|
38
|
+
|
|
39
|
+
## 2023-12-30: PyTorch handle OOM for forwarding, auto-split batch
|
|
40
|
+
|
|
41
|
+
This went through several iterations of approaches,
|
|
42
|
+
stumbling through a number of CPython and PyTorch bugs,
|
|
43
|
+
e.g. [CPython #113939](https://github.com/python/cpython/issues/113939),
|
|
44
|
+
[PyTorch #18853](https://github.com/pytorch/pytorch/issues/18853),
|
|
45
|
+
[PyTorch #27600](https://github.com/pytorch/pytorch/issues/27600).
|
|
46
|
+
|
|
47
|
+
## 2023-12-23: PyTorch distributed training with param averaging
|
|
48
|
+
|
|
49
|
+
In the `torch_distributed` config dict: Set `"reduce_type": "param"` and `"param_sync_step": ...`.
|
|
50
|
+
|
|
51
|
+
## 2023-10-24: [`watch_memory`](https://github.com/rwth-i6/returnn/blob/master/returnn/util/watch_memory.py): watches memory of all procs
|
|
52
|
+
|
|
53
|
+
## 2023-10-03: RETURNN frontend (RF) native helpers ([PR #1403](https://github.com/rwth-i6/returnn/pull/1403))
|
|
54
|
+
|
|
55
|
+
## 2023-06-09: PyTorch distributed training ([PR #1335](https://github.com/rwth-i6/returnn/pull/1335), [issue #1332](https://github.com/rwth-i6/returnn/issues/1332))
|
|
56
|
+
|
|
57
|
+
`torch_distributed` config setting.
|
|
58
|
+
Using the official PyTorch `DistributedDataParallel`, i.e. synchronized accumulated gradients.
|
|
59
|
+
Each worker uses a different `random_seed_offset` for the dataset.
|
|
60
|
+
|
|
61
|
+
## 2023-05-15: PyTorch automatic mixed precision (AMP) support ([PR #1322](https://github.com/rwth-i6/returnn/pull/1322))
|
|
62
|
+
|
|
63
|
+
## 2023-04-03: PyTorch `preload_from_files` support ([PR #1292](https://github.com/rwth-i6/returnn/pull/1292))
|
|
64
|
+
|
|
65
|
+
## 2023-03-26: [`MultiProcDataset`](https://github.com/rwth-i6/returnn/blob/master/returnn/datasets/multi_proc.py)
|
|
66
|
+
|
|
67
|
+
## 2023-02-24: Make [`Tensor` and `Dim`](https://returnn.readthedocs.io/en/latest/getting_started/data.html) backend independent ([PR #1261](https://github.com/rwth-i6/returnn/pull/1261), [issue #1165](https://github.com/rwth-i6/returnn/issues/1165))
|
|
68
|
+
|
|
69
|
+
* Rename `Data` to `Tensor`, `DimensionTag` to `Dim`.
|
|
70
|
+
* Before, in our `Tensor`, the `placeholder` (now `raw_tensor`) was either None (as a template)
|
|
71
|
+
or a TensorFlow tensor (`tf.Tensor`).
|
|
72
|
+
Now it can support any raw tensor type.
|
|
73
|
+
* Now `Tensor` and `Dim` are moved to `returnn.tensor`.
|
|
74
|
+
|
|
75
|
+
## 2023-02-20: RETURNN frontend (RF) ([issue #1120](https://github.com/rwth-i6/returnn/issues/1120), [issue #1264](https://github.com/rwth-i6/returnn/issues/1264))
|
|
76
|
+
|
|
77
|
+
Modern alternative to the network dictionary to define models.
|
|
78
|
+
Using Python code to define the network,
|
|
79
|
+
very similar to how it is done in PyTorch or Keras or Flax.
|
|
80
|
+
|
|
81
|
+
This evolved from [`returnn_common.nn`](https://github.com/rwth-i6/returnn_common/tree/main/nn) ([example](https://github.com/rwth-i6/returnn_common/wiki/RETURNN-example-config)),
|
|
82
|
+
which provided already a very similar API.
|
|
83
|
+
But now, we build it such that we support multiple backends.
|
|
84
|
+
Specifically, the current supported (or planned) backends:
|
|
85
|
+
|
|
86
|
+
* PyTorch (fully supported)
|
|
87
|
+
* RETURNN network dictionary (TensorFlow) (fully supported)
|
|
88
|
+
(copied the `returnn_common.nn` code)
|
|
89
|
+
(this might be deprecated in the future)
|
|
90
|
+
* TensorFlow (directly) (mostly supported)
|
|
91
|
+
* NumPy (partially supported)
|
|
92
|
+
* JAX (planned)
|
|
93
|
+
|
|
94
|
+
## 2023-02-03: Use `black`, drop Python 2 support ([PR #1255](https://github.com/rwth-i6/returnn/pull/1255), [issue #487](https://github.com/rwth-i6/returnn/issues/487), [issue #1158](https://github.com/rwth-i6/returnn/issues/1158))
|
|
95
|
+
|
|
96
|
+
## 2022-10-24: Remove Theano backend ([PR #1164](https://github.com/rwth-i6/returnn/pull/1164))
|
|
97
|
+
|
|
98
|
+
## 2022-09-12: PyTorch backend started ([issue #1120](https://github.com/rwth-i6/returnn/issues/1120))
|
|
99
|
+
|
|
100
|
+
This evolved over time.
|
|
101
|
+
It was planned from the beginning
|
|
102
|
+
to support pure PyTorch models defined by the user
|
|
103
|
+
but also RETURNN frontend (RF) models.
|
|
104
|
+
|
|
105
|
+
## 2022-04-24: TF eager execution initial support
|
|
106
|
+
|
|
107
|
+
## 2022-02-11: TF loss auto-flatten optimization ([PR #906](https://github.com/rwth-i6/returnn/pull/906))
|
|
108
|
+
|
|
109
|
+
## 2021-09-12: TF generalized attention, `CumConcatLayer` ([PR #589](https://github.com/rwth-i6/returnn/pull/589), [issue #391](https://github.com/rwth-i6/returnn/issues/391))
|
|
110
|
+
|
|
111
|
+
Generalizes `SelfAttentionLayer` to allow for more custom variants.
|
|
112
|
+
The difficulties were to support this when being inside a `RecLayer`
|
|
113
|
+
and then when the optimization would move it outside the loop.
|
|
114
|
+
For this, we introduced `CumConcatLayer`.
|
|
115
|
+
[Example config for decoder self-attention](https://github.com/rwth-i6/returnn/issues/391#issuecomment-917517032).
|
|
116
|
+
This can also be used just in the encoder, i.e. outside a `RecLayer` anyway
|
|
117
|
+
via `ReinterpretDataLayer` to create a new dim tag.
|
|
118
|
+
[Example config for encoder self-attention](https://github.com/rwth-i6/returnn/issues/391#issuecomment-919873563).
|
|
119
|
+
|
|
120
|
+
## 2021-08-25: Explicit `Data` dimension tags ([PR #579](https://github.com/rwth-i6/returnn/pull/579))
|
|
121
|
+
|
|
122
|
+
`Data` (later called `Tensor`) has `dim_tags` (later called `dims`)
|
|
123
|
+
to describe the full shape, i.e. the dims of each axis.
|
|
124
|
+
These are `DimensionTag` (later `Dim`) objects.
|
|
125
|
+
Before this change, we already had dim tags but only for dynamic dims.
|
|
126
|
+
Now they are consistently used for all dims.
|
|
127
|
+
This makes everything more consistent and more in line
|
|
128
|
+
with other named tensors / named dimensions frameworks.
|
|
129
|
+
|
|
130
|
+
## 2021-06-11: [Behavior versions](https://returnn.readthedocs.io/en/latest/configuration_reference/behavior_version.html) ([PR #534](https://github.com/rwth-i6/returnn/pull/534), [issue #508](https://github.com/rwth-i6/returnn/issues/508))
|
|
131
|
+
|
|
132
|
+
Setting `behavior_version` in config control the behavior of RETURNN
|
|
133
|
+
and allows to update bad/buggy/broken behavior without changing behavior for existing setups.
|
|
134
|
+
|
|
135
|
+
## 2021-06-04: Start of [`returnn_common.nn`](https://github.com/rwth-i6/returnn_common/tree/main/nn)
|
|
136
|
+
|
|
137
|
+
Allows to define the RETURNN network dictionary using a more modern Python API,
|
|
138
|
+
very similar to PyTorch or Keras.
|
|
139
|
+
[Example](https://github.com/rwth-i6/returnn_common/wiki/RETURNN-example-config).
|
|
140
|
+
Note that this later got merged into RETURNN frontend (RF).
|
|
141
|
+
|
|
9
142
|
## 2021-03-18: Subnetwork sub layer can be independent ([#473](https://github.com/rwth-i6/returnn/pull/473))
|
|
10
143
|
|
|
11
144
|
This has an effect on recurrent subnetworks.
|
|
@@ -103,25 +236,25 @@ This will show the same information as before, but much more compact,
|
|
|
103
236
|
and also in addition the dimension tags (`DimensionTag`),
|
|
104
237
|
which also got improved in many further cases.
|
|
105
238
|
|
|
106
|
-
## 2019-08-07:
|
|
239
|
+
## 2019-08-07: Overlay nets (`extra_nets`)
|
|
107
240
|
|
|
108
241
|
You can have e.g. multiple additional networks which redefine
|
|
109
242
|
existing layers (they would automatically share params),
|
|
110
243
|
which can use different flags (e.g. enable the search flag).
|
|
111
244
|
|
|
112
|
-
## 2019-07:
|
|
245
|
+
## 2019-07: Multiple stochastic (latent) variables
|
|
113
246
|
|
|
114
247
|
It was designed to support this from the very beginning,
|
|
115
248
|
but the implementation was never fully finished for this.
|
|
116
249
|
Now examples like hard attention work.
|
|
117
250
|
|
|
118
|
-
## 2019-05:
|
|
251
|
+
## 2019-05: Better support for RETURNN as a framework
|
|
119
252
|
|
|
120
253
|
`pip install returnn`, and then `import returnn`.
|
|
121
254
|
|
|
122
|
-
## 2019-03-29:
|
|
255
|
+
## 2019-03-29: Remove hard Theano dependency
|
|
123
256
|
|
|
124
|
-
## 2019-03-24 and ongoing:
|
|
257
|
+
## 2019-03-24 and ongoing: Automatic linter checks
|
|
125
258
|
|
|
126
259
|
Currently pylint and PyCharm inspection checks automatically run in Travis.
|
|
127
260
|
Both have some false positives, but so far the PyCharm inspections seems much more sane.
|
|
@@ -180,16 +313,16 @@ and then later `SplitBatchTimeLayer` to get the time-axis back, it was likely in
|
|
|
180
313
|
|
|
181
314
|
## 2019-01-30: video: RETURNN overview
|
|
182
315
|
|
|
183
|
-
## 2018-08:
|
|
316
|
+
## 2018-08: Multi-GPU support via [Horovod](https://github.com/horovod/horovod)
|
|
184
317
|
|
|
185
|
-
## 2017-05:
|
|
318
|
+
## 2017-05: Flexible `RecLayer`, encoder-decoder attention, beam search (Albert Zeyer)
|
|
186
319
|
|
|
187
|
-
## 2016-12:
|
|
320
|
+
## 2016-12: Start on [TensorFlow](https://www.tensorflow.org/) support (Albert Zeyer)
|
|
188
321
|
|
|
189
322
|
Initial working support already finished within that month.
|
|
190
323
|
TF 0.12.0.
|
|
191
324
|
|
|
192
|
-
## 2015-07:
|
|
325
|
+
## 2015-07: Fast CUDA LSTM kernel (Paul Voigtlaender)
|
|
193
326
|
## 2015-03: `SprintDataset`, interface to [RASR](https://www-i6.informatik.rwth-aachen.de/rwth-asr/) (Albert Zeyer)
|
|
194
327
|
## 2015-01: Albert Zeyer joined
|
|
195
328
|
## ~2013-2014 (?): Patrick Doetsch started the project (Theano)
|
|
@@ -55,8 +55,9 @@ class FileCache:
|
|
|
55
55
|
*,
|
|
56
56
|
cache_directory: str = "$TMPDIR/$USER/returnn/file_cache",
|
|
57
57
|
cleanup_files_always_older_than_days: float = 31.0,
|
|
58
|
-
cleanup_files_wanted_older_than_days: float =
|
|
58
|
+
cleanup_files_wanted_older_than_days: float = 1.0,
|
|
59
59
|
cleanup_disk_usage_wanted_free_ratio: float = 0.2, # try to free at least 20% disk space
|
|
60
|
+
cleanup_disk_usage_wanted_multiplier: float = 2.0, # try to free 2x the required space for a file
|
|
60
61
|
num_tries: int = 3, # retry twice by default
|
|
61
62
|
):
|
|
62
63
|
"""
|
|
@@ -66,12 +67,16 @@ class FileCache:
|
|
|
66
67
|
:param cleanup_files_wanted_older_than_days: if cleanup_disk_usage_wanted_free_ratio not reached,
|
|
67
68
|
cleanup files older than this.
|
|
68
69
|
:param cleanup_disk_usage_wanted_free_ratio: try to free at least this ratio of disk space.
|
|
70
|
+
:param cleanup_disk_usage_wanted_multiplier: when making space for a new file, try to free at
|
|
71
|
+
least this times as much space.
|
|
69
72
|
:param num_tries: how many times to try caching a file before giving up
|
|
70
73
|
"""
|
|
71
74
|
self.cache_directory = expand_env_vars(cache_directory)
|
|
72
75
|
self._cleanup_files_always_older_than_days = cleanup_files_always_older_than_days
|
|
73
76
|
self._cleanup_files_wanted_older_than_days = cleanup_files_wanted_older_than_days
|
|
74
77
|
self._cleanup_disk_usage_wanted_free_ratio = cleanup_disk_usage_wanted_free_ratio
|
|
78
|
+
assert cleanup_disk_usage_wanted_multiplier >= 1.0
|
|
79
|
+
self._cleanup_disk_usage_wanted_multiplier = cleanup_disk_usage_wanted_multiplier
|
|
75
80
|
self._touch_files_thread = _TouchFilesThread(cache_base_dir=self.cache_directory)
|
|
76
81
|
self._touch_files_thread.start()
|
|
77
82
|
self._recent_full_cleanup_time = float("-inf")
|
|
@@ -143,7 +148,8 @@ class FileCache:
|
|
|
143
148
|
return
|
|
144
149
|
disk_usage = shutil.disk_usage(self.cache_directory)
|
|
145
150
|
want_free_space_size = max(
|
|
146
|
-
|
|
151
|
+
int(self._cleanup_disk_usage_wanted_multiplier * need_at_least_free_space_size),
|
|
152
|
+
int(self._cleanup_disk_usage_wanted_free_ratio * disk_usage.total),
|
|
147
153
|
)
|
|
148
154
|
# If we have enough free space, and we did a full cleanup recently, we don't need to do anything.
|
|
149
155
|
if want_free_space_size <= disk_usage.free and time.monotonic() - self._recent_full_cleanup_time < 60 * 10:
|
|
@@ -282,24 +288,24 @@ class FileCache:
|
|
|
282
288
|
"""
|
|
283
289
|
Copy the file to the cache directory.
|
|
284
290
|
"""
|
|
285
|
-
if self._check_existing_copied_file_maybe_cleanup(src_filename, dst_filename):
|
|
286
|
-
os.utime(dst_filename, None) # touch
|
|
287
|
-
return
|
|
288
|
-
|
|
289
291
|
# Create dirs.
|
|
290
292
|
dst_dir = os.path.dirname(dst_filename)
|
|
291
293
|
os.makedirs(dst_dir, exist_ok=True)
|
|
292
294
|
|
|
293
295
|
# Copy the file, while holding a lock. See comment on lock_timeout above.
|
|
294
|
-
with LockFile(
|
|
296
|
+
with LockFile(
|
|
297
|
+
directory=dst_dir, name=os.path.basename(dst_filename) + ".lock", lock_timeout=self._lock_timeout
|
|
298
|
+
) as lock:
|
|
295
299
|
# Maybe it was copied in the meantime, while waiting for the lock.
|
|
296
300
|
if self._check_existing_copied_file_maybe_cleanup(src_filename, dst_filename):
|
|
301
|
+
print(f"FileCache: using existing file {dst_filename}")
|
|
302
|
+
os.utime(dst_filename, None) # touch
|
|
297
303
|
return
|
|
298
304
|
|
|
299
305
|
print(f"FileCache: Copy file {src_filename} to cache")
|
|
300
306
|
|
|
301
|
-
# Make sure we have enough disk space
|
|
302
|
-
self.cleanup(need_at_least_free_space_size=os.stat(src_filename).st_size)
|
|
307
|
+
# Make sure we have enough disk space, st_size +1 due to _copy_with_prealloc
|
|
308
|
+
self.cleanup(need_at_least_free_space_size=os.stat(src_filename).st_size + 1)
|
|
303
309
|
|
|
304
310
|
dst_tmp_filename = dst_filename + ".copy"
|
|
305
311
|
if os.path.exists(dst_tmp_filename):
|
|
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.20240620.201955 → returnn-1.20240621.145554}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/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.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/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.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/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.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/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
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/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.20240620.201955 → returnn-1.20240621.145554}/returnn/datasets/util/feature_extraction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/.git
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/.gitignore
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/LICENSE
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/README.md
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/aligner.gif
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/check.png
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/core.cu
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/returnn/extern/WarpRna/warp-rna/core.h
RENAMED
|
File without changes
|
{returnn-1.20240620.201955 → returnn-1.20240621.145554}/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
|