returnn 1.20250211.110723__py3-none-any.whl → 1.20250211.210150__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 CHANGED
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: returnn
3
- Version: 1.20250211.110723
3
+ Version: 1.20250211.210150
4
4
  Summary: The RWTH extensible training framework for universal recurrent neural networks
5
5
  Home-page: https://github.com/rwth-i6/returnn/
6
6
  Author: Albert Zeyer
@@ -1,2 +1,2 @@
1
- version = '1.20250211.110723'
2
- long_version = '1.20250211.110723+git.f032108'
1
+ version = '1.20250211.210150'
2
+ long_version = '1.20250211.210150+git.074b83c'
returnn/datasets/lm.py CHANGED
@@ -1087,8 +1087,17 @@ class Lexicon:
1087
1087
  {"phon": e.text.strip(), "score": float(e.attrib.get("score", 0))}
1088
1088
  for e in elem.findall("phon")
1089
1089
  ]
1090
- assert orth not in self.lemmas
1091
- self.lemmas[orth] = {"orth": orth, "phons": phons}
1090
+ lemma = {"orth": orth, "phons": phons}
1091
+ if orth in self.lemmas: # unexpected, already exists?
1092
+ if self.lemmas[orth] == lemma:
1093
+ print(f"Warning: lemma {lemma} duplicated in lexicon {filename}", file=log.v4)
1094
+ else:
1095
+ raise Exception(
1096
+ f"orth {orth!r} lemma duplicated in lexicon {filename}."
1097
+ f" old: {self.lemmas[orth]}, new: {lemma}"
1098
+ )
1099
+ else: # lemma does not exist yet -- this is the expected case
1100
+ self.lemmas[orth] = lemma
1092
1101
  root.clear() # free memory
1093
1102
  print("Finished whole lexicon, %i lemmas" % len(self.lemmas), file=log.v4)
1094
1103
 
returnn/torch/engine.py CHANGED
@@ -980,6 +980,7 @@ class Engine(EngineBase):
980
980
  missing_keys_preload, unexpected_keys_preload = self._pt_model.load_state_dict(
981
981
  preload_model_state, strict=False
982
982
  )
983
+ preload_model_state_keys = set(preload_model_state.keys())
983
984
  loaded_state_keys.update(preload_model_state.keys())
984
985
  missing_keys.difference_update(preload_model_state.keys())
985
986
  del preload_model_state
@@ -987,6 +988,11 @@ class Engine(EngineBase):
987
988
 
988
989
  if opts.get("prefix", ""):
989
990
  prefix_keys = [key for key in self._pt_model.state_dict() if key.startswith(opts.get("prefix", ""))]
991
+ if not prefix_keys:
992
+ raise Exception(
993
+ "No keys with prefix %r found in model.\nModel params:\n%s"
994
+ % (opts.get("prefix", ""), ", ".join(name for name, _ in self._pt_model.named_parameters()))
995
+ )
990
996
  else:
991
997
  prefix_keys = model_state_keys_set
