56 lines
1.4 KiB
Bash
56 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
#cd ../..
|
|
|
|
# custom config
|
|
DATA="/path/to/dataset/folder"
|
|
TRAINER=IVLP
|
|
|
|
DATASET=$1
|
|
SEED=$2
|
|
WEIGHTSPATH=$3
|
|
|
|
CFG=vit_b16_c2_ep20_batch4_4+4ctx
|
|
SHOTS=16
|
|
LOADEP=5
|
|
SUB_base=base
|
|
SUB_novel=new
|
|
|
|
COMMON_DIR=${DATASET}/shots_${SHOTS}/${TRAINER}/${CFG}/seed${SEED}
|
|
MODEL_DIR=${WEIGHTSPATH}/base/seed${SEED}
|
|
DIR_base=output/base2new/test_${SUB_base}/${COMMON_DIR}
|
|
DIR_novel=output/base2new/test_${SUB_novel}/${COMMON_DIR}
|
|
if [ -d "$DIR" ]; then
|
|
echo "Results are already available in ${DIR}. Skipping..."
|
|
else
|
|
echo "Evaluating model"
|
|
echo "Runing the first phase job and save the output to ${DIR}"
|
|
# Evaluate on base classes
|
|
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_base} \
|
|
--model-dir ${MODEL_DIR} \
|
|
--load-epoch ${LOADEP} \
|
|
--eval-only \
|
|
DATASET.NUM_SHOTS ${SHOTS} \
|
|
DATASET.SUBSAMPLE_CLASSES ${SUB_base}
|
|
|
|
# Evaluate on novel classes
|
|
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_novel} \
|
|
--model-dir ${MODEL_DIR} \
|
|
--load-epoch ${LOADEP} \
|
|
--eval-only \
|
|
DATASET.NUM_SHOTS ${SHOTS} \
|
|
DATASET.SUBSAMPLE_CLASSES ${SUB_novel}
|
|
|
|
fi |