File size: 3,077 Bytes
f0e6555 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
{
"imports": [
"$import os",
"$import glob",
"$import torch",
"$import scripts"
],
"bundle_root": ".",
"ckpt_path": "$@bundle_root + '/models/model.pt'",
"device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')",
"dataset_dir": "/workspace/data",
"datalist": "$list(sorted(glob.glob(@dataset_dir + '/*.nii*')))",
"output_dir": "./output",
"network_def": {
"_target_": "scripts.valve_landmarks.PointRegressor",
"in_shape": [
1,
256,
256
],
"out_shape": [
2,
10
],
"channels": [
8,
16,
32,
64,
128
],
"strides": [
2,
2,
2,
2,
2
]
},
"network": "$@network_def.to(@device)",
"preprocessing": {
"_target_": "Compose",
"transforms": [
{
"_target_": "LoadImage",
"image_only": "true"
},
{
"_target_": "EnsureType",
"device": "@device"
},
{
"_target_": "Transpose",
"indices": [
2,
0,
1,
3
]
},
{
"_target_": "ScaleIntensity"
}
]
},
"dataset": {
"_target_": "Dataset",
"data": "@datalist",
"transform": "@preprocessing"
},
"dataloader": {
"_target_": "DataLoader",
"dataset": "@dataset",
"batch_size": 1,
"shuffle": false,
"num_workers": 0
},
"inferer": {
"_target_": "scripts.valve_landmarks.LandmarkInferer",
"spatial_dim": 2,
"stack_dim": 1
},
"postprocessing": {
"_target_": "Compose",
"transforms": [
{
"_target_": "SqueezeDimd",
"keys": "pred",
"dim": 0
},
{
"_target_": "scripts.valve_landmarks.NpySaverd",
"keys": "pred",
"output_dir": "@output_dir",
"data_root_dir": "@dataset_dir"
}
]
},
"handlers": [
{
"_target_": "CheckpointLoader",
"_disabled_": "$not os.path.exists(@ckpt_path)",
"load_path": "@ckpt_path",
"load_dict": {
"net": "@network"
}
}
],
"evaluator": {
"_target_": "SupervisedEvaluator",
"device": "@device",
"val_data_loader": "@dataloader",
"network": "@network",
"inferer": "@inferer",
"postprocessing": "@postprocessing",
"val_handlers": "@handlers",
"decollate": false,
"prepare_batch": "$lambda batch, dev,nb: (batch.to(dev),())"
},
"evaluating": [
"$@evaluator.run()"
]
}
|