Save and load#
CAREamics configurations can be saved to the disk as .yml
file and loaded easily to start similar experiments.
Save a configuration#
Save a configuration
from careamics import save_configuration
from careamics.config import create_n2v_configuration
config = create_n2v_configuration(
experiment_name="Config_to_save",
data_type="tiff",
axes="ZYX",
patch_size=(8, 64, 64),
batch_size=8,
num_epochs=20,
)
save_configuration(config, "config.yml")
In the resulting file, you can see all the parameters that are defaults and hidden from you.
resulting config.yml file
version: 0.1.0
experiment_name: N2V 3D
algorithm_config:
algorithm: n2v
loss: n2v
model:
architecture: UNet
conv_dims: 3
num_classes: 1
in_channels: 1
depth: 2
num_channels_init: 32
final_activation: None
n2v2: false
independent_channels: true
optimizer:
name: Adam
parameters:
lr: 0.0001
lr_scheduler:
name: ReduceLROnPlateau
parameters: {}
n2v_config:
name: N2VManipulate
roi_size: 11
masked_pixel_percentage: 0.2
remove_center: true
strategy: uniform
struct_mask_axis: none
struct_mask_span: 5
data_config:
data_type: tiff
axes: ZYX
patch_size:
- 8
- 64
- 64
batch_size: 8
transforms:
- name: XYFlip
flip_x: true
flip_y: true
p: 0.5
- name: XYRandomRotate90
p: 0.5
train_dataloader_params:
shuffle: true
val_dataloader_params: {}
training_config:
num_epochs: 20
precision: '32'
max_steps: -1
check_val_every_n_epoch: 1
enable_progress_bar: true
accumulate_grad_batches: 1
gradient_clip_algorithm: norm
checkpoint_callback:
monitor: val_loss
verbose: false
save_weights_only: false
save_last: true
save_top_k: 3
mode: min
auto_insert_metric_name: false
Load a configuration#
Load a configuration
from careamics import load_configuration
config = load_configuration("config.yml")