netloader 3.11.3__tar.gz → 3.11.4__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.
Files changed (41) hide show
  1. {netloader-3.11.3 → netloader-3.11.4}/PKG-INFO +1 -1
  2. {netloader-3.11.3 → netloader-3.11.4}/netloader/__init__.py +1 -1
  3. {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/flows.py +1 -1
  4. {netloader-3.11.3 → netloader-3.11.4}/netloader/models/misc.py +17 -14
  5. {netloader-3.11.3 → netloader-3.11.4}/netloader/network.py +8 -8
  6. {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/PKG-INFO +1 -1
  7. {netloader-3.11.3 → netloader-3.11.4}/LICENSE.txt +0 -0
  8. {netloader-3.11.3 → netloader-3.11.4}/README.md +0 -0
  9. {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/__init__.py +0 -0
  10. {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/base.py +0 -0
  11. {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/encoder_decoder.py +0 -0
  12. {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/utils.py +0 -0
  13. {netloader-3.11.3 → netloader-3.11.4}/netloader/data.py +0 -0
  14. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/__init__.py +0 -0
  15. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/base.py +0 -0
  16. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/blocks.py +0 -0
  17. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/convolutional.py +0 -0
  18. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/flows.py +0 -0
  19. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/linear.py +0 -0
  20. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/misc.py +0 -0
  21. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/multi_layer.py +0 -0
  22. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/pooling.py +0 -0
  23. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/recurrent.py +0 -0
  24. {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/utils.py +0 -0
  25. {netloader-3.11.3 → netloader-3.11.4}/netloader/loss_funcs.py +0 -0
  26. {netloader-3.11.3 → netloader-3.11.4}/netloader/models/__init__.py +0 -0
  27. {netloader-3.11.3 → netloader-3.11.4}/netloader/models/convnext.py +0 -0
  28. {netloader-3.11.3 → netloader-3.11.4}/netloader/networks/__init__.py +0 -0
  29. {netloader-3.11.3 → netloader-3.11.4}/netloader/schedulers.py +0 -0
  30. {netloader-3.11.3 → netloader-3.11.4}/netloader/transforms.py +0 -0
  31. {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/__init__.py +0 -0
  32. {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/configs.py +0 -0
  33. {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/transforms.py +0 -0
  34. {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/types.py +0 -0
  35. {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/utils.py +0 -0
  36. {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/SOURCES.txt +0 -0
  37. {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/dependency_links.txt +0 -0
  38. {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/requires.txt +0 -0
  39. {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/top_level.txt +0 -0
  40. {netloader-3.11.3 → netloader-3.11.4}/pyproject.toml +0 -0
  41. {netloader-3.11.3 → netloader-3.11.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netloader
3
- Version: 3.11.3
3
+ Version: 3.11.4
4
4
  Summary: Utility to generate and train PyTorch neural network objects from JSON files
5
5
  Author-email: Ethan Tregidga <ethan.tregidga@epfl.ch>
6
6
  License-Expression: MIT
@@ -6,7 +6,7 @@ import logging
6
6
  import warnings
7
7
 
8
8
 
9
- __version__ = '3.11.3'
9
+ __version__ = '3.11.4'
10
10
  __author__ = 'Ethan Tregidga'
11
11
  logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.WARNING)
12
12
  warnings.filterwarnings('once', category=DeprecationWarning, module=r'^netloader(\.|$)')
@@ -251,7 +251,7 @@ class NormFlowEncoder(BaseEncoder):
251
251
  'max': transform,
252
252
  'meds': transform,
253
253
  }
254
- assert isinstance(self.net, (nn.ModuleList, Network))
254
+ assert isinstance(self.net, Network)
255
255
 
256
256
  if not self._train_encoder:
257
257
  self.net.layers[:-1].requires_grad_(False)
@@ -12,7 +12,7 @@ from netloader.utils import Config, TypedModuleList
12
12
  from netloader.network import BaseNetwork, CompatibleNetwork, Network
13
13
 
14
14
 
15
- class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
15
+ class MultiNetwork(BaseNetwork[TypedModuleList[BaseNetwork]]):
16
16
  """
17
17
  Network class to hold multiple networks and train them together.
18
18
 
@@ -27,7 +27,7 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
27
27
  is the batch size
28
28
  kl_loss : Tensor
29
29
  KL divergence loss on the latent space of shape (1) and type float, if using a sample layer
30
- layers : TypedModuleList[CompatibleNetwork | Network]
30
+ layers : TypedModuleList[BaseNetwork]
31
31
  Network construction
32
32
  """
33
33
  _cache: bool
@@ -36,14 +36,14 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
36
36
  def __init__(
37
37
  self,
38
38
  name: str,
39
- *nets: nn.Module | nn.ModuleList | CompatibleNetwork | Network,
39
+ *nets: nn.Module | nn.ModuleList | BaseNetwork,
40
40
  save_outputs: bool = ...) -> None: ...
41
41
 
42
42
  @overload
43
43
  def __init__(
44
44
  self,
45
45
  name: str,
46
- *nets: str | nn.Module | nn.ModuleList | CompatibleNetwork | Network | Config,
46
+ *nets: str | nn.Module | nn.ModuleList | BaseNetwork | Config,
47
47
  save_outputs: bool = ...,
48
48
  suppress_warning: bool = ...,
49
49
  root: str = ...,
@@ -55,7 +55,7 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
55
55
  def __init__(
56
56
  self,
57
57
  name: str,
58
- *nets: str | nn.Module | nn.ModuleList | CompatibleNetwork | Network | Config,
58
+ *nets: str | nn.Module | nn.ModuleList | BaseNetwork | Config,
59
59
  save_outputs: bool = False,
60
60
  suppress_warning: bool = False,
61
61
  root: str = '',
@@ -68,7 +68,7 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
68
68
  ----------
69
69
  name : str
70
70
  Name of the network, used for saving
71
- *nets: str | nn.Module | nn.ModuleList | CompatibleNetwork | Network | Config
71
+ *nets: str | nn.Module | nn.ModuleList | BaseNetwork | Config
72
72
  Networks to combine sequentially
73
73
  save_outputs : bool, Optional
74
74
  If outputs from each network should be saved, default = False
@@ -91,7 +91,7 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
91
91
  self.name = name
92
92
  self.layers = TypedModuleList()
93
93
  calc_in_shape: bool = True
94
- net: str | nn.Module | nn.ModuleList | CompatibleNetwork | Network | Config
94
+ net: str | nn.Module | nn.ModuleList | BaseNetwork | Config
95
95
  builds: list[bool] = [isinstance(net, (str, Config)) for net in nets]
96
96
  out_shape: list[int] | None
97
97
  default: dict[str, Any] | None
@@ -150,15 +150,15 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
150
150
  in_shape = out_shape
151
151
 
152
152
  @overload
153
- def __getitem__(self, item: int) -> CompatibleNetwork | Network: ...
153
+ def __getitem__(self, item: int) -> BaseNetwork: ...
154
154
 
155
155
  @overload
156
- def __getitem__(self, item: slice) -> TypedModuleList[CompatibleNetwork | Network]: ...
156
+ def __getitem__(self, item: slice) -> TypedModuleList[BaseNetwork]: ...
157
157
 
158
158
  def __getitem__(
159
159
  self,
160
160
  item: int | slice,
161
- ) -> CompatibleNetwork | Network | TypedModuleList[CompatibleNetwork | Network]:
161
+ ) -> BaseNetwork | TypedModuleList[BaseNetwork]:
162
162
  """
163
163
  Returns the network(s) at the given index or slice.
164
164
 
@@ -169,7 +169,7 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
169
169
 
170
170
  Returns
171
171
  -------
172
- CompatibleNetwork | Network | TypedModuleList[CompatibleNetwork | Network]
172
+ BaseNetwork | TypedModuleList[BaseNetwork]
173
173
  The network(s) at the given index or slice
174
174
  """
175
175
  return self.layers[item]
@@ -200,7 +200,7 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
200
200
  TensorListLike
201
201
  Output tensor from the network with shape (N,...) and type float
202
202
  """
203
- net: CompatibleNetwork | Network
203
+ net: BaseNetwork
204
204
  self.checkpoints = []
205
205
 
206
206
  for i, net in enumerate(self.layers):
@@ -231,11 +231,14 @@ class MultiNetwork(BaseNetwork[TypedModuleList[CompatibleNetwork | Network]]):
231
231
  dict[str, Any] | Config
232
232
  Network configuration
233
233
  """
234
- net: CompatibleNetwork | Network
234
+ net: BaseNetwork
235
235
  config = Config(layers=[net.get_config() for net in self.layers])
236
236
  return config.to_dict() if dict_ else config
237
237
 
238
238
  def to(self, *args: Any, **kwargs: Any) -> Self:
239
239
  super().to(*args, **kwargs)
240
- self.layers.to(*args, **kwargs)
240
+ layer: BaseNetwork
241
+
242
+ for layer in self.layers:
243
+ layer.to(*args, **kwargs)
241
244
  return self
@@ -203,7 +203,14 @@ class BaseNetwork(nn.Module, ABC, Generic[ModuleListT]):
203
203
 
204
204
  def to(self, *args: Any, **kwargs: Any) -> Self:
205
205
  super().to(*args, **kwargs)
206
- self.kl_loss = self.kl_loss.to(*args, **kwargs)
206
+ self.kl_loss = self.kl_loss.detach().to(*args, **kwargs)
207
+
208
+ for i, checkpoint in enumerate(self.checkpoints):
209
+ if hasattr(checkpoint, 'to'):
210
+ self.checkpoints[i] = checkpoint.detach().to(*args, **kwargs)
211
+ else:
212
+ self._logger.warning(f'Failed to move checkpoint {checkpoint.__class__.__name__} '
213
+ f'to device')
207
214
  return self
208
215
 
209
216
 
@@ -544,13 +551,6 @@ class Network(BaseNetwork[TypedModuleList[layers.BaseLayer]]):
544
551
 
545
552
  for layer in self.layers:
546
553
  layer.to(*args, **kwargs)
547
-
548
- for i, checkpoint in enumerate(self.checkpoints):
549
- if hasattr(checkpoint, 'to'):
550
- self.checkpoints[i] = checkpoint.to(*args, **kwargs)
551
- else:
552
- self._logger.warning(f'Failed to move checkpoint {checkpoint.__class__.__name__} '
553
- f'to device')
554
554
  return self
555
555
 
556
556
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netloader
3
- Version: 3.11.3
3
+ Version: 3.11.4
4
4
  Summary: Utility to generate and train PyTorch neural network objects from JSON files
5
5
  Author-email: Ethan Tregidga <ethan.tregidga@epfl.ch>
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes
File without changes
File without changes