supervised
¶
Supervised denoiser implementation.
@author: Nicola VIGANÒ, CEA-MEM, Grenoble, France
Classes:
-
Supervised
–Supervised denoising class.
Supervised
¶
Supervised(
model: int | str | NetworkParams | Module | Mapping,
data_scale_bias: DataScaleBias | None = None,
reg_val: float | LossRegularizer | None = None,
device: str = "cuda" if is_available() else "cpu",
batch_size: int | None = None,
augmentation: str | Sequence[str] | None = None,
save_epochs_dir: str | None = None,
verbose: bool = True,
)
Bases: Denoiser
Supervised denoising class.
Parameters:
-
model
(str | NetworkParams | Module | Mapping | None
) –Type of neural network to use or a specific network (or state) to use
-
data_scale_bias
(DataScaleBias | None
, default:None
) –Scale and bias of the input data, by default None
-
reg_val
(float | None
, default:None
) –Regularization value, by default 1e-5
-
device
(str
, default:'cuda' if is_available() else 'cpu'
) –Device to use, by default "cuda" if cuda is available, otherwise "cpu"
-
save_epochs_dir
(str | None
, default:None
) –Directory where to save network states at each epoch. If None disabled, by default None
-
verbose
(bool
, default:True
) –Whether to produce verbose output, by default True
Methods:
-
infer
–Inference, given an initial stack of images.
-
prepare_data
–Prepare input data for training.
-
train
–Supervised training.
Attributes:
Source code in src/autoden/algorithms/denoiser.py
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 |
|
n_dims
property
¶
n_dims: int
Returns the expected signal dimensions.
If the model is an instance of SerializableModel
and has an init_params
attribute containing the key "n_dims"
, this property returns the value
associated with "n_dims"
. Otherwise, it defaults to 2.
Returns:
-
int
–The expected signal dimensions.
infer
¶
infer(inp: NDArray) -> NDArray
Inference, given an initial stack of images.
Parameters:
-
inp
(NDArray
) –The input stack of images
Returns:
-
NDArray
–The denoised stack of images
Source code in src/autoden/algorithms/denoiser.py
435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 |
|
prepare_data
¶
prepare_data(
inp: NDArray,
tgt: NDArray,
num_tst_ratio: float = 0.2,
strategy: str = "pixel-mask",
) -> tuple[NDArray, NDArray, NDArray | list[int]]
Prepare input data for training.
Parameters:
-
inp
(NDArray
) –The input data to be used for training. This should be a NumPy array of shape (N, [D, H], W), where N is the number of samples, and D, H and W are the depth, height and width of each sample, respectively.
-
tgt
(NDArray
) –The target data to be used for training. This should be a NumPy array of shape (N, [D, H], W), where N is the number of samples, and D, H and W are the depth, height and width of each sample, respectively.
-
num_tst_ratio
(float
, default:0.2
) –The ratio of the input data to be used for testing. The remaining data will be used for training. Default is 0.2.
-
strategy
(str
, default:'pixel-mask'
) –The strategy to be used for creating training and testing sets. The available strategies are: - "pixel-mask": Use randomly chosen pixels in the images as test set. - "self-similar": Use entire randomly chosen images as test set. Default is "pixel-mask".
Returns:
-
tuple[NDArray, NDArray, NDArray]
–A tuple containing: - The input data array. - The target data array. - Either the mask array indicating the testing pixels or the list of test indices.
Source code in src/autoden/algorithms/supervised.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
|
train
¶
train(
inp: NDArray,
tgt: NDArray,
tst_inds: Sequence[int] | NDArray,
epochs: int,
learning_rate: float = 0.001,
optimizer: str = "adam",
lower_limit: float | NDArray | None = None,
restarts: int | None = None,
accum_grads: bool = False,
) -> dict[str, NDArray]
Supervised training.
Parameters:
-
inp
(NDArray
) –The input images
-
tgt
(NDArray
) –The target images
-
tst_inds
(Sequence[int] | NDArray
) –The validation set indices (either image indices if Sequence[int] or pixel indices if NDArray)
-
epochs
(int
) –Number of training epochs
-
learning_rate
(float
, default:0.001
) –The learning rate for the optimizer. Default is 1e-3.
-
optimizer
(str
, default:'adam'
) –The optimization algorithm to be used for training. Default is "adam".
-
lower_limit
(float | NDArray | None
, default:None
) –The lower limit for the input data. If provided, the input data will be clipped to this limit. Default is None.
-
restarts
(int | None
, default:None
) –The number of times to restart the cosine annealing of the learning rate. If provided, the cosine annealing of the learning rate will be restarted the specified number of times. Default is None.
-
accum_grads
(bool
, default:False
) –Whether to accumulate gradients over multiple batches. If True, gradients will be accumulated over multiple batches before updating the model parameters. Default is False.
Source code in src/autoden/algorithms/supervised.py
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
|