| | |
| |
|
| | 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()" |
| |
|