This page is the concise reference for nnUNetPlans.json and configuration-level customization.
The plans file defines how nnU-Net preprocesses the dataset and how each configuration is trained.
It contains:
- global dataset-level settings
- one or more named configurations under
configurations
image_reader_writer: reader/writer class used for this datasetlabel_manager: label-handling classtranspose_forwardandtranspose_backward: axis reordering used internallydataset_name: dataset identity metadata
spacing: target spacingpatch_size: training patch sizebatch_size: batch sizedata_identifier: name of the corresponding preprocessed data folderpreprocessor_name: preprocessor classnormalization_schemes: normalization mapping per channelnetwork_arch_class_name: architecture classconv_kernel_sizes: encoder kernel layoutn_conv_per_stage_encodern_conv_per_stage_decodernum_pool_per_axispool_op_kernel_sizes
inherits_from: reuse another configuration and override selected fieldsprevious_stage: previous stage of a cascadenext_stage: next stage of a cascade
You generally need to rerun preprocessing if you change anything that affects the prepared data, for example:
spacingpreprocessor_namenormalization_schemes- resampling functions
- any change that requires a new
data_identifier
You generally do not need to rerun preprocessing for training-only changes such as:
batch_size- some architecture-only settings that still reuse the same prepared data
"3d_fullres_bs40": {
"inherits_from": "3d_fullres",
"batch_size": 40
}"3d_fullres_custom_preproc": {
"inherits_from": "3d_fullres",
"preprocessor_name": "MyPreprocessor",
"data_identifier": "3d_fullres_custom_preproc"
}"3d_fullres_custom_spacing": {
"inherits_from": "3d_fullres",
"spacing": [1.0, 1.0, 2.5],
"data_identifier": "3d_fullres_custom_spacing"
}