| #!/bin/bash |
|
|
| |
|
|
| |
| set -e |
|
|
| |
| |
| CITYSCAPES_ROOT="/pasteur/u/yiming/homework4/cityscapes" |
|
|
| |
| CONFIG_FILE="configs/cityscapes/segformer_internimage_xl_512x1024_160k_mapillary2cityscapes.py" |
|
|
| |
| N_FOLDS=3 |
|
|
| |
| GPUS=8 |
|
|
| |
| WORKSPACE_ROOT=$(pwd) |
|
|
| |
|
|
| echo "Starting 3-fold cross-validation training..." |
|
|
| for FOLD in $(seq 1 $N_FOLDS) |
| do |
| echo "----------------------------------------------------" |
| echo "Starting Training for Fold $FOLD of $N_FOLDS" |
| echo "----------------------------------------------------" |
|
|
| |
| WORK_DIR="work_dirs/cityscapes_kfold/mask2former_internimage_h_fold_${FOLD}" |
|
|
| |
| TRAIN_SPLIT_FILE="splits/fold_${FOLD}_train_split.txt" |
| VAL_SPLIT_FILE="splits/fold_${FOLD}_val_split.txt" |
|
|
| |
| |
| |
| CFG_OPTIONS="\ |
| data.train.data_root='${CITYSCAPES_ROOT}' \ |
| data.train.data_root='${CITYSCAPES_ROOT}' \ |
| data.train.img_dir='leftImg8bit/' \ |
| data.train.ann_dir='gtFine/' \ |
| data.train.split='${TRAIN_SPLIT_FILE}' \ |
| data.val.data_root='${CITYSCAPES_ROOT}' \ |
| data.val.img_dir='leftImg8bit/' \ |
| data.val.ann_dir='gtFine/' \ |
| data.val.split='${VAL_SPLIT_FILE}' \ |
| data.test.data_root='${CITYSCAPES_ROOT}' \ |
| data.test.img_dir='leftImg8bit/val/' \ |
| data.test.ann_dir='gtFine/val/' \ |
| work_dir='${WORK_DIR}'" |
|
|
| |
| |
| TRAIN_CMD="bash ./dist_train.sh ${CONFIG_FILE} ${GPUS} --cfg-options ${CFG_OPTIONS}" |
|
|
| echo "Training command for Fold $FOLD:" |
| echo "${TRAIN_CMD}" |
| echo "Output will be in: ${WORK_DIR}" |
|
|
| |
| eval ${TRAIN_CMD} |
|
|
| echo "----------------------------------------------------" |
| echo "Finished Training for Fold $FOLD" |
| echo "----------------------------------------------------" |
| done |
|
|
| echo "3-fold cross-validation training complete." |
| echo "Check work_dirs/cityscapes_kfold/ for outputs of each fold." |
|
|
| |
| |
| |
| |
| |