returnn 1.20240723.142327__tar.gz → 1.20240723.155747__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.20240723.142327 → returnn-1.20240723.155747}/PKG-INFO +1 -1
- returnn-1.20240723.155747/_setup_info_generated.py +2 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/audio.py +1 -1
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/lm.py +102 -55
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn.egg-info/PKG-INFO +1 -1
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_Dataset.py +152 -0
- returnn-1.20240723.142327/_setup_info_generated.py +0 -2
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/.editorconfig +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/.gitignore +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/.gitmodules +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/.kateconfig +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/CHANGELOG.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/CODEOWNERS +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/CONTRIBUTING.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/LICENSE +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/MANIFEST.in +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/README.rst +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/12AX.cluster_map +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-fwd.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-list-devices.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-pretrain.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-rf.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-torch.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo.sh +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/pyproject.toml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/requirements.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/__main__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/__setup__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/config.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/basic.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/cached.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/generating.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/hdf.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/map.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/meta.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/engine/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/engine/base.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/engine/batch.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/forward_iface.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/array_.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/attention.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/backend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/cond.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/const.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/container.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/conv.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/device.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/dims.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/graph.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/init.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/linear.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/loop.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/loss.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/math_.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/module.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/rand.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/rec.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/signal.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/state.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/frontend/types.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/import_/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/import_/common.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/import_/git.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/import_/import_.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/log.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/native_op.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/native_op.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/pretrain.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/sprint/cache.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/sprint/control.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/sprint/interface.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/dim.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tensor/utils.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/compat.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/distributed.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/engine.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/horovod.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/native_op.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/network.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/sprint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/updater.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/util/data.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/distributed.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/engine.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/updater.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/util/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/__init__.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/basic.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/better_exchook.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/bpe.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/debug.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/file_cache.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/fsa.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/math.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/pprint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/py_compat.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/task_system.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn.egg-info/SOURCES.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/rnn.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/setup.cfg +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/setup.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/DummySprintExec.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/_setup_test_env.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/lint_common.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/pylint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/rf_utils.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/spelling.dic +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_Config.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_Fsa.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_HDFDataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_Log.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_Pretrain.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_ResNet.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TFEngine.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TFUtil.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_Util.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_demos.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_fork_exec.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_array.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_attention.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_base.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_cond.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_const.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_container.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_conv.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_loop.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_math.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_rec.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_rf_signal.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_tensor.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_tools.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_torch_engine.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/test_torch_util.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tests/torch_utils.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/collect-words.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/compile_native_op.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/dump-dataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/dump-forward.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/dump-network-json.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/dump-pickle.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/get-attention-weights.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/hdf_dump.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20240723.142327 → returnn-1.20240723.155747}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -62,7 +62,7 @@ class OggZipDataset(CachedDataset2):
|
|
|
62
62
|
(e.g. :class:`BytePairEncoding`)
|
|
63
63
|
:param str|list[str]|((str)->str)|None targets_post_process: :func:`get_post_processor_function`,
|
|
64
64
|
applied on orth
|
|
65
|
-
:param bool use_cache_manager: uses :func:`
|
|
65
|
+
:param bool use_cache_manager: uses :func:`returnn.util.basic.cf`
|
|
66
66
|
:param str|None segment_file: .txt or .gz text file containing sequence tags that will be used as whitelist
|
|
67
67
|
:param bool zip_audio_files_have_name_as_prefix:
|
|
68
68
|
:param float|int|None fixed_random_subset:
|
|
@@ -17,12 +17,13 @@ import xml.etree.ElementTree as ElementTree
|
|
|
17
17
|
import numpy
|
|
18
18
|
from random import Random
|
|
19
19
|
|
|
20
|
-
from returnn.util.basic import parse_orthography, parse_orthography_into_symbols, load_json, unicode
|
|
20
|
+
from returnn.util.basic import parse_orthography, parse_orthography_into_symbols, load_json, unicode, cf
|
|
21
21
|
from returnn.util.literal_py_to_pickle import literal_eval
|
|
22
22
|
from returnn.log import log
|
|
23
23
|
|
|
24
24
|
from .basic import DatasetSeq
|
|
25
25
|
from .cached2 import CachedDataset2
|
|
26
|
+
from .util.vocabulary import Vocabulary
|
|
26
27
|
|
|
27
28
|
|
|
28
29
|
class LmDataset(CachedDataset2):
|
|
@@ -36,7 +37,9 @@ class LmDataset(CachedDataset2):
|
|
|
36
37
|
def __init__(
|
|
37
38
|
self,
|
|
38
39
|
corpus_file,
|
|
40
|
+
use_cache_manager=False,
|
|
39
41
|
skip_empty_lines=True,
|
|
42
|
+
orth_vocab=None,
|
|
40
43
|
orth_symbols_file=None,
|
|
41
44
|
orth_symbols_map_file=None,
|
|
42
45
|
orth_replace_map_file=None,
|
|
@@ -75,7 +78,9 @@ class LmDataset(CachedDataset2):
|
|
|
75
78
|
mapping from symbol to integer index (in case ``phone_info`` is not set).
|
|
76
79
|
|
|
77
80
|
:param str|()->str|list[str]|()->list[str] corpus_file: Bliss XML or line-based txt. optionally can be gzip.
|
|
81
|
+
:param bool use_cache_manager: uses :func:`returnn.util.basic.cf`
|
|
78
82
|
:param bool skip_empty_lines: for line-based txt
|
|
83
|
+
:param dict[str,typing.Any]|Vocabulary orth_vocab:
|
|
79
84
|
:param str|()->str|None orth_symbols_file: a text file containing a list of orthography symbols
|
|
80
85
|
:param str|()->str|None orth_symbols_map_file: either a list of orth symbols, each line: "<symbol> <index>",
|
|
81
86
|
a python dict with {"<symbol>": <index>, ...}
|
|
@@ -87,7 +92,7 @@ class LmDataset(CachedDataset2):
|
|
|
87
92
|
:param str|None seq_end_symbol: what to add at the end, if given.
|
|
88
93
|
will be set as postfix=[seq_end_symbol] or postfix=[] for parse_orth_opts.
|
|
89
94
|
:param str|None unknown_symbol: token to represent unknown words.
|
|
90
|
-
:param dict[str]|None parse_orth_opts: kwargs for parse_orthography().
|
|
95
|
+
:param dict[str,typing.Any]|None parse_orth_opts: kwargs for parse_orthography().
|
|
91
96
|
:param dict|None phone_info: A dict containing parameters including a lexicon file for
|
|
92
97
|
:class:`LmDataset.PhoneSeqGenerator`.
|
|
93
98
|
:param int add_random_phone_seqs: will add random seqs with the same len as the real seq as additional data.
|
|
@@ -102,6 +107,14 @@ class LmDataset(CachedDataset2):
|
|
|
102
107
|
"""
|
|
103
108
|
super(LmDataset, self).__init__(**kwargs)
|
|
104
109
|
|
|
110
|
+
self._corpus_file = corpus_file
|
|
111
|
+
self._use_cache_manager = use_cache_manager
|
|
112
|
+
self._skip_empty_lines = skip_empty_lines
|
|
113
|
+
self._orth_symbols_file = orth_symbols_file
|
|
114
|
+
self._orth_symbols_map_file = orth_symbols_map_file
|
|
115
|
+
self._orth_replace_map_file = orth_replace_map_file
|
|
116
|
+
self._phone_info = phone_info
|
|
117
|
+
|
|
105
118
|
if callable(corpus_file):
|
|
106
119
|
corpus_file = corpus_file()
|
|
107
120
|
if callable(orth_symbols_file):
|
|
@@ -117,30 +130,31 @@ class LmDataset(CachedDataset2):
|
|
|
117
130
|
self.word_end_symbol = word_end_symbol
|
|
118
131
|
self.seq_end_symbol = seq_end_symbol
|
|
119
132
|
self.unknown_symbol = unknown_symbol
|
|
120
|
-
self.parse_orth_opts = parse_orth_opts or {}
|
|
121
|
-
self.parse_orth_opts.setdefault("word_based", self.word_based)
|
|
122
|
-
if self.word_end_symbol and not self.word_based: # Character-based modeling and word_end_symbol is specified.
|
|
123
|
-
# In this case, sentences end with self.word_end_symbol followed by the self.seq_end_symbol.
|
|
124
|
-
self.parse_orth_opts.setdefault(
|
|
125
|
-
"postfix",
|
|
126
|
-
(
|
|
127
|
-
[self.word_end_symbol, self.seq_end_symbol]
|
|
128
|
-
if self.seq_end_symbol is not None
|
|
129
|
-
else [self.word_end_symbol]
|
|
130
|
-
),
|
|
131
|
-
)
|
|
132
|
-
else:
|
|
133
|
-
self.parse_orth_opts.setdefault("postfix", [self.seq_end_symbol] if self.seq_end_symbol is not None else [])
|
|
134
133
|
|
|
135
|
-
|
|
134
|
+
self.orth_vocab = None
|
|
135
|
+
self.orth_symbols = None
|
|
136
|
+
self.orth_symbols_map = None
|
|
137
|
+
self.seq_gen = None
|
|
138
|
+
if orth_vocab:
|
|
139
|
+
assert not orth_symbols_file, "LmDataset: either orth_vocab or orth_symbols_file"
|
|
140
|
+
assert not phone_info, "LmDataset: either orth_vocab or phone_info"
|
|
141
|
+
assert not orth_symbols_map_file, "LmDataset: either orth_vocab or orth_symbols_map_file"
|
|
142
|
+
assert not auto_replace_unknown_symbol, "LmDataset: auto_replace_unknown_symbol is controlled via the vocab"
|
|
143
|
+
if isinstance(orth_vocab, dict):
|
|
144
|
+
self.orth_vocab = Vocabulary.create_vocab(**orth_vocab)
|
|
145
|
+
elif isinstance(orth_vocab, Vocabulary):
|
|
146
|
+
self.orth_vocab = orth_vocab
|
|
147
|
+
else:
|
|
148
|
+
raise TypeError(f"LmDataset: unexpected orth_vocab type {type(orth_vocab)}")
|
|
149
|
+
self.labels["data"] = self.orth_vocab.labels
|
|
150
|
+
elif orth_symbols_file:
|
|
136
151
|
assert not phone_info
|
|
137
152
|
assert not orth_symbols_map_file
|
|
138
153
|
orth_symbols = open(orth_symbols_file).read().splitlines()
|
|
139
154
|
self.orth_symbols_map = {sym: i for (i, sym) in enumerate(orth_symbols)}
|
|
140
155
|
self.orth_symbols = orth_symbols
|
|
141
156
|
self.labels["data"] = orth_symbols
|
|
142
|
-
|
|
143
|
-
if orth_symbols_map_file and orth_symbols_map_file.endswith(".pkl"):
|
|
157
|
+
elif orth_symbols_map_file and orth_symbols_map_file.endswith(".pkl"):
|
|
144
158
|
import pickle
|
|
145
159
|
|
|
146
160
|
with open(orth_symbols_map_file, "rb") as f:
|
|
@@ -148,7 +162,6 @@ class LmDataset(CachedDataset2):
|
|
|
148
162
|
self.orth_symbols = self.orth_symbols_map.keys()
|
|
149
163
|
reverse_map = {i: sym for (sym, i) in sorted(self.orth_symbols_map.items())}
|
|
150
164
|
self.labels["data"] = [sym for (i, sym) in sorted(reverse_map.items())]
|
|
151
|
-
self.seq_gen = None
|
|
152
165
|
elif orth_symbols_map_file:
|
|
153
166
|
assert not phone_info
|
|
154
167
|
with open(orth_symbols_map_file, "r") as f:
|
|
@@ -169,30 +182,57 @@ class LmDataset(CachedDataset2):
|
|
|
169
182
|
self.orth_symbols = [sym for (i, sym) in orth_symbols_imap_list]
|
|
170
183
|
reverse_map = {i: sym for (i, sym) in orth_symbols_imap_list}
|
|
171
184
|
self.labels["data"] = [sym for (i, sym) in sorted(reverse_map.items())]
|
|
172
|
-
|
|
173
|
-
else:
|
|
185
|
+
elif phone_info is not None:
|
|
174
186
|
assert not orth_symbols_file
|
|
175
187
|
assert isinstance(phone_info, dict)
|
|
176
188
|
self.seq_gen = PhoneSeqGenerator(**phone_info)
|
|
177
|
-
self.orth_symbols = None
|
|
178
189
|
self.labels["data"] = self.seq_gen.get_class_labels()
|
|
179
|
-
if orth_replace_map_file:
|
|
180
|
-
orth_replace_map = load_json(filename=orth_replace_map_file)
|
|
181
|
-
assert isinstance(orth_replace_map, dict)
|
|
182
|
-
self.orth_replace_map = {
|
|
183
|
-
key: parse_orthography_into_symbols(v, word_based=self.word_based)
|
|
184
|
-
for (key, v) in orth_replace_map.items()
|
|
185
|
-
}
|
|
186
|
-
if self.orth_replace_map:
|
|
187
|
-
if len(self.orth_replace_map) <= 5:
|
|
188
|
-
print(" orth_replace_map: %r" % self.orth_replace_map, file=log.v5)
|
|
189
|
-
else:
|
|
190
|
-
print(" orth_replace_map: %i entries" % len(self.orth_replace_map), file=log.v5)
|
|
191
190
|
else:
|
|
192
|
-
|
|
191
|
+
raise ValueError("LmDataset: need orth_symbols_file or orth_symbols_map_file or phone_info")
|
|
192
|
+
|
|
193
|
+
self.parse_orth_opts = None
|
|
194
|
+
if self.orth_symbols is not None:
|
|
195
|
+
self.parse_orth_opts = parse_orth_opts.copy() if parse_orth_opts else {}
|
|
196
|
+
self.parse_orth_opts.setdefault("word_based", self.word_based)
|
|
197
|
+
if self.word_end_symbol and not self.word_based:
|
|
198
|
+
# Character-based modeling and word_end_symbol is specified.
|
|
199
|
+
# In this case, sentences end with self.word_end_symbol followed by the self.seq_end_symbol.
|
|
200
|
+
self.parse_orth_opts.setdefault(
|
|
201
|
+
"postfix",
|
|
202
|
+
(
|
|
203
|
+
[self.word_end_symbol, self.seq_end_symbol]
|
|
204
|
+
if self.seq_end_symbol is not None
|
|
205
|
+
else [self.word_end_symbol]
|
|
206
|
+
),
|
|
207
|
+
)
|
|
208
|
+
else:
|
|
209
|
+
self.parse_orth_opts.setdefault(
|
|
210
|
+
"postfix", [self.seq_end_symbol] if self.seq_end_symbol is not None else []
|
|
211
|
+
)
|
|
212
|
+
else:
|
|
213
|
+
assert not parse_orth_opts
|
|
214
|
+
|
|
215
|
+
self.orth_replace_map = None
|
|
216
|
+
if self.orth_symbols is not None:
|
|
217
|
+
if orth_replace_map_file:
|
|
218
|
+
orth_replace_map = load_json(filename=orth_replace_map_file)
|
|
219
|
+
assert isinstance(orth_replace_map, dict)
|
|
220
|
+
self.orth_replace_map = {
|
|
221
|
+
key: parse_orthography_into_symbols(v, word_based=self.word_based)
|
|
222
|
+
for (key, v) in orth_replace_map.items()
|
|
223
|
+
}
|
|
224
|
+
if self.orth_replace_map:
|
|
225
|
+
if len(self.orth_replace_map) <= 5:
|
|
226
|
+
print(" orth_replace_map: %r" % self.orth_replace_map, file=log.v5)
|
|
227
|
+
else:
|
|
228
|
+
print(" orth_replace_map: %i entries" % len(self.orth_replace_map), file=log.v5)
|
|
229
|
+
else:
|
|
230
|
+
self.orth_replace_map = {}
|
|
193
231
|
|
|
194
|
-
|
|
195
|
-
|
|
232
|
+
if word_end_symbol and not word_based: # Character-based modeling and word_end_symbol is specified.
|
|
233
|
+
self.orth_replace_map[" "] = [word_end_symbol] # Replace all spaces by word_end_symbol.
|
|
234
|
+
else:
|
|
235
|
+
assert not orth_replace_map_file
|
|
196
236
|
|
|
197
237
|
num_labels = len(self.labels["data"])
|
|
198
238
|
if num_labels <= 2**7:
|
|
@@ -229,8 +269,12 @@ class LmDataset(CachedDataset2):
|
|
|
229
269
|
if isinstance(corpus_file, list): # If a list of files is provided, concatenate all.
|
|
230
270
|
self.orths = []
|
|
231
271
|
for file_name in corpus_file:
|
|
272
|
+
if use_cache_manager:
|
|
273
|
+
file_name = cf(file_name)
|
|
232
274
|
self.orths += read_corpus(file_name, skip_empty_lines=skip_empty_lines)
|
|
233
275
|
else:
|
|
276
|
+
if use_cache_manager:
|
|
277
|
+
corpus_file = cf(corpus_file)
|
|
234
278
|
self.orths = read_corpus(corpus_file, skip_empty_lines=skip_empty_lines)
|
|
235
279
|
# It's only estimated because we might filter some out or so.
|
|
236
280
|
self._estimated_num_seqs = len(self.orths) // self.partition_epoch
|
|
@@ -346,23 +390,10 @@ class LmDataset(CachedDataset2):
|
|
|
346
390
|
if orth == "</s>":
|
|
347
391
|
continue # special sentence end symbol. empty seq, ignore.
|
|
348
392
|
|
|
349
|
-
if self.
|
|
350
|
-
|
|
351
|
-
phones = self.seq_gen.generate_seq(orth)
|
|
352
|
-
except KeyError as e:
|
|
353
|
-
if self.log_skipped_seqs:
|
|
354
|
-
print(
|
|
355
|
-
"LmDataset: skipping sequence %r because of missing lexicon entry: %s" % (orth, e),
|
|
356
|
-
file=log.v4,
|
|
357
|
-
)
|
|
358
|
-
self._reduce_log_skipped_seqs()
|
|
359
|
-
if self.error_on_invalid_seq:
|
|
360
|
-
raise Exception("LmDataset: invalid seq %r, missing lexicon entry %r" % (orth, e))
|
|
361
|
-
self.num_skipped += 1
|
|
362
|
-
continue # try another seq
|
|
363
|
-
data = self.seq_gen.seq_to_class_idxs(phones, dtype=self.dtype)
|
|
393
|
+
if self.orth_vocab is not None:
|
|
394
|
+
data = numpy.array(self.orth_vocab.get_seq(orth), dtype=self.dtype)
|
|
364
395
|
|
|
365
|
-
elif self.orth_symbols:
|
|
396
|
+
elif self.orth_symbols is not None:
|
|
366
397
|
orth_syms = parse_orthography(orth, **self.parse_orth_opts)
|
|
367
398
|
while True:
|
|
368
399
|
orth_syms = sum([self.orth_replace_map.get(s, [s]) for s in orth_syms], [])
|
|
@@ -416,8 +447,24 @@ class LmDataset(CachedDataset2):
|
|
|
416
447
|
self.num_skipped += 1
|
|
417
448
|
continue # try another seq
|
|
418
449
|
|
|
450
|
+
elif self.seq_gen is not None:
|
|
451
|
+
try:
|
|
452
|
+
phones = self.seq_gen.generate_seq(orth)
|
|
453
|
+
except KeyError as e:
|
|
454
|
+
if self.log_skipped_seqs:
|
|
455
|
+
print(
|
|
456
|
+
"LmDataset: skipping sequence %r because of missing lexicon entry: %s" % (orth, e),
|
|
457
|
+
file=log.v4,
|
|
458
|
+
)
|
|
459
|
+
self._reduce_log_skipped_seqs()
|
|
460
|
+
if self.error_on_invalid_seq:
|
|
461
|
+
raise Exception("LmDataset: invalid seq %r, missing lexicon entry %r" % (orth, e))
|
|
462
|
+
self.num_skipped += 1
|
|
463
|
+
continue # try another seq
|
|
464
|
+
data = self.seq_gen.seq_to_class_idxs(phones, dtype=self.dtype)
|
|
465
|
+
|
|
419
466
|
else:
|
|
420
|
-
assert False
|
|
467
|
+
assert False, f"{self}, {self.orth_vocab}, {self.orth_symbols}, {self.seq_gen}"
|
|
421
468
|
|
|
422
469
|
targets = {}
|
|
423
470
|
for i in range(self.add_random_phone_seqs):
|
|
@@ -584,6 +584,158 @@ def test_OggZipDataset():
|
|
|
584
584
|
assert classes_ == _demo_txt + "."
|
|
585
585
|
|
|
586
586
|
|
|
587
|
+
def test_LmDataset_char_based():
|
|
588
|
+
from returnn.datasets.lm import LmDataset
|
|
589
|
+
|
|
590
|
+
with tempfile.NamedTemporaryFile("wt", suffix=".txt") as txt_file, tempfile.NamedTemporaryFile(
|
|
591
|
+
"wt", suffix=".syms"
|
|
592
|
+
) as orth_syms_file:
|
|
593
|
+
txt_file.write("Hello world\n")
|
|
594
|
+
txt_file.write("Next line\n")
|
|
595
|
+
txt_file.flush()
|
|
596
|
+
orth_syms_file.write("[END]\n")
|
|
597
|
+
covered = set()
|
|
598
|
+
for c in open(txt_file.name, "r").read():
|
|
599
|
+
if c not in covered and c != "\n":
|
|
600
|
+
orth_syms_file.write(c + "\n")
|
|
601
|
+
covered.add(c)
|
|
602
|
+
orth_syms_file.flush()
|
|
603
|
+
|
|
604
|
+
dataset = init_dataset(
|
|
605
|
+
{
|
|
606
|
+
"class": "LmDataset",
|
|
607
|
+
"corpus_file": txt_file.name,
|
|
608
|
+
"orth_symbols_file": orth_syms_file.name,
|
|
609
|
+
}
|
|
610
|
+
)
|
|
611
|
+
assert isinstance(dataset, LmDataset)
|
|
612
|
+
dataset.init_seq_order(epoch=1)
|
|
613
|
+
dataset.load_seqs(0, 2)
|
|
614
|
+
orth = dataset.get_data(0, "data")
|
|
615
|
+
assert orth.tolist() == [1, 2, 3, 3, 4, 5, 6, 4, 7, 3, 8, 0]
|
|
616
|
+
orth = dataset.get_data(1, "data")
|
|
617
|
+
assert orth.tolist() == [9, 2, 10, 11, 5, 3, 12, 13, 2, 0]
|
|
618
|
+
assert not dataset.is_less_than_num_seqs(2)
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
def test_LmDataset_word_based():
|
|
622
|
+
from returnn.datasets.lm import LmDataset
|
|
623
|
+
|
|
624
|
+
with tempfile.NamedTemporaryFile("wt", suffix=".txt") as txt_file, tempfile.NamedTemporaryFile(
|
|
625
|
+
"wt", suffix=".syms"
|
|
626
|
+
) as orth_syms_file:
|
|
627
|
+
txt_file.write("Hello world\n")
|
|
628
|
+
txt_file.write("Next line\n")
|
|
629
|
+
txt_file.flush()
|
|
630
|
+
orth_syms_file.write("[END]\n")
|
|
631
|
+
orth_syms_file.write("Hello\n")
|
|
632
|
+
orth_syms_file.write("world\n")
|
|
633
|
+
orth_syms_file.write("Next\n")
|
|
634
|
+
orth_syms_file.write("line\n")
|
|
635
|
+
orth_syms_file.flush()
|
|
636
|
+
|
|
637
|
+
dataset = init_dataset(
|
|
638
|
+
{
|
|
639
|
+
"class": "LmDataset",
|
|
640
|
+
"corpus_file": txt_file.name,
|
|
641
|
+
"word_based": True,
|
|
642
|
+
"orth_symbols_file": orth_syms_file.name,
|
|
643
|
+
}
|
|
644
|
+
)
|
|
645
|
+
assert isinstance(dataset, LmDataset)
|
|
646
|
+
dataset.init_seq_order(epoch=1)
|
|
647
|
+
dataset.load_seqs(0, 2)
|
|
648
|
+
orth = dataset.get_data(0, "data")
|
|
649
|
+
assert orth.tolist() == [1, 2, 0]
|
|
650
|
+
orth = dataset.get_data(1, "data")
|
|
651
|
+
assert orth.tolist() == [3, 4, 0]
|
|
652
|
+
assert not dataset.is_less_than_num_seqs(2)
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
def test_LmDataset_vocab_based():
|
|
656
|
+
from returnn.datasets.lm import LmDataset
|
|
657
|
+
|
|
658
|
+
with tempfile.NamedTemporaryFile("wt", suffix=".txt") as txt_file, tempfile.NamedTemporaryFile(
|
|
659
|
+
"wt", suffix=".syms"
|
|
660
|
+
) as orth_syms_file:
|
|
661
|
+
txt_file.write("Hello world\n")
|
|
662
|
+
txt_file.write("Next line\n")
|
|
663
|
+
txt_file.flush()
|
|
664
|
+
orth_syms_file.write(
|
|
665
|
+
repr(
|
|
666
|
+
{
|
|
667
|
+
"[END]": 0,
|
|
668
|
+
"Hello": 1,
|
|
669
|
+
"world": 2,
|
|
670
|
+
"Next": 3,
|
|
671
|
+
"line": 4,
|
|
672
|
+
}
|
|
673
|
+
)
|
|
674
|
+
)
|
|
675
|
+
orth_syms_file.write("\n")
|
|
676
|
+
orth_syms_file.flush()
|
|
677
|
+
|
|
678
|
+
dataset = init_dataset(
|
|
679
|
+
{
|
|
680
|
+
"class": "LmDataset",
|
|
681
|
+
"corpus_file": txt_file.name,
|
|
682
|
+
"orth_vocab": {
|
|
683
|
+
"class": "SamplingBytePairEncoding", # just as an example
|
|
684
|
+
"vocab_file": orth_syms_file.name,
|
|
685
|
+
"breadth_prob": 0.0,
|
|
686
|
+
"unknown_label": None,
|
|
687
|
+
},
|
|
688
|
+
}
|
|
689
|
+
)
|
|
690
|
+
assert isinstance(dataset, LmDataset)
|
|
691
|
+
dataset.init_seq_order(epoch=1)
|
|
692
|
+
dataset.load_seqs(0, 2)
|
|
693
|
+
orth = dataset.get_data(0, "data")
|
|
694
|
+
assert orth.tolist() == [1, 2]
|
|
695
|
+
orth = dataset.get_data(1, "data")
|
|
696
|
+
assert orth.tolist() == [3, 4]
|
|
697
|
+
assert not dataset.is_less_than_num_seqs(2)
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
def test_LmDataset_pickle():
|
|
701
|
+
import pickle
|
|
702
|
+
from returnn.datasets.lm import LmDataset
|
|
703
|
+
|
|
704
|
+
with tempfile.NamedTemporaryFile("wt", suffix=".txt") as txt_file, tempfile.NamedTemporaryFile(
|
|
705
|
+
"wt", suffix=".syms"
|
|
706
|
+
) as orth_syms_file:
|
|
707
|
+
txt_file.write("Hello world\n")
|
|
708
|
+
txt_file.write("Next line\n")
|
|
709
|
+
txt_file.flush()
|
|
710
|
+
orth_syms_file.write(repr({"[END]": 0, "Hello": 1, "world": 2, "Next": 3, "line": 4}))
|
|
711
|
+
orth_syms_file.write("\n")
|
|
712
|
+
orth_syms_file.flush()
|
|
713
|
+
|
|
714
|
+
dataset = init_dataset(
|
|
715
|
+
{
|
|
716
|
+
"class": "LmDataset",
|
|
717
|
+
"corpus_file": txt_file.name,
|
|
718
|
+
"orth_vocab": {
|
|
719
|
+
"vocab_file": orth_syms_file.name,
|
|
720
|
+
"unknown_label": None,
|
|
721
|
+
},
|
|
722
|
+
}
|
|
723
|
+
)
|
|
724
|
+
assert isinstance(dataset, LmDataset)
|
|
725
|
+
|
|
726
|
+
s = pickle.dumps(dataset)
|
|
727
|
+
dataset = pickle.loads(s)
|
|
728
|
+
assert isinstance(dataset, LmDataset)
|
|
729
|
+
|
|
730
|
+
dataset.init_seq_order(epoch=1)
|
|
731
|
+
dataset.load_seqs(0, 2)
|
|
732
|
+
orth = dataset.get_data(0, "data")
|
|
733
|
+
assert orth.tolist() == [1, 2]
|
|
734
|
+
orth = dataset.get_data(1, "data")
|
|
735
|
+
assert orth.tolist() == [3, 4]
|
|
736
|
+
assert not dataset.is_less_than_num_seqs(2)
|
|
737
|
+
|
|
738
|
+
|
|
587
739
|
def test_MetaDataset():
|
|
588
740
|
_demo_txt = "some utterance text"
|
|
589
741
|
|
|
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.20240723.142327 → returnn-1.20240723.155747}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/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.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/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.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/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.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20240723.142327 → returnn-1.20240723.155747}/demos/mdlstm/artificial_rgb/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|