992
998
  missing_keys_preload = (
@@ -995,6 +1001,12 @@ class Engine(EngineBase):
995
1001
  unexpected_keys_preload = (
996
1002
  set(prefix_keys).intersection(set(unexpected_keys_preload)).difference(loaded_state_keys)
997
1003
  )
1004
+ if not preload_model_state_keys.intersection(prefix_keys):
1005
+ raise Exception(
1006
+ f"No keys with prefix {opts.get('prefix', '')!r} found in preload model state.\n"
1007
+ f"Preload model state keys: {preload_model_state_keys}\n"
1008
+ f"Model state keys: {model_state_keys_set}"
1009
+ )
998
1010
  if missing_keys_preload and not opts.get("ignore_missing", False):
999
1011
  missing_keys.update(missing_keys_preload)
1000
1012
  if missing_keys_preload:
@@ -109,18 +109,27 @@ class RFModuleAsPTModule(torch.nn.Module):
109
109
  self._aux_params_as_buffers = aux_params_as_buffers
110
110
  self._is_initializing = True
111
111
 
112
- # recurse=False because param names cannot contain ".", will add submodules below recursively.
113
- for name, rf_param in rf_module.named_parameters(recurse=False):
114
- pt_param = rf_param.raw_tensor
115
- assert isinstance(pt_param, torch.nn.Parameter)
116
- if rf_param.auxiliary and aux_params_as_buffers:
117
- self.register_buffer(name, pt_param)
118
- else:
119
- self.register_parameter(name, pt_param)
120
-
121
- for name, rf_mod in rf_module.named_children():
122
- pt_mod = rf_module_to_pt_module(rf_mod, aux_params_as_buffers=aux_params_as_buffers)
123
- self.add_module(name, pt_mod)
112
+ for name, value in vars(rf_module).items():
113
+ if isinstance(value, rf.Parameter):
114
+ pt_param = value.raw_tensor
115
+ assert isinstance(pt_param, torch.nn.Parameter)
116
+ if value.auxiliary and aux_params_as_buffers:
117
+ self.register_buffer(name, pt_param)
118
+ else:
119
+ self.register_parameter(name, pt_param)
120
+
121
+ elif isinstance(value, rf.Module):
122
+ pt_mod = rf_module_to_pt_module(value, aux_params_as_buffers=aux_params_as_buffers)
123
+ self.add_module(name, pt_mod)
124
+
125
+ elif isinstance(value, torch.nn.Parameter):
126
+ self.register_parameter(name, value)
127
+
128
+ elif isinstance(value, torch.Tensor): # make sure this check is after torch.nn.Parameter
129
+ self.register_buffer(name, value)
130
+
131
+ elif isinstance(value, torch.nn.Module):
132
+ self.add_module(name, value)
124
133
 
125
134
  self._is_initializing = False
126
135
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: returnn
3
- Version: 1.20250211.110723
3
+ Version: 1.20250211.210150
4
4
  Summary: The RWTH extensible training framework for universal recurrent neural networks
5
5
  Home-page: https://github.com/rwth-i6/returnn/
6
6
  Author: Albert Zeyer
@@ -1,9 +1,9 @@
1
- returnn/PKG-INFO,sha256=URxQfD6qddQqyGuoM5_5h2XS9kTA0Qv6EZDqCCD3Pxk,5215
1
+ returnn/PKG-INFO,sha256=FNB_wClTNbduk7TOGSMIHj-XEM6fy5ef7mjbIWilbh4,5215
2
2
  returnn/__init__.py,sha256=biBtRsM0WZ406vShaeH-9WFoqJ8XwTbn6g0EeFJ7l8E,1012
3
3
  returnn/__main__.py,sha256=qBFbuB1yN3adgVM5pXt2-Yq9vorjRNchNPL8kDKx44M,31752
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=R-VEKbgSRUuCxbz9CHRW-XZyUzwY_q_kEm5AZAMfMpM,77
6
+ returnn/_setup_info_generated.py,sha256=Po_jlRBUgzs773OdWo6EfZJpD78f3rXABybtsIWUZWk,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
@@ -20,7 +20,7 @@ returnn/datasets/cached2.py,sha256=STojLL2Ivvd0xMfZRlYgzsHKlikYKL-caZCIDCgc_9g,1
20
20
  returnn/datasets/distrib_files.py,sha256=kyqIQILDPAO2TXr39hjslmDxIAc3pkY1UOoj8nuiFXo,27534
21
21
  returnn/datasets/generating.py,sha256=e2-SXcax7xQ4fkVW_Q5MgOLP6KlB7EQXJi_v64gVAWI,99805
22
22
  returnn/datasets/hdf.py,sha256=shif0aQqWWNJ0b6YnycpPjIVNsxjLrA41Y66-_SluGI,66993
23
- returnn/datasets/lm.py,sha256=CX06bc06hAvf3c9-Gku_2DmqexgmR9TlRxsSPzRPno4,98193
23
+ returnn/datasets/lm.py,sha256=h0IHUbze87njKrcD5eT1FRxde7elIio05n-BWiqmjFE,98805
24
24
  returnn/datasets/map.py,sha256=kOBJVZmwDhLsOplzDNByIfa0NRSUaMo2Lsy36lBvxrM,10907
25
25
  returnn/datasets/meta.py,sha256=wHquywF1C7-YWhcSFSAdDNc0nEHRjE-ks7YIEuDFMIE,94731
26
26
  returnn/datasets/multi_proc.py,sha256=7kppiXGiel824HM3GvHegluIxtiNAHafm-e6qh6W7YU,21948
@@ -207,7 +207,7 @@ returnn/tf/util/open_fst.py,sha256=sZRDw4TbxvhGqpGdUJWy1ebvlZm4_RPhygpRw9uLAOQ,1
207
207
  returnn/torch/README.md,sha256=jzJ2FpOHW02vxN69yKaV97C9LI-hmvjBglKfdZXIDdc,85
208
208
  returnn/torch/__init__.py,sha256=MHEUyNHB20Vy89uKAqZoj6FxJKF1Gq3HW-i6ra1pNcI,24
209
209
  returnn/torch/distributed.py,sha256=i13cUVjI7GxpO0TAresrNyCM0ZBAaf-cXNr09Fmg_2k,6266
210
- returnn/torch/engine.py,sha256=BjPF6Kifu1b8kCavnCGAXrp0uhqY4WFexLvP3kR6tmg,76322
210
+ returnn/torch/engine.py,sha256=8BIpdcrpbJL9HrvCX-hISh-14zW9aSrHGvRWT9s0zOk,77103
211
211
  returnn/torch/updater.py,sha256=GqtBvZpElPVMm0lq84JPl4NVLFFETZAzAbR0rTomSao,28249
212
212
  returnn/torch/data/__init__.py,sha256=6cLNEi8KoGI12PF6akN7mI_mtjlx-0hcQAfMYoExwik,132
213
213
  returnn/torch/data/extern_data.py,sha256=_uT_9_gd5HIh1IoRsrebVG-nufSnb7fgC5jyU05GxJg,7580
@@ -218,7 +218,7 @@ returnn/torch/data/tensor_utils.py,sha256=-Teqi--LLbt6q_5mDRdoHZHmPgSdC83W706uki
218
218
  returnn/torch/frontend/__init__.py,sha256=AA48HZnC17ASuKA0EWy8loZ-Bib_yUtqF4T1wYvjst4,62
219
219
  returnn/torch/frontend/_backend.py,sha256=h_rUhBPxLRgpZSqX4C8vX8q4dHWMhZpwPmGbKN6MsZo,99995
220
220
  returnn/torch/frontend/_rand.py,sha256=1JgIkV2XmpgJD86zXZ-NCAe-QuoP2swr6NaS1oz3Qa8,1830
221
- returnn/torch/frontend/bridge.py,sha256=bAzOVlL-3hD6af9ir8EOyBSXy6O3KtnCRD7SaZTF2yU,7538
221
+ returnn/torch/frontend/bridge.py,sha256=Z2_UW8AagezC7zsXDc5PKcd8G9WwisV7j9SWGHU0m4U,7840
222
222
  returnn/torch/frontend/raw_ops.py,sha256=lF0h-KtYYsdaaqQADylVZp9qzPskOOXA4MfmYDyx5IU,296
223
223
  returnn/torch/optim/README.md,sha256=0iH5FiKb7iDrVK5n8V6yCh4ciCFG2YSbyh7lPneT5ik,360
224
224
  returnn/torch/optim/__init__.py,sha256=yxdbnOkXAHzZ_t6cHi6zn5x_DQNlLZJ-KxZByHTIg1U,29
@@ -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.20250211.110723.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
257
- returnn-1.20250211.110723.dist-info/METADATA,sha256=URxQfD6qddQqyGuoM5_5h2XS9kTA0Qv6EZDqCCD3Pxk,5215
258
- returnn-1.20250211.110723.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
259
- returnn-1.20250211.110723.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
260
- returnn-1.20250211.110723.dist-info/RECORD,,
256
+ returnn-1.20250211.210150.dist-info/LICENSE,sha256=ywBD_U2aD4vpuoIgNAsjIGBYydl0tVKll3De0Z8s77c,11041
257
+ returnn-1.20250211.210150.dist-info/METADATA,sha256=FNB_wClTNbduk7TOGSMIHj-XEM6fy5ef7mjbIWilbh4,5215
258
+ returnn-1.20250211.210150.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
259
+ returnn-1.20250211.210150.dist-info/top_level.txt,sha256=Lsn4WZc5Pbfk0-xDQOgnFCxOoqxL4CyeM3N1TFbJncw,8
260
+ returnn-1.20250211.210150.dist-info/RECORD,,