| |
|
|
| 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: |
| - "$@evaluator.run()" |
|
|