returnn 1.20260105.192646__py3-none-any.whl → 1.20260119.15400__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.
- returnn/PKG-INFO +1 -1
- returnn/__old_mod_loader__.py +26 -2
- returnn/_setup_info_generated.py +2 -2
- returnn/datasets/lm.py +110 -42
- returnn/frontend/__init__.py +1 -0
- returnn/frontend/_backend.py +41 -0
- returnn/frontend/_native/__init__.py +22 -0
- returnn/frontend/_numpy_backend.py +7 -0
- returnn/frontend/_utils.py +1 -1
- returnn/frontend/array_.py +6 -5
- returnn/frontend/assert_.py +35 -0
- returnn/frontend/device.py +14 -1
- returnn/frontend/encoder/conformer.py +19 -0
- returnn/frontend/loss.py +183 -3
- returnn/frontend/math_.py +54 -14
- returnn/native_op.cpp +104 -174
- returnn/native_op.py +36 -31
- returnn/tensor/_dim_extra.py +7 -7
- returnn/tensor/_tensor_extra.py +10 -10
- returnn/tensor/utils.py +1 -1
- returnn/tf/frontend_layers/_backend.py +3 -1
- returnn/tf/layers/basic.py +13 -2
- returnn/tf/native_op.py +16 -5
- returnn/tf/util/basic.py +7 -201
- returnn/torch/engine.py +120 -3
- returnn/torch/frontend/_backend.py +166 -22
- returnn/torch/frontend/bridge.py +61 -0
- returnn/torch/frontend/compile_helper.py +106 -0
- returnn/torch/util/array_.py +30 -0
- returnn/torch/util/assert_.py +122 -0
- returnn/torch/util/native_op.py +885 -0
- returnn/torch/util/native_op_code_compiler.py +308 -0
- returnn/util/basic.py +3 -1
- returnn/util/cuda_env.py +332 -0
- returnn/util/debug.py +1 -0
- returnn/util/fsa.py +17 -13
- returnn/util/native_code_compiler.py +104 -47
- {returnn-1.20260105.192646.dist-info → returnn-1.20260119.15400.dist-info}/METADATA +1 -1
- {returnn-1.20260105.192646.dist-info → returnn-1.20260119.15400.dist-info}/RECORD +42 -36
- {returnn-1.20260105.192646.dist-info → returnn-1.20260119.15400.dist-info}/WHEEL +1 -1
- {returnn-1.20260105.192646.dist-info → returnn-1.20260119.15400.dist-info}/LICENSE +0 -0
- {returnn-1.20260105.192646.dist-info → returnn-1.20260119.15400.dist-info}/top_level.txt +0 -0
returnn/util/fsa.py
CHANGED
|
@@ -10,7 +10,7 @@ from __future__ import annotations
|
|
|
10
10
|
import numpy
|
|
11
11
|
import pickle
|
|
12
12
|
import itertools
|
|
13
|
-
import
|
|
13
|
+
from typing import Optional, List, Tuple
|
|
14
14
|
from copy import deepcopy
|
|
15
15
|
from os.path import isfile
|
|
16
16
|
from returnn.log import log
|
|
@@ -397,7 +397,7 @@ class Ctc:
|
|
|
397
397
|
e_end_3 = Edge(self.fsa.num_states, self.fsa.num_states + 1, self.fsa.lem_list[-1][-1], 1.0)
|
|
398
398
|
self.fsa.edges.append(e_end_3)
|
|
399
399
|
self.fsa.num_states += 3
|
|
400
|
-
# add node
|
|
400
|
+
# add node number of final state
|
|
401
401
|
self.final_states.append(self.fsa.num_states - 1)
|
|
402
402
|
|
|
403
403
|
elif self.fsa.lem_edges is not None:
|
|
@@ -806,7 +806,7 @@ class Ngram:
|
|
|
806
806
|
:param int n: size of the gram (1, 2, 3)
|
|
807
807
|
"""
|
|
808
808
|
self.n = n
|
|
809
|
-
self.lexicon
|
|
809
|
+
self.lexicon: Optional[Lexicon] = None
|
|
810
810
|
# lexicon consists of 3 entries: phoneme_list, phonemes and lemmas
|
|
811
811
|
# phoneme_list: list of string phonemes in the lexicon
|
|
812
812
|
# phonemes: dict of dict of str {phone: {index: , symbol: , variation:}}
|
|
@@ -1059,7 +1059,7 @@ class FastBwFsaShared:
|
|
|
1059
1059
|
|
|
1060
1060
|
def __init__(self):
|
|
1061
1061
|
self.num_states = 1
|
|
1062
|
-
self.edges
|
|
1062
|
+
self.edges: List[Edge] = []
|
|
1063
1063
|
|
|
1064
1064
|
def add_edge(self, source_state_idx, target_state_idx, emission_idx, weight=0.0):
|
|
1065
1065
|
"""
|
|
@@ -1148,17 +1148,20 @@ class FastBwFsaShared:
|
|
|
1148
1148
|
)
|
|
1149
1149
|
|
|
1150
1150
|
|
|
1151
|
-
def get_ctc_fsa_fast_bw(
|
|
1151
|
+
def get_ctc_fsa_fast_bw(
|
|
1152
|
+
*, targets: numpy.ndarray, seq_lens: numpy.ndarray, blank_idx: int, label_loop: bool = True
|
|
1153
|
+
) -> FastBaumWelchBatchFsa:
|
|
1152
1154
|
"""
|
|
1153
|
-
:param
|
|
1154
|
-
:param
|
|
1155
|
-
:param
|
|
1156
|
-
:
|
|
1155
|
+
:param targets: shape (batch,time)
|
|
1156
|
+
:param seq_lens: shape (batch)
|
|
1157
|
+
:param blank_idx:
|
|
1158
|
+
:param label_loop:
|
|
1159
|
+
:return: FSA
|
|
1157
1160
|
"""
|
|
1158
1161
|
n_batch, n_time = targets.shape
|
|
1159
1162
|
assert seq_lens.shape == (n_batch,)
|
|
1160
|
-
edges
|
|
1161
|
-
start_end_states
|
|
1163
|
+
edges: List[Tuple[int, int, int, int]] = [] # list of (from,to,emission_idx,sequence_idx)
|
|
1164
|
+
start_end_states: List[Tuple[int, int]] = [] # list of (start,end), same len as batch
|
|
1162
1165
|
state_idx = 0
|
|
1163
1166
|
# Note: We don't use weights on the edges, i.e. they are all set to zero.
|
|
1164
1167
|
# I.e. we want that all strings for some given length T have the same probability.
|
|
@@ -1188,9 +1191,10 @@ def get_ctc_fsa_fast_bw(targets, seq_lens, blank_idx):
|
|
|
1188
1191
|
# Skip directly to final state (state_idx + 3).
|
|
1189
1192
|
edges.append((state_idx, state_idx + 3, label_idx, batch_idx)) # label
|
|
1190
1193
|
state_idx += 1
|
|
1191
|
-
|
|
1194
|
+
if label_loop:
|
|
1195
|
+
edges.append((state_idx, state_idx, label_idx, batch_idx)) # label loop
|
|
1192
1196
|
edges.append((state_idx, state_idx + 1, blank_idx, batch_idx)) # blank
|
|
1193
|
-
if not is_final_label and label_idx != next_label_idx:
|
|
1197
|
+
if not is_final_label and (not label_loop or label_idx != next_label_idx):
|
|
1194
1198
|
# Skip over blank is allowed in this case.
|
|
1195
1199
|
edges.append((state_idx, state_idx + 2, next_label_idx, batch_idx)) # next label
|
|
1196
1200
|
if next_is_final_label:
|
|
@@ -3,10 +3,11 @@ Native code compiler
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
|
-
from typing import Optional, List
|
|
6
|
+
from typing import Optional, Union, Sequence, List, Tuple, Dict
|
|
7
7
|
import typing
|
|
8
8
|
import os
|
|
9
9
|
import sys
|
|
10
|
+
import shutil
|
|
10
11
|
|
|
11
12
|
from . import basic as util
|
|
12
13
|
|
|
@@ -17,47 +18,50 @@ class NativeCodeCompiler:
|
|
|
17
18
|
"""
|
|
18
19
|
|
|
19
20
|
CacheDirName = "returnn_native"
|
|
20
|
-
CollectedCompilers
|
|
21
|
+
CollectedCompilers: Optional[List[NativeCodeCompiler]] = None
|
|
21
22
|
|
|
22
23
|
def __init__(
|
|
23
24
|
self,
|
|
24
|
-
base_name,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
base_name: str,
|
|
26
|
+
*,
|
|
27
|
+
code_version: Union[int, Tuple[int, ...]] = 1,
|
|
28
|
+
code: str,
|
|
29
|
+
is_cpp: bool = True,
|
|
30
|
+
c_macro_defines: Optional[Dict[str, Union[str, int, None]]] = None,
|
|
31
|
+
ld_flags: Optional[Sequence[str]] = None,
|
|
32
|
+
include_paths: Optional[Sequence[str]] = (),
|
|
33
|
+
include_deps: Optional[Sequence[str]] = None,
|
|
34
|
+
static_version_name: Optional[str] = None,
|
|
35
|
+
should_cleanup_old_all: bool = True,
|
|
36
|
+
should_cleanup_old_mydir: bool = False,
|
|
37
|
+
use_cxx11_abi: bool = False,
|
|
38
|
+
log_stream: Optional[typing.TextIO] = None,
|
|
39
|
+
verbose: Optional[bool] = None,
|
|
38
40
|
):
|
|
39
41
|
"""
|
|
40
|
-
:param
|
|
41
|
-
:param
|
|
42
|
-
:param
|
|
43
|
-
:param
|
|
44
|
-
:param
|
|
45
|
-
:param
|
|
46
|
-
:param
|
|
47
|
-
:param
|
|
42
|
+
:param base_name: base name for the module, e.g. "zero_out"
|
|
43
|
+
:param code_version: check for the cache whether to reuse
|
|
44
|
+
:param code: the source code itself
|
|
45
|
+
:param is_cpp: if False, C is assumed
|
|
46
|
+
:param c_macro_defines: e.g. {"TENSORFLOW": 1}
|
|
47
|
+
:param ld_flags: e.g. ["-lblas"]
|
|
48
|
+
:param include_paths:
|
|
49
|
+
:param include_deps: if provided and an existing lib file,
|
|
48
50
|
we will check if any dependency is newer
|
|
49
51
|
and we need to recompile. we could also do it automatically via -MD but that seems overkill and too slow.
|
|
50
|
-
:param
|
|
52
|
+
:param static_version_name: normally, we use .../base_name/hash as the dir
|
|
51
53
|
but this would use .../base_name/static_version_name.
|
|
52
|
-
:param
|
|
54
|
+
:param should_cleanup_old_all: whether we should look in the cache dir
|
|
53
55
|
and check all ops if we can delete some old ones which are older than some limit
|
|
54
56
|
(self._cleanup_time_limit_days)
|
|
55
|
-
:param
|
|
56
|
-
:param
|
|
57
|
-
:param
|
|
57
|
+
:param should_cleanup_old_mydir: whether we should delete our op dir before we compile there.
|
|
58
|
+
:param log_stream: file stream for print statements
|
|
59
|
+
:param verbose: be slightly more verbose
|
|
58
60
|
"""
|
|
59
61
|
if self.CollectedCompilers is not None:
|
|
60
62
|
self.CollectedCompilers.append(self)
|
|
63
|
+
if verbose is None:
|
|
64
|
+
verbose = os.environ.get("RETURNN_NATIVE_CODE_COMPILER_VERBOSE") == "1"
|
|
61
65
|
self.verbose = verbose
|
|
62
66
|
self.cache_dir = "%s/%s" % (util.get_cache_dir(), self.CacheDirName)
|
|
63
67
|
self._include_paths = list(include_paths)
|
|
@@ -69,6 +73,7 @@ class NativeCodeCompiler:
|
|
|
69
73
|
self.ld_flags = ld_flags or []
|
|
70
74
|
self.include_deps = include_deps
|
|
71
75
|
self.static_version_name = static_version_name
|
|
76
|
+
self.use_cxx11_abi = use_cxx11_abi
|
|
72
77
|
self._code_hash = self._make_code_hash()
|
|
73
78
|
self._info_dict = self._make_info_dict()
|
|
74
79
|
self._hash = self._make_hash()
|
|
@@ -76,7 +81,6 @@ class NativeCodeCompiler:
|
|
|
76
81
|
if should_cleanup_old_all:
|
|
77
82
|
self._cleanup_old()
|
|
78
83
|
self._should_cleanup_old_mydir = should_cleanup_old_mydir
|
|
79
|
-
self.use_cxx11_abi = use_cxx11_abi
|
|
80
84
|
self._log_stream = log_stream
|
|
81
85
|
if self.verbose:
|
|
82
86
|
print("%s: %r" % (self.__class__.__name__, self), file=log_stream)
|
|
@@ -157,7 +161,16 @@ class NativeCodeCompiler:
|
|
|
157
161
|
assert isinstance(res, dict)
|
|
158
162
|
return res
|
|
159
163
|
|
|
160
|
-
_relevant_info_keys = (
|
|
164
|
+
_relevant_info_keys = (
|
|
165
|
+
"code_version",
|
|
166
|
+
"code_hash",
|
|
167
|
+
"c_macro_defines",
|
|
168
|
+
"ld_flags",
|
|
169
|
+
"compiler_bin",
|
|
170
|
+
"platform",
|
|
171
|
+
"use_cxx11_abi",
|
|
172
|
+
"cpp_version",
|
|
173
|
+
)
|
|
161
174
|
|
|
162
175
|
def _make_info_dict(self):
|
|
163
176
|
"""
|
|
@@ -174,6 +187,8 @@ class NativeCodeCompiler:
|
|
|
174
187
|
"ld_flags": self.ld_flags,
|
|
175
188
|
"compiler_bin": self._get_compiler_bin(),
|
|
176
189
|
"platform": platform.platform(),
|
|
190
|
+
"use_cxx11_abi": self.use_cxx11_abi,
|
|
191
|
+
"cpp_version": self.cpp_version,
|
|
177
192
|
}
|
|
178
193
|
|
|
179
194
|
def _make_code_hash(self):
|
|
@@ -251,8 +266,8 @@ class NativeCodeCompiler:
|
|
|
251
266
|
:rtype: str
|
|
252
267
|
"""
|
|
253
268
|
if self.is_cpp:
|
|
254
|
-
return
|
|
255
|
-
return
|
|
269
|
+
return get_cpp_bin()
|
|
270
|
+
return get_cc_bin()
|
|
256
271
|
|
|
257
272
|
def _transform_compiler_opts(self, opts):
|
|
258
273
|
"""
|
|
@@ -261,27 +276,35 @@ class NativeCodeCompiler:
|
|
|
261
276
|
"""
|
|
262
277
|
return opts
|
|
263
278
|
|
|
279
|
+
cpp_version = 11
|
|
280
|
+
|
|
264
281
|
def _extra_common_opts(self):
|
|
265
282
|
"""
|
|
266
283
|
:rtype: list[str]
|
|
267
284
|
"""
|
|
268
285
|
if self.is_cpp:
|
|
269
|
-
return ["-std=c++
|
|
286
|
+
return [f"-std=c++{self.cpp_version}"]
|
|
270
287
|
return []
|
|
271
288
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
289
|
+
def _transform_ld_flags(self, opts: Sequence[str]) -> Sequence[str]:
|
|
290
|
+
res = []
|
|
291
|
+
for opt in opts:
|
|
292
|
+
if opt.startswith("-l") or opt.startswith("-L"):
|
|
293
|
+
res.append(opt)
|
|
294
|
+
else:
|
|
295
|
+
res.append("-Wl," + opt)
|
|
296
|
+
opts = res
|
|
278
297
|
if sys.platform == "darwin":
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
298
|
+
res = []
|
|
299
|
+
for opt in opts:
|
|
300
|
+
# It seems some versions of MacOS ld cannot handle the `-l:filename` argument correctly.
|
|
301
|
+
# E.g. TensorFlow 1.14 incorrectly uses this.
|
|
302
|
+
# https://github.com/tensorflow/tensorflow/issues/30564
|
|
303
|
+
if opt.startswith("-l:lib") and opt.endswith(".dylib"):
|
|
304
|
+
opt = "-l%s" % opt[len("-l:lib") : -len(".dylib")]
|
|
305
|
+
res.append(opt)
|
|
306
|
+
return res
|
|
307
|
+
return opts
|
|
285
308
|
|
|
286
309
|
def _maybe_compile_inner(self):
|
|
287
310
|
# Directory should be created by the locking mechanism.
|
|
@@ -300,7 +323,7 @@ class NativeCodeCompiler:
|
|
|
300
323
|
common_opts += ["-D%s=%s" % item for item in sorted(self.c_macro_defines.items())]
|
|
301
324
|
common_opts += ["-g"]
|
|
302
325
|
opts = common_opts + [self._c_filename, "-o", self._so_filename]
|
|
303
|
-
opts +=
|
|
326
|
+
opts += self._transform_ld_flags(self.ld_flags)
|
|
304
327
|
cmd_bin = self._get_compiler_bin()
|
|
305
328
|
cmd_args = [cmd_bin] + opts
|
|
306
329
|
from subprocess import Popen, PIPE, STDOUT, CalledProcessError
|
|
@@ -348,3 +371,37 @@ class NativeCodeCompiler:
|
|
|
348
371
|
"""
|
|
349
372
|
self._maybe_compile()
|
|
350
373
|
return self._so_filename
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
def get_cc_bin() -> str:
|
|
377
|
+
"""
|
|
378
|
+
:return: path
|
|
379
|
+
"""
|
|
380
|
+
cc_bin = os.environ.get("CC", "")
|
|
381
|
+
if cc_bin:
|
|
382
|
+
if cc_bin.startswith("/"):
|
|
383
|
+
return cc_bin
|
|
384
|
+
cc_bin = shutil.which(cc_bin)
|
|
385
|
+
if cc_bin:
|
|
386
|
+
return cc_bin
|
|
387
|
+
cc_bin = shutil.which("cc") or shutil.which("clang") or shutil.which("gcc")
|
|
388
|
+
if not cc_bin:
|
|
389
|
+
raise RuntimeError("Cannot find C compiler (cc, clang, gcc) in PATH")
|
|
390
|
+
return cc_bin
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
def get_cpp_bin() -> str:
|
|
394
|
+
"""
|
|
395
|
+
:return: path
|
|
396
|
+
"""
|
|
397
|
+
cpp_bin = os.environ.get("CXX", "")
|
|
398
|
+
if cpp_bin:
|
|
399
|
+
if cpp_bin.startswith("/"):
|
|
400
|
+
return cpp_bin
|
|
401
|
+
cpp_bin = shutil.which(cpp_bin)
|
|
402
|
+
if cpp_bin:
|
|
403
|
+
return cpp_bin
|
|
404
|
+
cpp_bin = shutil.which("c++") or shutil.which("cpp") or shutil.which("clang++") or shutil.which("g++")
|
|
405
|
+
if not cpp_bin:
|
|
406
|
+
raise RuntimeError("Cannot find C++ compiler (c++, cpp, clang++, g++) in PATH")
|
|
407
|
+
return cpp_bin
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
returnn/PKG-INFO,sha256=
|
|
1
|
+
returnn/PKG-INFO,sha256=nQf6tM6K9xgVpz2swsHGgZ3_KKOTmOxapJUGOhaHKtw,5215
|
|
2
2
|
returnn/__init__.py,sha256=biBtRsM0WZ406vShaeH-9WFoqJ8XwTbn6g0EeFJ7l8E,1012
|
|
3
3
|
returnn/__main__.py,sha256=lHyZcu_0yc9f7Vf_Kfdy9PmeU0T76XVXnpalHi5WKro,31740
|
|
4
|
-
returnn/__old_mod_loader__.py,sha256
|
|
4
|
+
returnn/__old_mod_loader__.py,sha256=-XAtilhq87CqmWmK2awbfGLoPAwjLGVu8t4QAxCw0fQ,9436
|
|
5
5
|
returnn/__setup__.py,sha256=22kQn2fh11iPM0hLb2Fy5sLmoU1JGvmDxXRYuRgQkwU,4659
|
|
6
|
-
returnn/_setup_info_generated.py,sha256=
|
|
6
|
+
returnn/_setup_info_generated.py,sha256=XH82je_dpqKnzUiIkr5fglLLaBi9laA2hmccLLMN3Ig,77
|
|
7
7
|
returnn/config.py,sha256=JK8EjDsUdyY2c90s0KY1rLD1kesVfz6vRT0gxy_AQ5I,29142
|
|
8
8
|
returnn/forward_iface.py,sha256=A_OJiaXsX4MlXQRzST86ylyxSUZbC402PQL1REcqHjM,911
|
|
9
9
|
returnn/learning_rate_control.py,sha256=ZvWryAn_tv9DhV8sh1LV3eE34Yltl3On3mYZAG4hR9s,34684
|
|
10
10
|
returnn/log.py,sha256=WoTDv4XDovgvgXa7iiav-nA8pb25lOEzndbnVrDLfUo,12319
|
|
11
|
-
returnn/native_op.cpp,sha256=
|
|
12
|
-
returnn/native_op.py,sha256=
|
|
11
|
+
returnn/native_op.cpp,sha256=qvaK7-v5pBh9T5pgYUoBc9hAUM-cFIzK2xQ1pmo0a4E,35962
|
|
12
|
+
returnn/native_op.py,sha256=ASGoaZuynbITviP4miyVHyHWH40AvXUfJiQcBAQT7iU,244711
|
|
13
13
|
returnn/pretrain.py,sha256=MHiXJZqkQFmDVyaYsGpd_Acv20wxl7Pr6s6qJzAT2FI,22648
|
|
14
14
|
returnn/datasets/__init__.py,sha256=PvDlfDOaaopIeUIt0OSvHD2eHZkdkyE-sjMXf35EH5U,390
|
|
15
15
|
returnn/datasets/audio.py,sha256=Gmj7a08dnvYh7Z-G1TNapz42L50AIcDE9JeIZaO1s1M,23334
|
|
@@ -21,7 +21,7 @@ returnn/datasets/distrib_files.py,sha256=48edqdf7YpnPJ-TOis3Mz5U9A2DSxfiYT1HCMSt
|
|
|
21
21
|
returnn/datasets/generating.py,sha256=o9-JZ2s5QKssux6GcSaM3oivf_PE6nhSOeytRyGB7pQ,99574
|
|
22
22
|
returnn/datasets/hdf.py,sha256=v5sjBenURR9Z-g7AQ9tsL84yDSye5RtbLpym3M6HSDE,67833
|
|
23
23
|
returnn/datasets/huggingface.py,sha256=ls9WMR6gUcMgGksl80g0An1az5Xjya_V3ojbbbsZqrU,20047
|
|
24
|
-
returnn/datasets/lm.py,sha256=
|
|
24
|
+
returnn/datasets/lm.py,sha256=riDa7rkwOuPX53_0y9wgQ_s2A9453BX0gWGV0HX29_M,103614
|
|
25
25
|
returnn/datasets/map.py,sha256=kOBJVZmwDhLsOplzDNByIfa0NRSUaMo2Lsy36lBvxrM,10907
|
|
26
26
|
returnn/datasets/meta.py,sha256=hTtfwINIxP2S4JQ5IQXzvTh2MixwxzeF06pPTW36yl0,101456
|
|
27
27
|
returnn/datasets/multi_proc.py,sha256=BClXq0fActi1XQa4vcMhHmhYF0Q-fnnDzlIlbBM6_DM,22614
|
|
@@ -75,13 +75,14 @@ returnn/extern/graph_editor/select.py,sha256=VAds2FqTGU7o4K2l6TW2KMOxUxh-kLl4bn7
|
|
|
75
75
|
returnn/extern/graph_editor/subgraph.py,sha256=q9o0zVBLDrTIidaXg5WG5daDW0mLbwv2J-Zse8059gM,26569
|
|
76
76
|
returnn/extern/graph_editor/transform.py,sha256=qMGSenpbAnGqdG6QP6iWjlm6_ccySYJaZKOoAj1dbOM,29348
|
|
77
77
|
returnn/extern/graph_editor/util.py,sha256=HfRbyQPmQ6_n5-O-096n0KeJtllQXFtaurpeJS_URZ0,18706
|
|
78
|
-
returnn/frontend/__init__.py,sha256=
|
|
79
|
-
returnn/frontend/_backend.py,sha256=
|
|
78
|
+
returnn/frontend/__init__.py,sha256=2enFj5UdFgbDFUmKUoNH55LmAKr_65GZKyoYHmmy6QQ,1495
|
|
79
|
+
returnn/frontend/_backend.py,sha256=fLVSGf4FwoxemGx8JynX0m6VQRREWAAfNNFyADLQXnQ,52002
|
|
80
80
|
returnn/frontend/_cache.py,sha256=Uao2xzfvVaKABk1fkxcpXzxKIGJaI9FwwlTvvoNUstk,8550
|
|
81
|
-
returnn/frontend/_numpy_backend.py,sha256=
|
|
81
|
+
returnn/frontend/_numpy_backend.py,sha256=R1xw0CDhTzigg_X7i456GkTxKbdda0MWpdMxxJK665k,9319
|
|
82
82
|
returnn/frontend/_random_journal.py,sha256=_ktP_mjgx8vtQQGX_DofdhewJj0aPiczefTWeemPkmo,5457
|
|
83
|
-
returnn/frontend/_utils.py,sha256=
|
|
84
|
-
returnn/frontend/array_.py,sha256=
|
|
83
|
+
returnn/frontend/_utils.py,sha256=LTwYQJBT9XjRdC2kVvHy29eUN5qARNSLGMJk90a8PjI,12076
|
|
84
|
+
returnn/frontend/array_.py,sha256=2VQYtlB6OiKdpkU9H_w_jIUrb7mlxizz7KKOHjnYaeo,56795
|
|
85
|
+
returnn/frontend/assert_.py,sha256=jLckJYV6gfb5TaaoRq6Q7pyqr3gNySbzjryEotb8zPs,995
|
|
85
86
|
returnn/frontend/attention.py,sha256=bFD9Ei6GxSi-BC1OfueDyTIE-51a3dKKZOWdSIbz7l8,46633
|
|
86
87
|
returnn/frontend/backend.py,sha256=iQ9w4xl8Ea7bgpb0VUaCKq50rV5Bl2E5J8Rhd-oqD_c,883
|
|
87
88
|
returnn/frontend/build_from_dict.py,sha256=rfWa2rjjhIR_kIQED_nMrygrQBunS6unegzWTLVbC98,3017
|
|
@@ -90,7 +91,7 @@ returnn/frontend/const.py,sha256=A5fP9w6Akv56d89pPvdoZaXvC9ZTYcexepnS9O2clOc,394
|
|
|
90
91
|
returnn/frontend/container.py,sha256=wF3OlQN7WlOVmmdapUth_Unha3DVf6h1B7okBJAuJDA,8011
|
|
91
92
|
returnn/frontend/control_flow_ctx.py,sha256=v17CsNwRnZYe8GdMtGJt2ftibfxMCGK1i0l-GX5ILu0,699
|
|
92
93
|
returnn/frontend/conv.py,sha256=RbVyFGspn40VNT1B-KWWaDBBUhd7VFhKTN-V_SrwPlU,39514
|
|
93
|
-
returnn/frontend/device.py,sha256=
|
|
94
|
+
returnn/frontend/device.py,sha256=gX7zPRZrnhjMgpgg6aACtE7Lg6qYlzerYbeCTiRhxhw,1665
|
|
94
95
|
returnn/frontend/dims.py,sha256=_HDU-Kxn3pApicFkm0F4Fs-ZAuF1gKXG8rroQHCFQQI,13073
|
|
95
96
|
returnn/frontend/dropout.py,sha256=TjqZCKDIOBeHr14-NCemOm9m3p84LxQuPH1DvRAYg88,5028
|
|
96
97
|
returnn/frontend/dtype.py,sha256=Ooc5BrcNrTp6XShuFEV9g5V6-niuy4ImP_Lt_Qgq3jE,1886
|
|
@@ -101,8 +102,8 @@ returnn/frontend/init.py,sha256=bVB7bpghaY8DI_HL0mkB_9z95onWnIX2zlW4hlMYnRw,7494
|
|
|
101
102
|
returnn/frontend/label_smoothing.py,sha256=lxmaowNr61sCMzMewqHhu1r0CcklYfhLXlFnBu8DeAU,5676
|
|
102
103
|
returnn/frontend/linear.py,sha256=xRUjnkD3MTWDezSaYATBYJQ2fa1RhKMNrTuhC54hhVs,2252
|
|
103
104
|
returnn/frontend/loop.py,sha256=t-z6ke1X03I2aPUEqLYmVZWyMzfW3IedFvKUGc-TCX8,16160
|
|
104
|
-
returnn/frontend/loss.py,sha256=
|
|
105
|
-
returnn/frontend/math_.py,sha256=
|
|
105
|
+
returnn/frontend/loss.py,sha256=uY4nPuUH4O2VTe5jIqqlFagVwtejZflT6JN-fn-S3Fo,16422
|
|
106
|
+
returnn/frontend/math_.py,sha256=wIWYtjcIEV_QXNJiNT1lYsVRQdNLxtBbTYiAPr_OR3Y,18442
|
|
106
107
|
returnn/frontend/matmul.py,sha256=xkueyxzSDz8MsYaWxPSjmV2Yy-tcaiOQDXbFt1IQM2A,1944
|
|
107
108
|
returnn/frontend/module.py,sha256=nt35I9xyHuH42qobLHGUFoNI5-mVieAtA36SqK6NhpY,11065
|
|
108
109
|
returnn/frontend/nested.py,sha256=PKsKWHwE2SI19DjZ9vRI8q4-ywIGMK3-TTUuqdXrVlM,15592
|
|
@@ -120,7 +121,7 @@ returnn/frontend/state.py,sha256=EePdrx6PtWL4mJ2XZmGlh5dl4nq6G9wZpqP4hdDEzfY,293
|
|
|
120
121
|
returnn/frontend/stepwise_scheduler.py,sha256=fMOTR7npGCDXrXDmSQ4VwmudoHEbY3Yr-QGyjFdQJSc,927
|
|
121
122
|
returnn/frontend/tensor_array.py,sha256=Ej7CHtvpY0yBROlAk5vFe3CTXh-iAuqu9qcXS3Qxt2I,4328
|
|
122
123
|
returnn/frontend/types.py,sha256=r-QsxPQyFSr9WwCRzqTn_X5jQLbjthrtjHavY8XIDmk,1099
|
|
123
|
-
returnn/frontend/_native/__init__.py,sha256=
|
|
124
|
+
returnn/frontend/_native/__init__.py,sha256=VVK0x6Z7OZa3Sb4QDSz9sRrBhX8FfYdvrwhAg4W9-cc,6839
|
|
124
125
|
returnn/frontend/_native/backend.cpp,sha256=MeHczHypwj_ncntOxRqanK8SqGyV9Eq1X0cpMWb_WII,4768
|
|
125
126
|
returnn/frontend/_native/backend.hpp,sha256=Wq80dcEzXfRNxGOXFnIgHllkiv1rDi3KpHK-xxJsSDI,791
|
|
126
127
|
returnn/frontend/_native/module.cpp,sha256=9BCUoDTZDJ6hlXp4pUus1BlN7-oxcRy6tK9ctyCkwk0,15709
|
|
@@ -139,7 +140,7 @@ returnn/frontend/decoder/__init__.py,sha256=A-koKyPVlXp_V_2bk6GKZ1Xfv4rYIcfxGMXQ
|
|
|
139
140
|
returnn/frontend/decoder/transformer.py,sha256=64Z1IY_WcDuj8Ti73BGwbT_grrEpxBl5mIsBZkqJzHQ,24650
|
|
140
141
|
returnn/frontend/encoder/__init__.py,sha256=0QGLlujRIKx3zBREeShza_-xhGIxj73zbd7t-g1m-ho,17
|
|
141
142
|
returnn/frontend/encoder/base.py,sha256=A759EwCYAmSi-kzXz1vaTjR2l59TvNGQlzaNdp3UOKs,2109
|
|
142
|
-
returnn/frontend/encoder/conformer.py,sha256=
|
|
143
|
+
returnn/frontend/encoder/conformer.py,sha256=I1OeaU2P7lm-N_ODS_P4BVQaplJR4Ies1Yd7Lr9mdFw,22225
|
|
143
144
|
returnn/frontend/encoder/conformer_v2.py,sha256=vAYdT8m2Zzg3IIZZafeccClFHU1_c9T-EgBOsHadQPA,7701
|
|
144
145
|
returnn/frontend/encoder/e_branchformer.py,sha256=SZdhpb90FaQdpzgvSOtFPLbLCa0NdycbB5Z4vMoY4TM,12279
|
|
145
146
|
returnn/frontend/encoder/transformer.py,sha256=0-ku9A8r_w3USQd0aAQ0fdPvFILNWcGaGZ7g3SE-Xjo,11656
|
|
@@ -155,8 +156,8 @@ returnn/sprint/extern_interface.py,sha256=l-v1X-Yg0UpTFe7Y3c4FwWOqpSNuv9Oy5EzqlK
|
|
|
155
156
|
returnn/sprint/interface.py,sha256=1j5SB0V8hSW8A5song9ciZtcBnZoKKfNipk9ezOIMuA,36491
|
|
156
157
|
returnn/tensor/README.md,sha256=X6BqcRLrPLPnwF9yR69uqIFrMnNluj9pBkOPHwNgzuo,501
|
|
157
158
|
returnn/tensor/__init__.py,sha256=on6j5PEOQpck50UcsR4nJzJSDmoVy34z1Oq4efv6Ax0,154
|
|
158
|
-
returnn/tensor/_dim_extra.py,sha256=
|
|
159
|
-
returnn/tensor/_tensor_extra.py,sha256=
|
|
159
|
+
returnn/tensor/_dim_extra.py,sha256=8HLTvgEnThCp7GdtB714Tvs4ad939jZmhpS3qab03sU,116790
|
|
160
|
+
returnn/tensor/_tensor_extra.py,sha256=ClwZBfaOavDtapXYpYRhDTGE85bzvRqox5mF_OnEHds,165112
|
|
160
161
|
returnn/tensor/_tensor_mixin_base.py,sha256=H5z86I0NejxrSgMH1c5oXQzBqS6L9HpvP4y7oegBaSc,643
|
|
161
162
|
returnn/tensor/_tensor_op_overloads.py,sha256=HklwuTBjy7mH_665VKaCUdu-oC3aa7Uz1ZQiCz4jeZc,5448
|
|
162
163
|
returnn/tensor/control_flow_ctx.py,sha256=L9e32AfYDUDgsEDHL07thSFyYFqwhyVSqzE_bM03Y4M,5252
|
|
@@ -164,7 +165,7 @@ returnn/tensor/dim.py,sha256=652DlcSe6o6l5OyY5xt9Yigij_Xry-ToG9AemMX3roY,4208
|
|
|
164
165
|
returnn/tensor/marked_dim.py,sha256=Ae2hQIb5QixRU2gDhQEm0tmYt8TmomWoGERB414jR8o,1884
|
|
165
166
|
returnn/tensor/tensor.py,sha256=IIHbDu0D_aX8U4LKTm5ThD_fuoGhn98B9EyvVBsPJ3E,9083
|
|
166
167
|
returnn/tensor/tensor_dict.py,sha256=-20YPbXfRDE9WurkfQM-Mw6H8ouaBGL_90SDmK0b4cw,7534
|
|
167
|
-
returnn/tensor/utils.py,sha256=
|
|
168
|
+
returnn/tensor/utils.py,sha256=4BUBot_FKtkqqe_ubfBW-QZXZWA_X5HGJwL7fs7Q3W4,9998
|
|
168
169
|
returnn/tf/__init__.py,sha256=X4g2LFCFTl0uiybMRkfBY8AYkgMa6HX0vVxxTk0nMiE,88
|
|
169
170
|
returnn/tf/compat.py,sha256=NkAkdlR37m2d9qh3i33sIfEGilOaFBeCofAQpQwnZpY,1632
|
|
170
171
|
returnn/tf/data_pipeline.py,sha256=iNkNHv5PiGcudlajG8eO336rPD3hya5kWMDrjhWa4jA,36632
|
|
@@ -172,13 +173,13 @@ returnn/tf/distributed.py,sha256=PCLspuNg4XP4ZX3Q444IlohUJEy0Dc8rp8YlmDqVbEc,151
|
|
|
172
173
|
returnn/tf/engine.py,sha256=nhAMSEVUIf6Onm8jaRkT2CuY5XbOV5CEeWyOMUk67kY,146610
|
|
173
174
|
returnn/tf/horovod.py,sha256=Dpv_3wZxB8q8Gqk6xah4iJ4vKGKWWg1-7PPhpSMPlec,5404
|
|
174
175
|
returnn/tf/hyper_param_tuning.py,sha256=IfVRYYz-oSwOa2E7-vwh-pnWL4j-StHHbSYv7VbvcPE,31619
|
|
175
|
-
returnn/tf/native_op.py,sha256=
|
|
176
|
+
returnn/tf/native_op.py,sha256=OAoenmPU96GKE-QG2LSeezV6-PjQ6U2WZU_xelLuF88,77723
|
|
176
177
|
returnn/tf/network.py,sha256=ZBo5qXOZHBJLjv2E8y9APeiRIpz5KEQdc6GN3rl6LBM,224668
|
|
177
178
|
returnn/tf/sprint.py,sha256=Yqjh0-6sCWHpdDPQCzHKx7TwQCOjJyjfd0KHtnYdd-8,5471
|
|
178
179
|
returnn/tf/updater.py,sha256=RcvoGnjBcObbLfLHH_mDRSY2lTeLyNoAFsZpHUiIgRY,72036
|
|
179
180
|
returnn/tf/frontend_layers/README.md,sha256=P4vVl_EK-4jT55m40mq-K4Nr9yFY0tJR5fmDzTHSDFE,1096
|
|
180
181
|
returnn/tf/frontend_layers/__init__.py,sha256=MGUn7rv6fOefbtkX-5pq6fC1T6Y5h0oh1uOPSEcv1_I,506
|
|
181
|
-
returnn/tf/frontend_layers/_backend.py,sha256=
|
|
182
|
+
returnn/tf/frontend_layers/_backend.py,sha256=nSQQi7v3r82J1MooJZLo808MuhMlboRY0YnRVi0xSPk,47773
|
|
182
183
|
returnn/tf/frontend_layers/_utils.py,sha256=ijByaDOqPDod5mZC9EoTkt8PHBEODXHsWbkwDOF9XW4,4205
|
|
183
184
|
returnn/tf/frontend_layers/cond.py,sha256=bGd_g2tzpKXO218Xk-so59vFPJF-jF_ZvoZIU-1qBzw,14832
|
|
184
185
|
returnn/tf/frontend_layers/config_entry_points.py,sha256=t01RWOiaZohzuqPXX-MLV0P5yCOfE0dz-9dZ77_pK4c,5751
|
|
@@ -194,13 +195,13 @@ returnn/tf/frontend_low_level/__init__.py,sha256=34469k3KzMUIGowxReOZnbf6WdTjxY7
|
|
|
194
195
|
returnn/tf/frontend_low_level/_backend.py,sha256=Hv838I2eyOP2qVNWs5DJxseyxUbAET2lm0ZZcbW_CsE,24991
|
|
195
196
|
returnn/tf/layers/__init__.py,sha256=Ngu-X84nWFgz7ndDu88DqoZ-5lUMMTQWH4g7N8pSoCg,72
|
|
196
197
|
returnn/tf/layers/base.py,sha256=sUxEfh6WxaHWHG7O3cfxB6gG6YpEHkFKUJVayKvTBSI,152968
|
|
197
|
-
returnn/tf/layers/basic.py,sha256=
|
|
198
|
+
returnn/tf/layers/basic.py,sha256=swpmYuzuXv29ypfhqw5Bgghv00zaOxzwN9HxCSOavkY,614435
|
|
198
199
|
returnn/tf/layers/rec.py,sha256=3f6M_5aAMPvx7aAHdPV3VSFRHf7tjpp8lrXSzmk1I5c,548435
|
|
199
200
|
returnn/tf/layers/segmental_model.py,sha256=wUyDZGr-eTVIIQWcsHLML0wtOxuWn_NFKOIrUKQcvoI,21515
|
|
200
201
|
returnn/tf/layers/signal_processing.py,sha256=vRlkN7k7otk9_Qdv0qr_l6V0VT5Q6dO2MxwZWb2HH2M,52693
|
|
201
202
|
returnn/tf/layers/variable.py,sha256=G1dIEoq0iQsXp-uOAUPTaBKHSOQfx7Sn-spD8MRv0HM,11446
|
|
202
203
|
returnn/tf/util/__init__.py,sha256=mEg5jNVbQBLO2TGwO4Ff2F5qQN5_Zg4hAAQfX5taeec,92
|
|
203
|
-
returnn/tf/util/basic.py,sha256=
|
|
204
|
+
returnn/tf/util/basic.py,sha256=ODlBV5rFgKuhCrBh9GdMDo8WJb44ZQLe6m2T62o5qfI,297397
|
|
204
205
|
returnn/tf/util/data.py,sha256=AlSa0r_IaXtjKG1q1vxUybFazpjt4lUX8LYq0STJv-w,29471
|
|
205
206
|
returnn/tf/util/gradient_checkpoint.py,sha256=_1NGAmNZ5NiGhFYVRWvBV5yejt-EZWbbvxNWHbESp5Q,7426
|
|
206
207
|
returnn/tf/util/ken_lm.py,sha256=R60UAoywriuDIeQ2Hk3Vm_waf2Hxxc88ofzEw6X6Sd4,17313
|
|
@@ -208,7 +209,7 @@ returnn/tf/util/open_fst.py,sha256=sZRDw4TbxvhGqpGdUJWy1ebvlZm4_RPhygpRw9uLAOQ,1
|
|
|
208
209
|
returnn/torch/README.md,sha256=jzJ2FpOHW02vxN69yKaV97C9LI-hmvjBglKfdZXIDdc,85
|
|
209
210
|
returnn/torch/__init__.py,sha256=MHEUyNHB20Vy89uKAqZoj6FxJKF1Gq3HW-i6ra1pNcI,24
|
|
210
211
|
returnn/torch/distributed.py,sha256=_lyJR71HIoCHpMi5GztGM7YwrX54Am8zSkjnDkE1Lbk,7524
|
|
211
|
-
returnn/torch/engine.py,sha256=
|
|
212
|
+
returnn/torch/engine.py,sha256=JnoGrAakIUIsSXVEIVIXqTOVcDYJASVoRNZQrOPNrdA,85368
|
|
212
213
|
returnn/torch/updater.py,sha256=nNd1mBPQyvIB096BEFi0KKmRI-U3jnRETzb743p2B9c,32064
|
|
213
214
|
returnn/torch/data/__init__.py,sha256=6cLNEi8KoGI12PF6akN7mI_mtjlx-0hcQAfMYoExwik,132
|
|
214
215
|
returnn/torch/data/extern_data.py,sha256=5al706ZaYtHWLp5VH2vS-rW69YXP3NHyOFRKY0WY714,7810
|
|
@@ -217,36 +218,41 @@ returnn/torch/data/queued_data_iter.py,sha256=PoOsGHdHVZjTmcyfq_ZOw--P6hyfTdmAWI
|
|
|
217
218
|
returnn/torch/data/returnn_dataset_wrapper.py,sha256=fMahf05G0SPYm6HxSQpVm8JhsIHons-i1Ce4aQv4IjM,8332
|
|
218
219
|
returnn/torch/data/tensor_utils.py,sha256=-Teqi--LLbt6q_5mDRdoHZHmPgSdC83W706ukif_YiU,1284
|
|
219
220
|
returnn/torch/frontend/__init__.py,sha256=AA48HZnC17ASuKA0EWy8loZ-Bib_yUtqF4T1wYvjst4,62
|
|
220
|
-
returnn/torch/frontend/_backend.py,sha256=
|
|
221
|
+
returnn/torch/frontend/_backend.py,sha256=WpdsoF1_d6iszPshRa4QNkdNmsjZd3issuyV9OdKT3U,115398
|
|
221
222
|
returnn/torch/frontend/_rand.py,sha256=1JgIkV2XmpgJD86zXZ-NCAe-QuoP2swr6NaS1oz3Qa8,1830
|
|
222
|
-
returnn/torch/frontend/bridge.py,sha256=
|
|
223
|
+
returnn/torch/frontend/bridge.py,sha256=RBtAIlYWn_AC-GaHWperrOncPjMLWAOrU30pWk2789A,9775
|
|
224
|
+
returnn/torch/frontend/compile_helper.py,sha256=ax8ax5mjC8PDHtwTQzHYWUNRoKjZMuYHF6me9VdxiSY,2969
|
|
223
225
|
returnn/torch/frontend/raw_ops.py,sha256=lF0h-KtYYsdaaqQADylVZp9qzPskOOXA4MfmYDyx5IU,296
|
|
224
226
|
returnn/torch/optim/README.md,sha256=0iH5FiKb7iDrVK5n8V6yCh4ciCFG2YSbyh7lPneT5ik,360
|
|
225
227
|
returnn/torch/optim/__init__.py,sha256=yxdbnOkXAHzZ_t6cHi6zn5x_DQNlLZJ-KxZByHTIg1U,29
|
|
226
228
|
returnn/torch/optim/lion.py,sha256=jV_qfwyyO5HAgqW94caap-ALkVjU688RpRgkZyLNZ5Y,5432
|
|
227
229
|
returnn/torch/util/README.md,sha256=AW-6ueWhgcwDcm57md6sm227QXNkvLnlRLwaH7NlS-w,193
|
|
228
230
|
returnn/torch/util/__init__.py,sha256=AOXYUjzPm0XrzFJCPAXo9Jj_FvqD1XH3FfKtho80Vl8,26
|
|
229
|
-
returnn/torch/util/array_.py,sha256=
|
|
231
|
+
returnn/torch/util/array_.py,sha256=e0BKaF5S_asqDKjeC-ui66lKAQ_zwUOBKhpRcvtzELY,3795
|
|
232
|
+
returnn/torch/util/assert_.py,sha256=dVtEue0jRCMbniZPAPRKHPuffznm6URRwovRbzi2xCk,3834
|
|
230
233
|
returnn/torch/util/debug_inf_nan.py,sha256=fmzSSTJJyLf7i5yDWRHLeDI0gxvadeqLE8RxMuSHx_4,6398
|
|
231
234
|
returnn/torch/util/diagnose_gpu.py,sha256=_yswLmwR8Q2rCsv2jI5FUQNBT__453jBmiWYwazdu20,6808
|
|
232
235
|
returnn/torch/util/exception_helper.py,sha256=54IzlsXYp6E_rEEWIpgppkFid9stb-2PZVRU8d5mFNE,4497
|
|
233
236
|
returnn/torch/util/gradient_checkpoint.py,sha256=iLy-FB65DC8O6LxzmMvFjnSdpIVpko87ppIvRKAbtpQ,27995
|
|
234
237
|
returnn/torch/util/module.py,sha256=MXHIrF9Isu575DDJIa81212ULKwdqu1oOLxDVZecVSk,1693
|
|
238
|
+
returnn/torch/util/native_op.py,sha256=44z5-9-w6uKVcupmOAoLZq2gr80HJ5-VbCrHP66A89c,33740
|
|
239
|
+
returnn/torch/util/native_op_code_compiler.py,sha256=6DFpf_Gmygv3g1crx1jzoTqo6do2K1vDGuWL5OoEbqk,11651
|
|
235
240
|
returnn/torch/util/scaled_gradient.py,sha256=C5e79mpqtxdtw08OTSy413TSBSlOertRisc-ioiFIaU,3191
|
|
236
241
|
returnn/util/__init__.py,sha256=UIG1qw4idqhW71BV60ha7h9PktxvEVcBIu0lYRossK8,336
|
|
237
|
-
returnn/util/basic.py,sha256=
|
|
242
|
+
returnn/util/basic.py,sha256=WW0EFnCaY8tIMbHKeADMP1nmtBD4Q3jj4qcGLWVi1FI,143247
|
|
238
243
|
returnn/util/better_exchook.py,sha256=hOKazwv2q2-d0XMfxkJXMbLZyNTtraV3jPHplFcrMsg,71014
|
|
239
244
|
returnn/util/bpe.py,sha256=LWFhICZsEOnMwNws0lybPNzKRX6rSr8yKCvP65vjl9Y,19656
|
|
240
245
|
returnn/util/collect_outputs_dict.py,sha256=CjpsftoMgmvyE4wNKTO6F-QQ_44QHXcOZIXMUMQVZ-8,2637
|
|
241
|
-
returnn/util/
|
|
246
|
+
returnn/util/cuda_env.py,sha256=8aZRGZnYhSOY2wu7P8KZTWW_IcWEhwOQd3Lq0bEsqS8,11602
|
|
247
|
+
returnn/util/debug.py,sha256=Ndq5nz-tMEG9ZNwZTbgOkQYB9JSvAwF8r0o53Gf2EbM,28653
|
|
242
248
|
returnn/util/debug_helpers.py,sha256=0EINLK4uLtoSt5_kHs1M2NIFpMd0S7i4c4rx90U4fJk,2914
|
|
243
249
|
returnn/util/file_cache.py,sha256=8xE4zMQi38g7ZIGwNohd13_CgjzpIs18ILxFCKttzxE,29439
|
|
244
|
-
returnn/util/fsa.py,sha256=
|
|
250
|
+
returnn/util/fsa.py,sha256=j0e3DM_OxFTKjt0kW5GSdbNPz6rLWmBxsMQ2xtwSRo0,59254
|
|
245
251
|
returnn/util/literal_py_to_pickle.py,sha256=3dnjWPeeiDT2xp4bRDgIf9yddx7b1AG7mOKEn_jiSl8,2173
|
|
246
252
|
returnn/util/lru_cache.py,sha256=7Q5H3a8b07E8e1iB7PA9jCpRnxMJZOFS2KO07cy0gqk,11446
|
|
247
253
|
returnn/util/math.py,sha256=ximPqNsv0Wu6VNcCLqNfsmSu1s-VPsAJYt5nEvFZVtY,6691
|
|
248
254
|
returnn/util/multi_proc_non_daemonic_spawn.py,sha256=YCW3Gry0RJ9Dsc5bKfZ77Q06eLjq6winGniYllJE7PU,9057
|
|
249
|
-
returnn/util/native_code_compiler.py,sha256=
|
|
255
|
+
returnn/util/native_code_compiler.py,sha256=DEqp8MwQZwihCfV4IlEjmq4_nX4HbicwskDhw2UNx-s,14928
|
|
250
256
|
returnn/util/pprint.py,sha256=1bbfe07X8ESFDzZFKuCqsRaCFKM8C4ftbsCSjYve93k,8131
|
|
251
257
|
returnn/util/py-to-pickle.cpp,sha256=ByU4cwy5MGEihaoYiRo1sSsJfYn10_riDwVqSHRLwp8,14864
|
|
252
258
|
returnn/util/py_ext_mod_compiler.py,sha256=I1w9laIPqJbQGb2lFp-3llBjORS-217ZGIbPCp6PIes,1708
|
|
@@ -255,8 +261,8 @@ returnn/util/sig_proc.py,sha256=Tjz0VOAVyqu2qDCF5HZ1JjALjcFsHcNkcd96WgZeKfE,7265
|
|
|
255
261
|
returnn/util/task_system.py,sha256=7Dz7Nvi_1-o5pDv9OZYdAnlJw6OSvgbYUmQ72P0Fgkw,26002
|
|
256
262
|
returnn/util/train_proc_manager.py,sha256=Pjht28k6uz6BNQ47uW6Gf880iyq5q4wx7P_K2tmoAM8,3266
|
|
257
263
|
returnn/util/watch_memory.py,sha256=BR5P2kvBN6UI81cE0_1WAA6Hd1SByLbBaiDxvLhPOew,4213
|
|
258
|
-
returnn-1.
|
|
259
|
-
returnn-1.
|
|
260
|
-
returnn-1.
|
|
261
|
-
returnn-1.
|
|
262
|
-
returnn-1.
|
|
264
|
+
returnn-1.20260119.15400.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
|
|
265
|
+
returnn-1.20260119.15400.dist-info/METADATA,sha256=nQf6tM6K9xgVpz2swsHGgZ3_KKOTmOxapJUGOhaHKtw,5215
|
|
266
|
+
returnn-1.20260119.15400.dist-info/WHEEL,sha256=WnJ8fYhv8N4SYVK2lLYNI6N0kVATA7b0piVUNvqIIJE,91
|
|
267
|
+
returnn-1.20260119.15400.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
|
|
268
|
+
returnn-1.20260119.15400.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|