|
|
|
|
|
imports: |
|
- $import os |
|
- $import json |
|
- $import torch |
|
- $import glob |
|
|
|
|
|
image: $monai.utils.CommonKeys.IMAGE |
|
label: $monai.utils.CommonKeys.LABEL |
|
pred: $monai.utils.CommonKeys.PRED |
|
|
|
|
|
batch_size: 1 |
|
num_workers: 0 |
|
num_classes: 4 |
|
device: $torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') |
|
|
|
|
|
bundle_root: . |
|
ckpt_path: $@bundle_root + '/models/model.pt' |
|
dataset_dir: $@bundle_root + '/data/test_data' |
|
|
|
|
|
network_def: |
|
_target_: DenseNet121 |
|
spatial_dims: 2 |
|
in_channels: 1 |
|
out_channels: '@num_classes' |
|
network: $@network_def.to(@device) |
|
|
|
|
|
test_json: "$@bundle_root+'/data/test_samples.json'" |
|
test_fp: "$open(@test_json,'r', encoding='utf8')" |
|
|
|
test_dict: "$json.load(@test_fp)" |
|
|
|
|
|
transforms: |
|
- _target_: LoadImaged |
|
keys: '@image' |
|
- _target_: EnsureChannelFirstd |
|
keys: '@image' |
|
- _target_: ScaleIntensityd |
|
keys: '@image' |
|
|
|
preprocessing: |
|
_target_: Compose |
|
transforms: $@transforms |
|
|
|
dataset: |
|
_target_: Dataset |
|
data: '@test_dict' |
|
transform: '@preprocessing' |
|
|
|
dataloader: |
|
_target_: ThreadDataLoader |
|
dataset: '@dataset' |
|
batch_size: '@batch_size' |
|
num_workers: '@num_workers' |
|
|
|
|
|
inferer: |
|
_target_: SimpleInferer |
|
|
|
|
|
postprocessing: |
|
_target_: Compose |
|
transforms: |
|
- _target_: Activationsd |
|
keys: '@pred' |
|
softmax: true |
|
- _target_: AsDiscreted |
|
keys: ['@pred', '@label'] |
|
argmax: [true, false] |
|
to_onehot: '@num_classes' |
|
- _target_: ToTensord |
|
keys: ['@pred', '@label'] |
|
device: '@device' |
|
|
|
|
|
val_handlers: |
|
- _target_: CheckpointLoader |
|
_disabled_: $not os.path.exists(@ckpt_path) |
|
load_path: '@ckpt_path' |
|
load_dict: |
|
model: '@network' |
|
- _target_: StatsHandler |
|
name: null |
|
output_transform: '$lambda x: None' |
|
|
|
|
|
evaluator: |
|
_target_: SupervisedEvaluator |
|
device: '@device' |
|
val_data_loader: '@dataloader' |
|
network: '@network' |
|
inferer: '@inferer' |
|
postprocessing: '@postprocessing' |
|
key_val_metric: |
|
val_accuracy: |
|
_target_: ignite.metrics.Accuracy |
|
output_transform: $monai.handlers.from_engine([@pred, @label]) |
|
additional_metrics: |
|
val_f1: |
|
_target_: ConfusionMatrix |
|
metric_name: 'f1 score' |
|
output_transform: $monai.handlers.from_engine([@pred, @label]) |
|
val_handlers: '@val_handlers' |
|
|
|
initialize: |
|
- "$setattr(torch.backends.cudnn, 'benchmark', True)" |
|
run: |
|
- "[email protected]()" |
|
|