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.
- {netloader-3.11.3 → netloader-3.11.4}/PKG-INFO +1 -1
- {netloader-3.11.3 → netloader-3.11.4}/netloader/__init__.py +1 -1
- {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/flows.py +1 -1
- {netloader-3.11.3 → netloader-3.11.4}/netloader/models/misc.py +17 -14
- {netloader-3.11.3 → netloader-3.11.4}/netloader/network.py +8 -8
- {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/PKG-INFO +1 -1
- {netloader-3.11.3 → netloader-3.11.4}/LICENSE.txt +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/README.md +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/__init__.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/base.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/encoder_decoder.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/architectures/utils.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/data.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/__init__.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/base.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/blocks.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/convolutional.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/flows.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/linear.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/misc.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/multi_layer.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/pooling.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/recurrent.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/layers/utils.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/loss_funcs.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/models/__init__.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/models/convnext.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/networks/__init__.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/schedulers.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/transforms.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/__init__.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/configs.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/transforms.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/types.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader/utils/utils.py +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/SOURCES.txt +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/dependency_links.txt +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/requires.txt +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/netloader.egg-info/top_level.txt +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/pyproject.toml +0 -0
- {netloader-3.11.3 → netloader-3.11.4}/setup.cfg +0 -0
|
@@ -6,7 +6,7 @@ import logging
|
|
|
6
6
|
import warnings
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
__version__ = '3.11.
|
|
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,
|
|
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[
|
|
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[
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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) ->
|
|
153
|
+
def __getitem__(self, item: int) -> BaseNetwork: ...
|
|
154
154
|
|
|
155
155
|
@overload
|
|
156
|
-
def __getitem__(self, item: slice) -> TypedModuleList[
|
|
156
|
+
def __getitem__(self, item: slice) -> TypedModuleList[BaseNetwork]: ...
|
|
157
157
|
|
|
158
158
|
def __getitem__(
|
|
159
159
|
self,
|
|
160
160
|
item: int | slice,
|
|
161
|
-
) ->
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
|
|
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
|
|
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
|
|
File without changes
|