|
#!/bin/bash |
|
|
|
|
|
|
|
DATA="/path/to/dataset/folder" |
|
TRAINER=PromptSRC |
|
|
|
DATASET=$1 |
|
SEED=$2 |
|
|
|
CFG=vit_b16_c2_ep20_batch4_4+4ctx |
|
SHOTS=16 |
|
LOADEP=20 |
|
SUB=new |
|
|
|
|
|
COMMON_DIR=${DATASET}/shots_${SHOTS}/${TRAINER}/${CFG}/seed${SEED} |
|
MODEL_DIR=output/base2new/train_base/${COMMON_DIR} |
|
DIR=output/base2new/test_${SUB}/${COMMON_DIR} |
|
if [ -d "$DIR" ]; then |
|
echo "Evaluating model" |
|
echo "Results are available in ${DIR}. Resuming..." |
|
|
|
python train.py \ |
|
--root ${DATA} \ |
|
--seed ${SEED} \ |
|
--trainer ${TRAINER} \ |
|
--dataset-config-file configs/datasets/${DATASET}.yaml \ |
|
--config-file configs/trainers/${TRAINER}/${CFG}.yaml \ |
|
--output-dir ${DIR} \ |
|
--model-dir ${MODEL_DIR} \ |
|
--load-epoch ${LOADEP} \ |
|
--eval-only \ |
|
DATASET.NUM_SHOTS ${SHOTS} \ |
|
DATASET.SUBSAMPLE_CLASSES ${SUB} |
|
|
|
else |
|
echo "Evaluating model" |
|
echo "Runing the first phase job and save the output to ${DIR}" |
|
|
|
python train.py \ |
|
--root ${DATA} \ |
|
--seed ${SEED} \ |
|
--trainer ${TRAINER} \ |
|
--dataset-config-file configs/datasets/${DATASET}.yaml \ |
|
--config-file configs/trainers/${TRAINER}/${CFG}.yaml \ |
|
--output-dir ${DIR} \ |
|
--model-dir ${MODEL_DIR} \ |
|
--load-epoch ${LOADEP} \ |
|
--eval-only \ |
|
DATASET.NUM_SHOTS ${SHOTS} \ |
|
DATASET.SUBSAMPLE_CLASSES ${SUB} |
|
fi |