-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Concept
Training several models in production (split 80/20/0) with different seeds, the idea is to average all predictions to generate a more reliable soft prediction (ie: bagging ensemble).
Prototyping script
# Loop across multiple subjects
list_sub=(001 002 003 004 005)
for sub in ${list_sub[@]}; do
# Crop input image
sct_deepseg_sc -i ~/data.neuro/basel-mp2rage/sub-P${sub}/anat/sub-P${sub}_UNIT1.nii.gz -c t1
sct_maths -i sub-P${sub}_UNIT1_seg.nii.gz -dilate 5 -shape ball -o sub-P${sub}_UNIT1_seg_dilate.nii.gz
sct_maths -i sub-P${sub}_UNIT1_seg_dilate.nii.gz -dilate 32 -dim 1 -shape disk -o sub-P${sub}_UNIT1_seg_dilate.nii.gz
sct_crop_image -i /Users/julien/data.neuro/basel-mp2rage/sub-P${sub}/anat/sub-P${sub}_UNIT1.nii.gz -m sub-P${sub}_UNIT1_seg_dilate.nii.gz -o sub-P${sub}_UNIT1_crop.nii.gz
# Loop across models and run prediction
list_seed=(7 8 9 10 11)
for seed in ${list_seed[@]}; do ivadomed_segment_image -i sub-P${sub}_UNIT1_crop.nii.gz -m models/seed${seed}/model_seg_lesion_mp2rage -s _pred${seed}; done
# Average
sct_image -i sub-P${sub}_UNIT1_crop_pred*.nii.gz -concat t -o sub-P${sub}_UNIT1_crop_predMean.nii.gz
sct_maths -i sub-P${sub}_UNIT1_crop_predMean.nii.gz -mean t -o sub-P${sub}_UNIT1_crop_predMean.nii.gz
# Display
fsleyes -S ~/data.neuro/basel-mp2rage/sub-P${sub}/anat/sub-P${sub}_UNIT1.nii.gz sub-P${sub}_UNIT1_crop_predMean.nii.gz -cm red-yellow
done
Metadata
Metadata
Assignees
Labels
No labels