returnn 1.20250922.113348__py3-none-any.whl → 1.20251006.114241__py3-none-any.whl
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/PKG-INFO +1 -1
- returnn/_setup_info_generated.py +2 -2
- returnn/datasets/generating.py +9 -16
- returnn/frontend/_backend.py +7 -0
- returnn/tensor/_tensor_extra.py +6 -1
- returnn/tf/frontend_layers/_backend.py +7 -0
- returnn/tf/frontend_low_level/_backend.py +15 -0
- {returnn-1.20250922.113348.dist-info → returnn-1.20251006.114241.dist-info}/METADATA +1 -1
- {returnn-1.20250922.113348.dist-info → returnn-1.20251006.114241.dist-info}/RECORD +12 -12
- {returnn-1.20250922.113348.dist-info → returnn-1.20251006.114241.dist-info}/LICENSE +0 -0
- {returnn-1.20250922.113348.dist-info → returnn-1.20251006.114241.dist-info}/WHEEL +0 -0
- {returnn-1.20250922.113348.dist-info → returnn-1.20251006.114241.dist-info}/top_level.txt +0 -0
returnn/PKG-INFO
CHANGED
returnn/_setup_info_generated.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
version = '1.
|
|
2
|
-
long_version = '1.
|
|
1
|
+
version = '1.20251006.114241'
|
|
2
|
+
long_version = '1.20251006.114241+git.7745ba7'
|
returnn/datasets/generating.py
CHANGED
|
@@ -7,14 +7,13 @@ from __future__ import annotations
|
|
|
7
7
|
from typing import Optional, Union, Any, Sequence, List, Tuple, Dict
|
|
8
8
|
import numpy
|
|
9
9
|
import sys
|
|
10
|
-
import typing
|
|
11
10
|
|
|
12
11
|
from returnn.util.basic import class_idx_seq_to_1_of_k, CollectionReadCheckCovered
|
|
13
12
|
from returnn.log import log
|
|
14
13
|
from returnn.tensor import Tensor, Dim, TensorDict
|
|
15
14
|
|
|
16
15
|
from .util.feature_extraction import ExtractAudioFeatures
|
|
17
|
-
from .util.vocabulary import
|
|
16
|
+
from .util.vocabulary import Vocabulary, BytePairEncoding, CharacterTargets
|
|
18
17
|
from .audio import OggZipDataset # noqa # for API compatibility
|
|
19
18
|
from .basic import Dataset, DatasetSeq, convert_data_dims
|
|
20
19
|
from .cached2 import CachedDataset2
|
|
@@ -1280,12 +1279,6 @@ class CopyTaskDataset(GeneratingDataset):
|
|
|
1280
1279
|
return DatasetSeq(seq_idx=seq_idx, features=seq_np, targets={"classes": seq_np})
|
|
1281
1280
|
|
|
1282
1281
|
|
|
1283
|
-
# Multiple external sources where we could write automatic wrappers:
|
|
1284
|
-
# * https://github.com/tensorflow/datasets
|
|
1285
|
-
# * tf.contrib.keras.datasets, https://www.tensorflow.org/api_docs/python/tf/keras/datasets
|
|
1286
|
-
# * nltk.corpus
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
1282
|
class TimitDataset(CachedDataset2):
|
|
1290
1283
|
"""
|
|
1291
1284
|
DARPA TIMIT Acoustic-Phonetic Continuous Speech Corpus.
|
|
@@ -1553,7 +1546,7 @@ class TimitDataset(CachedDataset2):
|
|
|
1553
1546
|
|
|
1554
1547
|
self._random_permute_audio = CollectionReadCheckCovered.from_bool_or_dict(random_permute_audio)
|
|
1555
1548
|
|
|
1556
|
-
self._seq_order
|
|
1549
|
+
self._seq_order: Optional[Sequence[int]] = None
|
|
1557
1550
|
self._init_timit()
|
|
1558
1551
|
|
|
1559
1552
|
self._audio_data = {} # seq_tag -> (audio, sample_rate). loaded by self._reader_thread_main
|
|
@@ -1927,8 +1920,8 @@ class BlissDataset(CachedDataset2):
|
|
|
1927
1920
|
self._with_delta = with_delta
|
|
1928
1921
|
self.num_inputs *= 1 + with_delta
|
|
1929
1922
|
self._bpe_file = open(bpe_file, "r")
|
|
1930
|
-
self._seqs
|
|
1931
|
-
self._vocab
|
|
1923
|
+
self._seqs: List[BlissDataset.SeqInfo] = []
|
|
1924
|
+
self._vocab: Dict[str, int] = {} # set in self._parse_vocab
|
|
1932
1925
|
self._parse_bliss_xml(filename=path)
|
|
1933
1926
|
# TODO: loading audio like in TimitDataset, and in parallel
|
|
1934
1927
|
self._bpe = BytePairEncoding(vocab_file=vocab_file, bpe_file=bpe_file)
|
|
@@ -2100,7 +2093,7 @@ class LibriSpeechCorpus(CachedDataset2):
|
|
|
2100
2093
|
self.targets = CharacterTargets(**chars)
|
|
2101
2094
|
elif targets is None:
|
|
2102
2095
|
assert bpe is None and chars is None
|
|
2103
|
-
self.targets
|
|
2096
|
+
self.targets: Optional[Vocabulary] = None
|
|
2104
2097
|
else:
|
|
2105
2098
|
raise Exception("invalid targets %r. provide bpe or chars" % targets)
|
|
2106
2099
|
if self.targets:
|
|
@@ -2128,7 +2121,7 @@ class LibriSpeechCorpus(CachedDataset2):
|
|
|
2128
2121
|
self._reference_seq_order = seqs
|
|
2129
2122
|
self.transs = {s: self.transs[s] for s in seqs}
|
|
2130
2123
|
self.epoch_wise_filter = epoch_wise_filter
|
|
2131
|
-
self._seq_order
|
|
2124
|
+
self._seq_order: Optional[Sequence[int]] = None
|
|
2132
2125
|
self.init_seq_order()
|
|
2133
2126
|
|
|
2134
2127
|
def _collect_trans(self):
|
|
@@ -2294,9 +2287,9 @@ class LibriSpeechCorpus(CachedDataset2):
|
|
|
2294
2287
|
""":return: whether this dataset supports sharding"""
|
|
2295
2288
|
return True
|
|
2296
2289
|
|
|
2297
|
-
def get_current_seq_order(self):
|
|
2290
|
+
def get_current_seq_order(self) -> Sequence[int]:
|
|
2298
2291
|
"""
|
|
2299
|
-
:
|
|
2292
|
+
:return: seq order of current epoch
|
|
2300
2293
|
"""
|
|
2301
2294
|
assert self._seq_order is not None
|
|
2302
2295
|
return self._seq_order
|
|
@@ -2446,7 +2439,7 @@ class Enwik8Corpus(CachedDataset2):
|
|
|
2446
2439
|
self._batch_num_seqs = batch_num_seqs
|
|
2447
2440
|
self._random = numpy.random.RandomState(1) # seed will be set in init_seq_order
|
|
2448
2441
|
self._seq_starts = numpy.arange(0, len(self._data) - 1, seq_len)
|
|
2449
|
-
self._seq_order
|
|
2442
|
+
self._seq_order: Optional[Sequence[int]] = None
|
|
2450
2443
|
|
|
2451
2444
|
def get_data_dtype(self, key):
|
|
2452
2445
|
"""
|
returnn/frontend/_backend.py
CHANGED
|
@@ -66,6 +66,13 @@ class Backend(Generic[T]):
|
|
|
66
66
|
"""
|
|
67
67
|
raise NotImplementedError
|
|
68
68
|
|
|
69
|
+
@staticmethod
|
|
70
|
+
def should_pickle_tensor(raw_tensor: T) -> bool:
|
|
71
|
+
"""
|
|
72
|
+
:return: whether the tensor should be included in a pickle or set to `None`.
|
|
73
|
+
"""
|
|
74
|
+
return True
|
|
75
|
+
|
|
69
76
|
@staticmethod
|
|
70
77
|
def cond(pred: Tensor, true_fn: Callable, false_fn: Callable):
|
|
71
78
|
"""
|
returnn/tensor/_tensor_extra.py
CHANGED
|
@@ -588,7 +588,12 @@ class _TensorMixin(_TensorMixinBase):
|
|
|
588
588
|
|
|
589
589
|
def __getstate__(self):
|
|
590
590
|
d = {k: getattr(self, k) for k in self.__slots__}
|
|
591
|
-
|
|
591
|
+
if (
|
|
592
|
+
self._raw_tensor is not None
|
|
593
|
+
and self._raw_backend is not None
|
|
594
|
+
and not self._raw_backend.should_pickle_tensor(self._raw_tensor)
|
|
595
|
+
):
|
|
596
|
+
d["_raw_tensor"] = None
|
|
592
597
|
return d
|
|
593
598
|
|
|
594
599
|
def __setstate__(self, state):
|
|
@@ -45,6 +45,13 @@ class ReturnnLayersBackend(Backend[Layer]):
|
|
|
45
45
|
"""executing eagerly"""
|
|
46
46
|
return False
|
|
47
47
|
|
|
48
|
+
@staticmethod
|
|
49
|
+
def should_pickle_tensor(raw_tensor: Layer) -> bool:
|
|
50
|
+
"""
|
|
51
|
+
:return: whether the tensor should be included in a pickle or set to `None`.
|
|
52
|
+
"""
|
|
53
|
+
return False
|
|
54
|
+
|
|
48
55
|
@staticmethod
|
|
49
56
|
def get_tensor_dependencies(x: Tensor[Layer]) -> Sequence[Tensor]:
|
|
50
57
|
"""get tensor inputs"""
|
|
@@ -38,6 +38,21 @@ class TFBackend(Backend[tf.Tensor]):
|
|
|
38
38
|
"""
|
|
39
39
|
return tf.executing_eagerly()
|
|
40
40
|
|
|
41
|
+
@staticmethod
|
|
42
|
+
def should_pickle_tensor(raw_tensor: tf.Tensor) -> bool:
|
|
43
|
+
"""
|
|
44
|
+
:return: whether the tensor should be included in a pickle or set to `None`.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
from tensorflow.python.framework.ops import EagerTensor
|
|
48
|
+
|
|
49
|
+
# Can not pickle symbolic TF tensors.
|
|
50
|
+
#
|
|
51
|
+
# See for discussion:
|
|
52
|
+
# - https://github.com/rwth-i6/returnn/issues/1541
|
|
53
|
+
# - https://github.com/rwth-i6/returnn/issues/1763
|
|
54
|
+
return isinstance(raw_tensor, EagerTensor)
|
|
55
|
+
|
|
41
56
|
@staticmethod
|
|
42
57
|
def get_dtype_name_raw(raw_tensor: tf.Tensor) -> str:
|
|
43
58
|
"""
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
returnn/PKG-INFO,sha256=
|
|
1
|
+
returnn/PKG-INFO,sha256=khjeqHtAYC68kPEh0ltnHLB14E2_UOObt3MGLvgeMTY,5215
|
|
2
2
|
returnn/__init__.py,sha256=biBtRsM0WZ406vShaeH-9WFoqJ8XwTbn6g0EeFJ7l8E,1012
|
|
3
3
|
returnn/__main__.py,sha256=lHyZcu_0yc9f7Vf_Kfdy9PmeU0T76XVXnpalHi5WKro,31740
|
|
4
4
|
returnn/__old_mod_loader__.py,sha256=nvsNY-xELdS_IPNkv66Q9Rmvg4dbGW0-EBRDcCmctos,7654
|
|
5
5
|
returnn/__setup__.py,sha256=22kQn2fh11iPM0hLb2Fy5sLmoU1JGvmDxXRYuRgQkwU,4659
|
|
6
|
-
returnn/_setup_info_generated.py,sha256=
|
|
6
|
+
returnn/_setup_info_generated.py,sha256=MFwUI_cce-3opoV_eKfpRd891cRwBo6RMbTGriz-HTg,77
|
|
7
7
|
returnn/config.py,sha256=3tmKhB6FnQZaNdtcYsiB61JnEY--iZ2qmJ4yq0b6tE0,29140
|
|
8
8
|
returnn/forward_iface.py,sha256=A_OJiaXsX4MlXQRzST86ylyxSUZbC402PQL1REcqHjM,911
|
|
9
9
|
returnn/learning_rate_control.py,sha256=ZvWryAn_tv9DhV8sh1LV3eE34Yltl3On3mYZAG4hR9s,34684
|
|
@@ -18,7 +18,7 @@ returnn/datasets/bundle_file.py,sha256=KQNrS1MSf-4_idlK0c0KFwON-f5sEK0sWU15WpoMY
|
|
|
18
18
|
returnn/datasets/cached.py,sha256=RyefRjSDdp-HveK-2vLy2C6BIHcpqQ_lNvUKlIa4QAI,25412
|
|
19
19
|
returnn/datasets/cached2.py,sha256=oJOq2lWRQpxm6kyUKW1w5qZBd4kdKEpwM7KY_QnXbq4,11922
|
|
20
20
|
returnn/datasets/distrib_files.py,sha256=-WNVhtvdJFP3L9Meh33oTSYc0FJSvF40mJ5UI_vJbSE,30233
|
|
21
|
-
returnn/datasets/generating.py,sha256=
|
|
21
|
+
returnn/datasets/generating.py,sha256=Qb7V94N_GfL2pZPxWS5PmzszoVXXKzuUmsHuW3dmVbc,99556
|
|
22
22
|
returnn/datasets/hdf.py,sha256=v5sjBenURR9Z-g7AQ9tsL84yDSye5RtbLpym3M6HSDE,67833
|
|
23
23
|
returnn/datasets/lm.py,sha256=rQ3jV43lSnlGkKu7m5jTTH7aK0BOMXQocsHfJ8OGec8,99950
|
|
24
24
|
returnn/datasets/map.py,sha256=kOBJVZmwDhLsOplzDNByIfa0NRSUaMo2Lsy36lBvxrM,10907
|
|
@@ -75,7 +75,7 @@ returnn/extern/graph_editor/subgraph.py,sha256=q9o0zVBLDrTIidaXg5WG5daDW0mLbwv2J
|
|
|
75
75
|
returnn/extern/graph_editor/transform.py,sha256=qMGSenpbAnGqdG6QP6iWjlm6_ccySYJaZKOoAj1dbOM,29348
|
|
76
76
|
returnn/extern/graph_editor/util.py,sha256=HfRbyQPmQ6_n5-O-096n0KeJtllQXFtaurpeJS_URZ0,18706
|
|
77
77
|
returnn/frontend/__init__.py,sha256=2aS7nbxXniIrBp2DODl0xN0f3IJ_dX4Bi9ZlR7W5_DE,1472
|
|
78
|
-
returnn/frontend/_backend.py,sha256=
|
|
78
|
+
returnn/frontend/_backend.py,sha256=MVZn2HSkF3tsqchYvy2QM9pA4ILdKq07kj-_AAHGUy0,50942
|
|
79
79
|
returnn/frontend/_cache.py,sha256=Uao2xzfvVaKABk1fkxcpXzxKIGJaI9FwwlTvvoNUstk,8550
|
|
80
80
|
returnn/frontend/_numpy_backend.py,sha256=fZjks7p3dgxVZ6tSDazTTgBxNjJqXjfqgw_7mA7rDEE,9066
|
|
81
81
|
returnn/frontend/_random_journal.py,sha256=_ktP_mjgx8vtQQGX_DofdhewJj0aPiczefTWeemPkmo,5457
|
|
@@ -155,7 +155,7 @@ returnn/sprint/interface.py,sha256=1j5SB0V8hSW8A5song9ciZtcBnZoKKfNipk9ezOIMuA,3
|
|
|
155
155
|
returnn/tensor/README.md,sha256=X6BqcRLrPLPnwF9yR69uqIFrMnNluj9pBkOPHwNgzuo,501
|
|
156
156
|
returnn/tensor/__init__.py,sha256=on6j5PEOQpck50UcsR4nJzJSDmoVy34z1Oq4efv6Ax0,154
|
|
157
157
|
returnn/tensor/_dim_extra.py,sha256=N9qkz-1WZZY0XbpFjLg4aaNie3NfadvmanHcTOFoKeg,116154
|
|
158
|
-
returnn/tensor/_tensor_extra.py,sha256=
|
|
158
|
+
returnn/tensor/_tensor_extra.py,sha256=1UPNisRAbljkvfMcrEXaPAF-2Dz7AdgC3jAKVVAnAO8,165084
|
|
159
159
|
returnn/tensor/_tensor_mixin_base.py,sha256=H5z86I0NejxrSgMH1c5oXQzBqS6L9HpvP4y7oegBaSc,643
|
|
160
160
|
returnn/tensor/_tensor_op_overloads.py,sha256=HklwuTBjy7mH_665VKaCUdu-oC3aa7Uz1ZQiCz4jeZc,5448
|
|
161
161
|
returnn/tensor/control_flow_ctx.py,sha256=L9e32AfYDUDgsEDHL07thSFyYFqwhyVSqzE_bM03Y4M,5252
|
|
@@ -177,7 +177,7 @@ returnn/tf/sprint.py,sha256=Yqjh0-6sCWHpdDPQCzHKx7TwQCOjJyjfd0KHtnYdd-8,5471
|
|
|
177
177
|
returnn/tf/updater.py,sha256=RcvoGnjBcObbLfLHH_mDRSY2lTeLyNoAFsZpHUiIgRY,72036
|
|
178
178
|
returnn/tf/frontend_layers/README.md,sha256=P4vVl_EK-4jT55m40mq-K4Nr9yFY0tJR5fmDzTHSDFE,1096
|
|
179
179
|
returnn/tf/frontend_layers/__init__.py,sha256=MGUn7rv6fOefbtkX-5pq6fC1T6Y5h0oh1uOPSEcv1_I,506
|
|
180
|
-
returnn/tf/frontend_layers/_backend.py,sha256=
|
|
180
|
+
returnn/tf/frontend_layers/_backend.py,sha256=ZHfmVD8uN0yeyqXFPxYxpnfBbjIpGQl9ykKKW9hxdD0,47537
|
|
181
181
|
returnn/tf/frontend_layers/_utils.py,sha256=ijByaDOqPDod5mZC9EoTkt8PHBEODXHsWbkwDOF9XW4,4205
|
|
182
182
|
returnn/tf/frontend_layers/cond.py,sha256=bGd_g2tzpKXO218Xk-so59vFPJF-jF_ZvoZIU-1qBzw,14832
|
|
183
183
|
returnn/tf/frontend_layers/config_entry_points.py,sha256=t01RWOiaZohzuqPXX-MLV0P5yCOfE0dz-9dZ77_pK4c,5751
|
|
@@ -190,7 +190,7 @@ returnn/tf/frontend_layers/masked_computation.py,sha256=I_TW0Qm4Yl_wPZ6TkuK7a-wB
|
|
|
190
190
|
returnn/tf/frontend_layers/parameter_assign.py,sha256=B_7kgobRyFtExiuSy2MsVGpAR36-jdG-xKABGc6EUGM,5103
|
|
191
191
|
returnn/tf/frontend_layers/prev_tensor_ref.py,sha256=EqTAanOgYAhl8o2fMylN52mfReH9heAQFdzn9CwqAX4,2282
|
|
192
192
|
returnn/tf/frontend_low_level/__init__.py,sha256=34469k3KzMUIGowxReOZnbf6WdTjxY73Gp1a4WqDN1M,62
|
|
193
|
-
returnn/tf/frontend_low_level/_backend.py,sha256=
|
|
193
|
+
returnn/tf/frontend_low_level/_backend.py,sha256=Hv838I2eyOP2qVNWs5DJxseyxUbAET2lm0ZZcbW_CsE,24991
|
|
194
194
|
returnn/tf/layers/__init__.py,sha256=Ngu-X84nWFgz7ndDu88DqoZ-5lUMMTQWH4g7N8pSoCg,72
|
|
195
195
|
returnn/tf/layers/base.py,sha256=sUxEfh6WxaHWHG7O3cfxB6gG6YpEHkFKUJVayKvTBSI,152968
|
|
196
196
|
returnn/tf/layers/basic.py,sha256=PMYNoMq8qH41QhWhJPg5Uc409GZHkcnecouorg9sqJY,615466
|
|
@@ -253,8 +253,8 @@ returnn/util/sig_proc.py,sha256=Tjz0VOAVyqu2qDCF5HZ1JjALjcFsHcNkcd96WgZeKfE,7265
|
|
|
253
253
|
returnn/util/task_system.py,sha256=y4sMVXQ25Qd2z0rx03uOlXlkE-jbCYC1Sjfn-XlraVU,26003
|
|
254
254
|
returnn/util/train_proc_manager.py,sha256=Pjht28k6uz6BNQ47uW6Gf880iyq5q4wx7P_K2tmoAM8,3266
|
|
255
255
|
returnn/util/watch_memory.py,sha256=BR5P2kvBN6UI81cE0_1WAA6Hd1SByLbBaiDxvLhPOew,4213
|
|
256
|
-
returnn-1.
|
|
257
|
-
returnn-1.
|
|
258
|
-
returnn-1.
|
|
259
|
-
returnn-1.
|
|
260
|
-
returnn-1.
|
|
256
|
+
returnn-1.20251006.114241.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
|
|
257
|
+
returnn-1.20251006.114241.dist-info/METADATA,sha256=khjeqHtAYC68kPEh0ltnHLB14E2_UOObt3MGLvgeMTY,5215
|
|
258
|
+
returnn-1.20251006.114241.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
259
|
+
returnn-1.20251006.114241.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
|
|
260
|
+
returnn-1.20251006.114241.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|