returnn 1.20241129.101119__tar.gz → 1.20241129.205253__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.20241129.101119 → returnn-1.20241129.205253}/PKG-INFO +1 -1
- returnn-1.20241129.205253/_setup_info_generated.py +2 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/__main__.py +4 -1
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/hdf.py +1 -1
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/lm.py +6 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/meta.py +0 -10
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/engine.py +28 -5
- returnn-1.20241129.205253/returnn/torch/util/debug_inf_nan.py +141 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/better_exchook.py +3 -1
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn.egg-info/PKG-INFO +1 -1
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn.egg-info/SOURCES.txt +1 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_HDFDataset.py +56 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_demos.py +7 -4
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_torch_util.py +51 -0
- returnn-1.20241129.101119/_setup_info_generated.py +0 -2
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/.editorconfig +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/.gitignore +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/.gitmodules +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/.kateconfig +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/CHANGELOG.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/CODEOWNERS +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/CONTRIBUTING.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/LICENSE +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/MANIFEST.in +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/README.rst +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/12AX.cluster_map +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/_setup_returnn_env.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-fwd.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-horovod-mpi.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-horovod-mpi.py.sh +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-horovod-mpi.sh +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-hyper-param-tuning.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-iter-dataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-list-devices.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-lua-torch-layer.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-pretrain.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-record-and-push-to-webserver.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-returnn-as-framework.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-rf-pt-benchmark.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-rf.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-rhn-enwik8.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-sprint-interface.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-att-copy.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-attention.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-chunking-blstm.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-contribrnn-lstm.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-enc-dec.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-hard-att-copy.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-lstm-benchmark.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-maxgradnorm-lstm.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm-lowmem.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm2.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm2.12ax.tuned.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-neural-transducer.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-rec-explicit-lstm.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-rec-explicit-rnn.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-rec-self-att.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-search-compiled-graph.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-vanilla-lstm.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-timit-lstm-ctc.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-torch.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-upd-mult-model.lstm.12ax.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo.sh +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/IAM_lines/a01-007-06.png +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/README.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/chars.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/config_demo +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/config_fwd +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/config_real +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/create_IAM_dataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/decode.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/features/raw/demo.h5 +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/go.sh +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/lines.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/split/eval.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/split/train.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/split/valid.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial/create_test_h5.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial/forwardconfig +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial/go.sh +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial/trainconfig +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial_rgb/create_test_h5.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial_rgb/forwardconfig +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial_rgb/go.sh +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial_rgb/trainconfig +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/pyproject.toml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/requirements.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/__old_mod_loader__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/__setup__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/config.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/audio.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/basic.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/bundle_file.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/cached.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/cached2.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/distrib_files.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/generating.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/map.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/multi_proc.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/normalization_data.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/numpy_dump.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/postprocessing.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/raw_wav.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/sprint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/stereo.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/util/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/util/feature_extraction.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/util/strings.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/datasets/util/vocabulary.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/engine/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/engine/base.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/engine/batch.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/__main__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/.git +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/.gitignore +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/LICENSE +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/aligner.gif +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/check.png +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/core.cu +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/core.h +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/core_cpu.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/LICENSE +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/MANIFEST.in +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/binding.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.cu +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/core.h +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/requirements.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/setup.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/pytorch_binding/warp_rna/test.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/ref_rna.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/setup.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op.cc +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/src/warp_rna_op_kernel_tmpl.h +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/tensorflow_binding/warp_rna/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/WarpRna/warp-rna/test.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/edit.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/reroute.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/select.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/subgraph.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/transform.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/extern/graph_editor/util.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/forward_iface.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_backend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/backend.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/backend.hpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/module.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/module.hpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/py_utils.hpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/tensor_ops.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_native/tensor_ops.hpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_numpy_backend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_random_journal.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/_utils.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/array_.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/attention.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/audio/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/audio/mel.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/audio/specaugment.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/backend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/build_from_dict.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/cond.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/const.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/container.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/control_flow_ctx.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/conv.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/conversions/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/conversions/espnet_e_branchformer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/conversions/hf_llama.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/conversions/torch_nn.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/decoder/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/decoder/transformer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/device.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/dims.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/dropout.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/dtype.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/encoder/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/encoder/base.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/encoder/conformer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/encoder/e_branchformer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/encoder/transformer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/gradient.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/graph.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/hooks.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/init.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/label_smoothing.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/linear.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/loop.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/loss.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/math_.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/matmul.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/module.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/normalization.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/parameter.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/parametrizations.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/parametrize.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/piecewise_linear.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/rand.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/rec.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/reduce.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/run_ctx.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/signal.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/state.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/stepwise_scheduler.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/tensor_array.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/frontend/types.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/import_/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/import_/common.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/import_/git.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/import_/import_.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/learning_rate_control.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/log.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/native_op.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/native_op.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/pretrain.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/sprint/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/sprint/cache.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/sprint/control.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/sprint/error_signals.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/sprint/extern_interface.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/sprint/interface.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/_dim_extra.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/_tensor_extra.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/_tensor_mixin_base.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/_tensor_op_overloads.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/control_flow_ctx.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/dim.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/marked_dim.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/tensor.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/tensor_dict.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tensor/utils.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/compat.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/data_pipeline.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/distributed.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/engine.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/_backend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/_utils.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/cond.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/config_entry_points.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/debug_eager_mode.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/dims.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/layer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/loop.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/make_layer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/masked_computation.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/parameter_assign.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_layers/prev_tensor_ref.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_low_level/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/frontend_low_level/_backend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/horovod.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/hyper_param_tuning.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/layers/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/layers/base.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/layers/basic.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/layers/rec.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/layers/segmental_model.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/layers/signal_processing.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/layers/variable.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/native_op.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/network.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/sprint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/updater.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/util/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/util/basic.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/util/data.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/util/ken_lm.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/tf/util/open_fst.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/data/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/data/extern_data.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/data/pipeline.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/data/queued_data_iter.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/data/returnn_dataset_wrapper.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/data/tensor_utils.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/distributed.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/frontend/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/frontend/_backend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/frontend/_rand.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/frontend/bridge.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/frontend/raw_ops.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/optim/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/optim/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/optim/lion.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/updater.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/array_.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/diagnose_gpu.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/exception_helper.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/gradient_checkpoint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/module.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/torch/util/scaled_gradient.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/__init__.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/basic.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/bpe.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/debug.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/debug_helpers.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/file_cache.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/fsa.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/literal_py_to_pickle.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/math.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/multi_proc_non_daemonic_spawn.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/native_code_compiler.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/pprint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/py-to-pickle.cpp +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/py_compat.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/py_ext_mod_compiler.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/result_with_reason.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/sig_proc.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/task_system.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/train_proc_manager.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn/util/watch_memory.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn.egg-info/dependency_links.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/returnn.egg-info/top_level.txt +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/rnn.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/setup.cfg +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/setup.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/DummySprintExec.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm-inspection-profile.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/.gitignore +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/.name +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/codeStyleSettings.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/codeStyles/Project.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/codeStyles/codeStyleConfig.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/inspectionProfiles/Project_Default.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/misc.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/modules.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/returnn.iml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/PyCharm.idea/scopes/scope_settings.xml +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/_set_num_threads1.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/_setup_returnn_env.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/_setup_test_env.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/bpe-unicode-demo.codes +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/bpe-unicode-demo.vocab +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/lexicon_opt.fst +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/lexicon_opt.isyms +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/lexicon_opt.jpg +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/lexicon_opt.osyms +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/lint_common.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/pycharm-inspect.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/pylint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/returnn-as-framework.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/rf_utils.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/spelling.dic +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_Config.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_Dataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_Fsa.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_GeneratingDataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_LearningRateControl.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_Log.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_MultiProcDataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_Pretrain.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_ResNet.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_SprintDataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_SprintInterface.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TFEngine.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TFNativeOp.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TFNetworkLayer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TFNetworkRecLayer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TFNetworkSigProcLayer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TFUpdater.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TFUtil.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TF_determinism.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TaskSystem.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TaskSystem_SharedMem.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_TranslationDataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_Util.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_fork_exec.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_hdf_dump.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_array.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_attention.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_base.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_cond.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_const.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_container.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_conv.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_decoder_transformer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_encoder_conformer.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_gradient.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_label_smoothing.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_loop.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_math.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_normalization.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_piecewise_linear.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_rec.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_reduce.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_rf_signal.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_tensor.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_tools.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_torch_dataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_torch_engine.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_torch_frontend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/test_torch_internal_frontend.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tests/torch_utils.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/_setup_returnn_env.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/analyze-dataset-batches.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/bliss-collect-seq-lens.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/bliss-dump-text.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/bliss-get-segment-names.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/bliss-to-ogg-zip.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/bpe-create-lexicon.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/calculate-word-error-rate.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/cleanup-old-models.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/collect-orth-symbols.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/collect-words.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/compile_native_op.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/compile_tf_graph.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/debug-dump-search-scores.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/debug-plot-search-scores.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/dump-dataset-raw-strings.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/dump-dataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/dump-forward-stats.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/dump-forward.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/dump-network-json.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/dump-pickle.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/extract_state_tying_from_dataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/get-attention-weights.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/get-best-model-epoch.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/hdf_dump.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/hdf_dump_translation_dataset.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/import-blocks-mt-model.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/import-t2t-mt-model.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/.gitignore +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/Makefile +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/example/README.md +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/example/libs_list +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/example/network.040/i600_m600_m600.sgd_b16_lr0_cl2.newbobabs.keep_over_epoch.lstm2.config +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/example/rescore_lattice.sh +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/example/state_vars_list +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/example/tensor_names_list +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/file.h +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/htklatticerescorer.cc +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/htklatticerescorer.h +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/main.cc +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/rescorer.h +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/vocabulary.cc +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/lattice_rescorer/vocabulary.h +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/tf_avg_checkpoints.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/tf_inspect_checkpoint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/tf_inspect_summary_log.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/torch_avg_checkpoints.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/torch_export_to_onnx.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/torch_inspect_checkpoint.py +0 -0
- {returnn-1.20241129.101119 → returnn-1.20241129.205253}/tools/torch_inspect_checkpoint_and_opt.py +0 -0
|
@@ -585,7 +585,10 @@ def execute_main_task():
|
|
|
585
585
|
assert forward_callback, "no forward_callback specified"
|
|
586
586
|
if callable(forward_callback):
|
|
587
587
|
forward_callback = forward_callback()
|
|
588
|
-
|
|
588
|
+
allow_skipping_seqs = config.bool("allow_skipping_seqs_in_forward", False)
|
|
589
|
+
engine.forward_with_callback(
|
|
590
|
+
dataset=data, callback=forward_callback, allow_skipping_seqs=allow_skipping_seqs
|
|
591
|
+
)
|
|
589
592
|
else:
|
|
590
593
|
assert BackendEngine.is_tensorflow_selected()
|
|
591
594
|
assert eval_data is not None, "no eval data provided"
|
|
@@ -1257,7 +1257,7 @@ class SimpleHDFWriter:
|
|
|
1257
1257
|
assert isinstance(raw_data, numpy.ndarray), "raw_data is %r of type %r" % (raw_data, type(raw_data))
|
|
1258
1258
|
if add_time_dim or raw_data.ndim == 0:
|
|
1259
1259
|
raw_data = numpy.expand_dims(raw_data, 0)
|
|
1260
|
-
assert raw_data.ndim > 0
|
|
1260
|
+
assert raw_data.ndim > 0
|
|
1261
1261
|
if dtype:
|
|
1262
1262
|
raw_data = raw_data.astype(dtype)
|
|
1263
1263
|
if dim is None:
|
|
@@ -445,6 +445,7 @@ class LmDataset(CachedDataset2):
|
|
|
445
445
|
if seq_order is not None:
|
|
446
446
|
self.seq_order = seq_order
|
|
447
447
|
elif seq_list is not None:
|
|
448
|
+
assert all(s.startswith(self._tag_prefix) for s in seq_list)
|
|
448
449
|
self.seq_order = [int(s[len(self._tag_prefix) :]) for s in seq_list]
|
|
449
450
|
elif epoch is None:
|
|
450
451
|
self.seq_order = []
|
|
@@ -479,6 +480,11 @@ class LmDataset(CachedDataset2):
|
|
|
479
480
|
self._lazy_init()
|
|
480
481
|
return len(self._orths_offsets_and_lens)
|
|
481
482
|
|
|
483
|
+
def get_all_tags(self) -> List[str]:
|
|
484
|
+
""":return: all seq tags"""
|
|
485
|
+
num_seqs = self.get_total_num_seqs()
|
|
486
|
+
return [self._tag_prefix + str(line_nr) for line_nr in range(num_seqs)]
|
|
487
|
+
|
|
482
488
|
def _reduce_log_skipped_seqs(self):
|
|
483
489
|
if isinstance(self.log_skipped_seqs, bool):
|
|
484
490
|
return
|
|
@@ -289,16 +289,6 @@ class MetaDataset(CachedDataset2):
|
|
|
289
289
|
self.orig_seq_order_is_initialized = False
|
|
290
290
|
self.seq_list_ordered = None # type: typing.Optional[typing.Dict[str,typing.List[str]]]
|
|
291
291
|
|
|
292
|
-
def _is_same_seq_name_for_each_dataset(self) -> bool:
|
|
293
|
-
"""
|
|
294
|
-
This should be fast.
|
|
295
|
-
"""
|
|
296
|
-
main_list = self.seq_list_original[self.default_dataset_key]
|
|
297
|
-
for key, other_list in self.seq_list_original.items():
|
|
298
|
-
if main_list is not other_list:
|
|
299
|
-
return False
|
|
300
|
-
return True
|
|
301
|
-
|
|
302
292
|
def _load_seq_list(self, seq_list_file: Optional[str] = None) -> Dict[str, List[str]]:
|
|
303
293
|
"""
|
|
304
294
|
:param seq_list_file:
|
|
@@ -46,6 +46,7 @@ from .frontend.bridge import rf_module_to_pt_module
|
|
|
46
46
|
from .util import diagnose_gpu
|
|
47
47
|
from .util import module as util_module
|
|
48
48
|
from .util.exception_helper import help_on_torch_exception
|
|
49
|
+
from .util.debug_inf_nan import debug_inf_nan
|
|
49
50
|
from .distributed import DistributedContext, get_ctx as dist_get_ctx
|
|
50
51
|
|
|
51
52
|
|
|
@@ -499,6 +500,13 @@ class Engine(EngineBase):
|
|
|
499
500
|
accumulated_losses_dict / accumulated_inv_norm_factors_dict,
|
|
500
501
|
file=log.v1,
|
|
501
502
|
)
|
|
503
|
+
|
|
504
|
+
def _debug_func() -> torch.Tensor:
|
|
505
|
+
self._run_step(extern_data, train_flag=True, train_func=True)
|
|
506
|
+
return rf.get_run_ctx().total_loss()
|
|
507
|
+
|
|
508
|
+
print("Running debug_inf_nan...", file=log.v1)
|
|
509
|
+
debug_inf_nan(_debug_func, with_grad=True)
|
|
502
510
|
raise Exception(f"Inf/nan score in step {step_idx}.")
|
|
503
511
|
|
|
504
512
|
step_idx += 1
|
|
@@ -1140,7 +1148,12 @@ class Engine(EngineBase):
|
|
|
1140
1148
|
os.unlink(filename)
|
|
1141
1149
|
|
|
1142
1150
|
def forward_with_callback(
|
|
1143
|
-
self,
|
|
1151
|
+
self,
|
|
1152
|
+
*,
|
|
1153
|
+
dataset: Dataset,
|
|
1154
|
+
callback: ForwardCallbackIface,
|
|
1155
|
+
dataset_init_epoch: bool = True,
|
|
1156
|
+
allow_skipping_seqs: bool = False,
|
|
1144
1157
|
):
|
|
1145
1158
|
"""forward"""
|
|
1146
1159
|
assert isinstance(dataset, Dataset)
|
|
@@ -1163,10 +1176,20 @@ class Engine(EngineBase):
|
|
|
1163
1176
|
file=log.v3,
|
|
1164
1177
|
)
|
|
1165
1178
|
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1179
|
+
if allow_skipping_seqs:
|
|
1180
|
+
# Dangerous! If you enable this, you could lose sequences,
|
|
1181
|
+
# and your evaluation pipeline may silently produce incorrect results!
|
|
1182
|
+
print(
|
|
1183
|
+
f"Note: allow_skipping_seqs is enabled (with min_seq_length {self._min_seq_length},"
|
|
1184
|
+
f" max_seq_length {self._max_seq_length}),"
|
|
1185
|
+
f" this may lead to incorrect evaluation results!",
|
|
1186
|
+
file=log.v2,
|
|
1187
|
+
)
|
|
1188
|
+
else:
|
|
1189
|
+
assert (self._min_seq_length is None) and (self._max_seq_length is None), (
|
|
1190
|
+
f"min_seq_length {self._min_seq_length}, max_seq_length {self._max_seq_length} not allowed,"
|
|
1191
|
+
f" we want to keep all source sentences."
|
|
1192
|
+
)
|
|
1170
1193
|
|
|
1171
1194
|
data_loader = self._create_data_loader(dataset, dataset_init_epoch=dataset_init_epoch)
|
|
1172
1195
|
if self._forward_auto_split_batch_on_oom:
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Helpers to debug nan/inf values in tensors.
|
|
3
|
+
E.g., you get nan/inf values in the loss, and you want to know where it comes from.
|
|
4
|
+
There could be multiple potential sources:
|
|
5
|
+
|
|
6
|
+
- The parameters are already broken (nan/inf).
|
|
7
|
+
Then some prev step caused this.
|
|
8
|
+
For this, we might want to add another option which performs a check before we update params,
|
|
9
|
+
so that updating params will never break them unnoticed.
|
|
10
|
+
- The gradients are broken (nan/inf).
|
|
11
|
+
There are some PyTorch utilities to check this.
|
|
12
|
+
This is currently not the focus here.
|
|
13
|
+
- Some part of the (forward) computation results in nan/inf.
|
|
14
|
+
Currently, this is the focus here.
|
|
15
|
+
We want to know where this happens.
|
|
16
|
+
|
|
17
|
+
We could run the forward pass again in different modes:
|
|
18
|
+
|
|
19
|
+
- Python tracing, and inspecting all local variables which are tensors.
|
|
20
|
+
(Probably slow).
|
|
21
|
+
- PyTorch JIT tracing to compute the loss. This will give us the computation graph.
|
|
22
|
+
We can run this computation graph again and inspect all the intermediate values,
|
|
23
|
+
and then see where the nan/inf values come from.
|
|
24
|
+
- PyTorch profiling.
|
|
25
|
+
|
|
26
|
+
Note, one problem is non-determinism in the computation via e.g. dropout.
|
|
27
|
+
So the method might not be totally reliable.
|
|
28
|
+
Also, there might be inf/nan values which are ok, expected, and not a problem
|
|
29
|
+
(e.g. masking the logits for attention).
|
|
30
|
+
So we don't stop on the first occurrence but just report all of them.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
from __future__ import annotations
|
|
35
|
+
|
|
36
|
+
import sys
|
|
37
|
+
from typing import Optional, Union, Callable, TextIO
|
|
38
|
+
from io import TextIOBase
|
|
39
|
+
import traceback
|
|
40
|
+
from types import FrameType
|
|
41
|
+
import torch
|
|
42
|
+
|
|
43
|
+
# noinspection PyProtectedMember
|
|
44
|
+
from torch.utils._python_dispatch import TorchDispatchMode
|
|
45
|
+
|
|
46
|
+
# noinspection PyProtectedMember
|
|
47
|
+
from torch._dispatch.python import no_python_dispatcher
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def debug_inf_nan(
|
|
51
|
+
func: Callable[[], Optional[torch.Tensor]],
|
|
52
|
+
*,
|
|
53
|
+
with_grad: bool = False,
|
|
54
|
+
report_every_op_call: bool = True,
|
|
55
|
+
file: Optional[Union[TextIO, TextIOBase]] = None,
|
|
56
|
+
):
|
|
57
|
+
"""
|
|
58
|
+
Debug the function.
|
|
59
|
+
|
|
60
|
+
:param func: will be called like func(). if `with_grad`, we expect some loss tensor as return,
|
|
61
|
+
and we will call `loss = func(); loss.backward()`.
|
|
62
|
+
:param with_grad: whether to compute and debug gradients for inf/nan.
|
|
63
|
+
:param report_every_op_call: whether to report every op call.
|
|
64
|
+
:param file: where to write the output to. Default is stdout.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
if file is None:
|
|
68
|
+
file = sys.stdout
|
|
69
|
+
|
|
70
|
+
# noinspection PyUnresolvedReferences,PyProtectedMember
|
|
71
|
+
cur_frame: FrameType = sys._getframe()
|
|
72
|
+
trace_ops = _TraceOps(root_frame=cur_frame, file=file, report_every_op_call=report_every_op_call)
|
|
73
|
+
|
|
74
|
+
if with_grad:
|
|
75
|
+
|
|
76
|
+
with torch.autograd.detect_anomaly():
|
|
77
|
+
with trace_ops: # currently only for forward (but we might want to trace the backward too)
|
|
78
|
+
loss = func()
|
|
79
|
+
try:
|
|
80
|
+
loss.backward()
|
|
81
|
+
except RuntimeError as exc:
|
|
82
|
+
print(f"Caught RuntimeError in backward: {exc}", file=file)
|
|
83
|
+
|
|
84
|
+
else: # without grad
|
|
85
|
+
|
|
86
|
+
with trace_ops:
|
|
87
|
+
func()
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# For efficiency, and to be less spammy
|
|
91
|
+
_TraceFuncNameBlacklist = {
|
|
92
|
+
"aten::detach",
|
|
93
|
+
"aten::zeros_like",
|
|
94
|
+
"aten::ones_like",
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class _TraceOps(TorchDispatchMode):
|
|
99
|
+
def __init__(self, *, root_frame: FrameType, file: Union[TextIO, TextIOBase], report_every_op_call: bool = True):
|
|
100
|
+
super().__init__()
|
|
101
|
+
self.root_frame = root_frame
|
|
102
|
+
self.file = file
|
|
103
|
+
self.report_every_op_call = report_every_op_call
|
|
104
|
+
|
|
105
|
+
def __torch_dispatch__(self, func, types, args=(), kwargs=None):
|
|
106
|
+
if kwargs is None:
|
|
107
|
+
kwargs = {}
|
|
108
|
+
if func.name() in _TraceFuncNameBlacklist:
|
|
109
|
+
return func(*args, **kwargs)
|
|
110
|
+
if self.report_every_op_call:
|
|
111
|
+
print(f"--- op {func.name()}", file=self.file)
|
|
112
|
+
out = func(*args, **kwargs)
|
|
113
|
+
if isinstance(out, torch.Tensor):
|
|
114
|
+
with no_python_dispatcher():
|
|
115
|
+
got_nan_inf_t = torch.stack([torch.isnan(out).any(), torch.isinf(out).any()]).cpu()
|
|
116
|
+
got_nan = got_nan_inf_t[0].item()
|
|
117
|
+
got_inf = got_nan_inf_t[1].item()
|
|
118
|
+
if got_nan or got_inf:
|
|
119
|
+
s = "/".join([s_ for s_, b in [("nan", got_nan), ("inf", got_inf)] if b])
|
|
120
|
+
print(f"--> {s} in {func}: {out}", file=self.file)
|
|
121
|
+
traceback.print_list(
|
|
122
|
+
_extract_stack_up_to(skip_top_num_frames=1, root_frame=self.root_frame), file=self.file
|
|
123
|
+
)
|
|
124
|
+
return out
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def _walk_stack_up_to(f: FrameType, *, root_frame: FrameType):
|
|
128
|
+
while f is not None and f != root_frame:
|
|
129
|
+
yield f, f.f_lineno
|
|
130
|
+
f = f.f_back
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def _extract_stack_up_to(*, skip_top_num_frames: int = 0, root_frame: FrameType):
|
|
134
|
+
# noinspection PyUnresolvedReferences,PyProtectedMember
|
|
135
|
+
frame = sys._getframe()
|
|
136
|
+
skip_top_num_frames += 1 # skip this function
|
|
137
|
+
for _ in range(skip_top_num_frames):
|
|
138
|
+
frame = frame.f_back
|
|
139
|
+
stack = traceback.StackSummary.extract(_walk_stack_up_to(frame, root_frame=root_frame))
|
|
140
|
+
stack.reverse()
|
|
141
|
+
return stack
|
|
@@ -40,7 +40,9 @@ See these functions:
|
|
|
40
40
|
- get_current_frame
|
|
41
41
|
- dump_all_thread_tracebacks
|
|
42
42
|
- install
|
|
43
|
+
- setup_all
|
|
43
44
|
- replace_traceback_format_tb
|
|
45
|
+
- replace_traceback_print_tb
|
|
44
46
|
|
|
45
47
|
Although there might be a few more useful functions, thus we export all of them.
|
|
46
48
|
|
|
@@ -324,7 +326,7 @@ def debug_shell(user_ns, user_global_ns, traceback=None, execWrapper=None):
|
|
|
324
326
|
"""
|
|
325
327
|
Run the IPython shell.
|
|
326
328
|
"""
|
|
327
|
-
pdb_obj.interaction(None, traceback
|
|
329
|
+
pdb_obj.interaction(None, traceback)
|
|
328
330
|
|
|
329
331
|
except Exception:
|
|
330
332
|
print("IPython Pdb exception:")
|
|
@@ -304,6 +304,7 @@ returnn/torch/optim/lion.py
|
|
|
304
304
|
returnn/torch/util/README.md
|
|
305
305
|
returnn/torch/util/__init__.py
|
|
306
306
|
returnn/torch/util/array_.py
|
|
307
|
+
returnn/torch/util/debug_inf_nan.py
|
|
307
308
|
returnn/torch/util/diagnose_gpu.py
|
|
308
309
|
returnn/torch/util/exception_helper.py
|
|
309
310
|
returnn/torch/util/gradient_checkpoint.py
|
|
@@ -301,6 +301,62 @@ def test_SimpleHDFWriter_small():
|
|
|
301
301
|
print(repr(gzip.compress(open(fn, "rb").read())))
|
|
302
302
|
|
|
303
303
|
|
|
304
|
+
def test_SimpleHDFWriter_empty_extra():
|
|
305
|
+
# This tests whether adding empty data in extra works
|
|
306
|
+
fn = get_test_tmp_file(suffix=".hdf")
|
|
307
|
+
os.remove(fn) # SimpleHDFWriter expects that the file does not exist
|
|
308
|
+
n_dim = 2
|
|
309
|
+
writer = SimpleHDFWriter(filename=fn, dim=n_dim, labels=None)
|
|
310
|
+
|
|
311
|
+
j = 0
|
|
312
|
+
all_seq_lens = []
|
|
313
|
+
# seed
|
|
314
|
+
numpy.random.seed(42)
|
|
315
|
+
while j < 1000:
|
|
316
|
+
batch_size = numpy.random.randint(1, 10)
|
|
317
|
+
seq_lens = numpy.random.randint(0, 8, size=batch_size)
|
|
318
|
+
main_input = numpy.random.normal(size=(len(seq_lens), max(seq_lens), n_dim)).astype("float32")
|
|
319
|
+
|
|
320
|
+
extra_input = main_input.copy() + 4.2
|
|
321
|
+
assert main_input.shape == extra_input.shape
|
|
322
|
+
|
|
323
|
+
writer.insert_batch(
|
|
324
|
+
inputs=main_input,
|
|
325
|
+
seq_len=seq_lens,
|
|
326
|
+
seq_tag=["seq-%i" % (j + i) for i in range(len(seq_lens))],
|
|
327
|
+
extra={"test-extra": extra_input},
|
|
328
|
+
)
|
|
329
|
+
j += len(seq_lens)
|
|
330
|
+
all_seq_lens += seq_lens.tolist()
|
|
331
|
+
|
|
332
|
+
assert 0 in all_seq_lens, "please update random seed, we expect to test empty seqs"
|
|
333
|
+
|
|
334
|
+
writer.close()
|
|
335
|
+
|
|
336
|
+
dataset = HDFDataset(files=[fn])
|
|
337
|
+
assert dataset.get_data_keys() == ["data", "test-extra"], dataset.get_data_keys()
|
|
338
|
+
assert dataset.get_target_list() == ["test-extra"]
|
|
339
|
+
reader = DatasetTestReader(dataset=dataset)
|
|
340
|
+
reader.read_all()
|
|
341
|
+
assert "data" in reader.data_keys
|
|
342
|
+
assert "test-extra" in reader.data_keys
|
|
343
|
+
assert reader.data_sparse["data"] is False
|
|
344
|
+
assert list(reader.data_shape["data"]) == [n_dim]
|
|
345
|
+
assert reader.data_dtype["data"] == "float32"
|
|
346
|
+
assert j == reader.num_seqs
|
|
347
|
+
assert j == len(reader.seq_lens)
|
|
348
|
+
|
|
349
|
+
for i, seq_len in enumerate(all_seq_lens):
|
|
350
|
+
assert reader.seq_lens[i]["data"] == seq_len
|
|
351
|
+
for k in range(0, seq_len): # only test the first seq_len elements
|
|
352
|
+
a = reader.data["data"][i][k] + 4.2
|
|
353
|
+
b = reader.data["test-extra"][i][k]
|
|
354
|
+
assert numpy.allclose(a, b), f"i={i}"
|
|
355
|
+
|
|
356
|
+
assert_equal(reader.seq_tags, ["seq-%i" % i for i in range(reader.num_seqs)])
|
|
357
|
+
assert isinstance(reader.seq_tags[0], str)
|
|
358
|
+
|
|
359
|
+
|
|
304
360
|
def test_read_simple_hdf():
|
|
305
361
|
if sys.version_info[0] <= 2: # gzip.decompress is >=PY3
|
|
306
362
|
raise unittest.SkipTest
|
|
@@ -13,12 +13,15 @@ from returnn.util import better_exchook
|
|
|
13
13
|
from returnn.util.basic import which_pip
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
import torch
|
|
18
|
-
except ImportError:
|
|
16
|
+
if "RETURNN_DISABLE_TORCH" in os.environ and int(os.environ["RETURNN_DISABLE_TORCH"]) == 1:
|
|
19
17
|
torch = None
|
|
20
18
|
else:
|
|
21
|
-
|
|
19
|
+
try:
|
|
20
|
+
import torch
|
|
21
|
+
except ImportError:
|
|
22
|
+
torch = None
|
|
23
|
+
else:
|
|
24
|
+
print("Torch:", torch.__version__)
|
|
22
25
|
|
|
23
26
|
|
|
24
27
|
if "RETURNN_DISABLE_TF" in os.environ and int(os.environ["RETURNN_DISABLE_TF"]) == 1:
|
|
@@ -247,6 +247,57 @@ def test_saved_tensors_hooks_gc_segfault():
|
|
|
247
247
|
x.sum().backward()
|
|
248
248
|
|
|
249
249
|
|
|
250
|
+
def test_debug_inf_nan():
|
|
251
|
+
param = torch.nn.Parameter(torch.tensor([0.5349, 0.8094, -100, 0, -0.9890, 1, 1.3221, 0.8172, -0.7658, -0.7506]))
|
|
252
|
+
|
|
253
|
+
def func():
|
|
254
|
+
x = torch.tensor([0.5349, 0, 1.1103, -1.6898, -0.9890, 1, 1.3221, 0.8172, -0.7658, -0.7506])
|
|
255
|
+
x = mod1(x)
|
|
256
|
+
x = mod2(x)
|
|
257
|
+
x = mod3(x) * param
|
|
258
|
+
x = mod4(x)
|
|
259
|
+
x = mod1(x)
|
|
260
|
+
x = mod2(x)
|
|
261
|
+
x = mod2(x)
|
|
262
|
+
x = mod5(x)
|
|
263
|
+
return x.sum()
|
|
264
|
+
|
|
265
|
+
def mod1(x: torch.Tensor) -> torch.Tensor:
|
|
266
|
+
return x * 2
|
|
267
|
+
|
|
268
|
+
def mod2(x: torch.Tensor) -> torch.Tensor:
|
|
269
|
+
return x.exp()
|
|
270
|
+
|
|
271
|
+
def mod3(x: torch.Tensor) -> torch.Tensor:
|
|
272
|
+
return x - 2
|
|
273
|
+
|
|
274
|
+
def mod4(x: torch.Tensor) -> torch.Tensor:
|
|
275
|
+
x.subtract_(-3.5)
|
|
276
|
+
return x
|
|
277
|
+
|
|
278
|
+
def mod5(x: torch.Tensor) -> torch.Tensor:
|
|
279
|
+
return x / x
|
|
280
|
+
|
|
281
|
+
x = func()
|
|
282
|
+
print(x)
|
|
283
|
+
print("inf/nan:", torch.isinf(x).any().item(), torch.isnan(x).any().item())
|
|
284
|
+
|
|
285
|
+
from returnn.torch.util.debug_inf_nan import debug_inf_nan
|
|
286
|
+
|
|
287
|
+
# Run directly, to just test that it goes through without exception.
|
|
288
|
+
# For some reason, the detect_anomaly does not print the forward op?
|
|
289
|
+
debug_inf_nan(func, with_grad=True)
|
|
290
|
+
|
|
291
|
+
from io import StringIO
|
|
292
|
+
|
|
293
|
+
out = StringIO()
|
|
294
|
+
debug_inf_nan(func, file=out)
|
|
295
|
+
assert "inf in aten.exp" in out.getvalue()
|
|
296
|
+
assert "nan in aten.div" in out.getvalue()
|
|
297
|
+
assert "mod5" in out.getvalue()
|
|
298
|
+
assert os.path.basename(__file__) in out.getvalue()
|
|
299
|
+
|
|
300
|
+
|
|
250
301
|
if __name__ == "__main__":
|
|
251
302
|
better_exchook.install()
|
|
252
303
|
if len(sys.argv) <= 1:
|
|
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.20241129.101119 → returnn-1.20241129.205253}/demos/demo-hyper-param-tuning.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/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.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-chunking-blstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-contribrnn-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-maxgradnorm-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm-lowmem.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm2.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-native-lstm2.12ax.tuned.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-neural-transducer.12ax.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-rec-explicit-lstm.config
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-rec-explicit-rnn.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-search-compiled-graph.py
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-tf-vanilla-lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/demo-upd-mult-model.lstm.12ax.config
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/IAM_lines/a01-000u-00.png
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/IAM_lines/a01-007-04.png
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/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.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/IAM/create_IAM_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/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.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial/create_test_h5.py
RENAMED
|
File without changes
|
{returnn-1.20241129.101119 → returnn-1.20241129.205253}/demos/mdlstm/artificial/forwardconfig
RENAMED
|
File without changes
|
|
File without changes
|