openpath / OpenPath /eval_configs /monusac.yaml
taejoon89's picture
Upload folder using huggingface_hub
62a0e4e verified
Raw
History Blame Contribute Delete
5.25 kB
---
trainer:
class_path: eva.Trainer
init_args:
n_runs: &N_RUNS ${oc.env:N_RUNS, 5}
default_root_dir: &OUTPUT_ROOT ${oc.env:OUTPUT_ROOT, logs/${oc.env:MODEL_NAME, vit_small_patch16_224_dino}/monusac}
max_steps: &MAX_STEPS ${oc.env:MAX_STEPS, 2000}
log_every_n_steps: 6
checkpoint_type: ${oc.env:CHECKPOINT_TYPE, best}
devices: ${oc.env:NUM_DEVICES, 1}
callbacks:
- class_path: eva.callbacks.ConfigurationLogger
- class_path: lightning.pytorch.callbacks.TQDMProgressBar
init_args:
refresh_rate: ${oc.env:TQDM_REFRESH_RATE, 1}
- class_path: eva.vision.callbacks.SemanticSegmentationLogger
init_args:
log_every_n_epochs: 1
mean: &NORMALIZE_MEAN ${oc.env:NORMALIZE_MEAN, [0.485, 0.456, 0.406]}
std: &NORMALIZE_STD ${oc.env:NORMALIZE_STD, [0.229, 0.224, 0.225]}
- class_path: lightning.pytorch.callbacks.ModelCheckpoint
init_args:
filename: best
save_last: ${oc.env:SAVE_LAST, false}
save_top_k: 1
monitor: &MONITOR_METRIC ${oc.env:MONITOR_METRIC, 'val/MonaiDiceScore'}
mode: &MONITOR_METRIC_MODE ${oc.env:MONITOR_METRIC_MODE, max}
- class_path: lightning.pytorch.callbacks.EarlyStopping
init_args:
min_delta: 0
patience: ${oc.env:PATIENCE, 100}
monitor: *MONITOR_METRIC
mode: *MONITOR_METRIC_MODE
logger:
- class_path: lightning.pytorch.loggers.TensorBoardLogger
init_args:
save_dir: *OUTPUT_ROOT
name: ""
model:
class_path: eva.vision.models.modules.SemanticSegmentationModule
init_args:
encoder:
class_path: eva.core.models.wrappers.TorchHubModel
init_args:
repo_or_dir: facebookresearch/dinov2
model_name: dinov2_vitg14_reg
pretrained: true
out_indices: 1
checkpoint_path: ${oc.env:CHECKPOINT_PATH, ../checkpoints/teacher_epoch250000.pth}
decoder:
class_path: eva.vision.models.networks.decoders.segmentation.ConvDecoderWithImage
init_args:
in_features: ${oc.env:IN_FEATURES, 1536}
num_classes: &NUM_CLASSES 5
criterion:
class_path: eva.vision.losses.DiceLoss
init_args:
softmax: true
batch: true
ignore_index: &IGNORE_INDEX 5
lr_multiplier_encoder: 0.0
optimizer:
class_path: torch.optim.AdamW
init_args:
lr: ${oc.env:LR_VALUE, 0.002}
postprocess:
predictions_transforms:
- class_path: torch.argmax
init_args:
dim: 1
metrics:
common:
- class_path: eva.metrics.AverageLoss
evaluation:
- class_path: eva.vision.metrics.defaults.MulticlassSegmentationMetrics
init_args:
num_classes: 6
ignore_index: *IGNORE_INDEX
- class_path: torchmetrics.ClasswiseWrapper
init_args:
metric:
class_path: eva.vision.metrics.MonaiDiceScore
init_args:
include_background: true
num_classes: 6
reduction: none
ignore_index: *IGNORE_INDEX
labels:
- background
- epithelial
- lymphocyte
- neutrophil
- macrophage
- ambiguous
data:
class_path: eva.DataModule
init_args:
datasets:
train:
class_path: eva.vision.datasets.MoNuSAC
init_args: &DATASET_ARGS
root: ${oc.env:DATA_ROOT, /block/eva-data/monusac}
split: train
download: ${oc.env:DOWNLOAD_DATA, false}
# Set `download: true` to download the dataset from https://monusac-2020.grand-challenge.org/Data/
# The MoNuSAC dataset is distributed under the following license:
# "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"
# (see: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode)
transforms:
class_path: torchvision.transforms.v2.Compose
init_args:
transforms:
- class_path: torchvision.transforms.v2.RandomResizedCrop
init_args:
size: ${oc.env:RESIZE_DIM, 224}
- class_path: torchvision.transforms.v2.ToDtype
init_args:
dtype: torch.float32
scale: true
- class_path: torchvision.transforms.v2.Normalize
init_args:
mean: *NORMALIZE_MEAN
std: *NORMALIZE_STD
val:
class_path: eva.vision.datasets.MoNuSAC
init_args:
<<: *DATASET_ARGS
split: test
transforms:
class_path: eva.vision.data.transforms.common.ResizeAndCrop
init_args:
size: ${oc.env:RESIZE_DIM, 224}
mean: *NORMALIZE_MEAN
std: *NORMALIZE_STD
dataloaders:
train:
batch_size: &BATCH_SIZE ${oc.env:BATCH_SIZE, 64}
num_workers: &N_DATA_WORKERS ${oc.env:N_DATA_WORKERS, 4}
shuffle: true
val:
batch_size: *BATCH_SIZE
num_workers: *N_DATA_WORKERS