Release of PromptSRC with pretrained models.
This commit is contained in:
53
scripts/promptsrc/base2new_test.sh
Normal file
53
scripts/promptsrc/base2new_test.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# custom config
|
||||
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
|
||||
37
scripts/promptsrc/base2new_train.sh
Normal file
37
scripts/promptsrc/base2new_train.sh
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
# custom config
|
||||
DATA="/path/to/dataset/folder"
|
||||
TRAINER=PromptSRC
|
||||
|
||||
DATASET=$1
|
||||
SEED=$2
|
||||
|
||||
CFG=vit_b16_c2_ep20_batch4_4+4ctx
|
||||
SHOTS=16
|
||||
|
||||
|
||||
DIR=output/base2new/train_base/${DATASET}/shots_${SHOTS}/${TRAINER}/${CFG}/seed${SEED}
|
||||
if [ -d "$DIR" ]; then
|
||||
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} \
|
||||
DATASET.NUM_SHOTS ${SHOTS} \
|
||||
DATASET.SUBSAMPLE_CLASSES base
|
||||
else
|
||||
echo "Run this 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} \
|
||||
DATASET.NUM_SHOTS ${SHOTS} \
|
||||
DATASET.SUBSAMPLE_CLASSES base
|
||||
fi
|
||||
27
scripts/promptsrc/few_shot.sh
Normal file
27
scripts/promptsrc/few_shot.sh
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
# custom config
|
||||
DATA="/path/to/dataset/folder"
|
||||
TRAINER=PromptSRC
|
||||
|
||||
DATASET=$1
|
||||
CFG=vit_b16_c2_ep50_batch4_4+4ctx_few_shot
|
||||
SHOTS=$2
|
||||
|
||||
for SEED in 1 2 3
|
||||
do
|
||||
DIR=output/${DATASET}/${TRAINER}/${CFG}_${SHOTS}shots/seed${SEED}
|
||||
if [ -d "$DIR" ]; then
|
||||
echo " The results exist at ${DIR}"
|
||||
else
|
||||
echo "Run this 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} \
|
||||
DATASET.NUM_SHOTS ${SHOTS}
|
||||
fi
|
||||
done
|
||||
54
scripts/promptsrc/reproduce_base2novel_setting.sh
Normal file
54
scripts/promptsrc/reproduce_base2novel_setting.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
# custom config
|
||||
DATA="/path/to/dataset/folder"
|
||||
TRAINER=PromptSRC
|
||||
|
||||
DATASET=$1
|
||||
SEED=$2
|
||||
WEIGHTSPATH=$3
|
||||
|
||||
CFG=vit_b16_c2_ep20_batch4_4+4ctx
|
||||
SHOTS=16
|
||||
LOADEP=20
|
||||
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
|
||||
34
scripts/promptsrc/reproduce_few_shot.sh
Normal file
34
scripts/promptsrc/reproduce_few_shot.sh
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
# custom config
|
||||
DATA="/path/to/dataset/folder"
|
||||
TRAINER=PromptSRC
|
||||
|
||||
DATASET=$1
|
||||
SHOTS=$2
|
||||
WEIGHTSPATH=$3
|
||||
|
||||
CFG=vit_b16_c2_ep50_batch4_4+4ctx_few_shot
|
||||
LOADEP=50
|
||||
|
||||
for SEED in 1 2 3
|
||||
do
|
||||
MODEL_DIR=${WEIGHTSPATH}/${SHOTS}shot/seed${SEED}
|
||||
DIR=output/few_shot/${DATASET}/${TRAINER}/${CFG}_${SHOTS}shots/seed${SEED}
|
||||
if [ -d "$DIR" ]; then
|
||||
echo " The results exist at ${DIR}"
|
||||
else
|
||||
echo "Run this 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}
|
||||
fi
|
||||
done
|
||||
36
scripts/promptsrc/reproduce_xd.sh
Normal file
36
scripts/promptsrc/reproduce_xd.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# custom config
|
||||
DATA="/path/to/dataset/folder"
|
||||
TRAINER=PromptSRC
|
||||
|
||||
DATASET=$1
|
||||
SEED=$2
|
||||
WEIGHTSPATH=$3
|
||||
|
||||
CFG=vit_b16_c2_ep20_batch4_4+4ctx_cross_datasets
|
||||
SHOTS=16
|
||||
LOADEP=20
|
||||
|
||||
MODEL_DIR=${WEIGHTSPATH}/seed${SEED}
|
||||
|
||||
DIR=output/evaluation/${TRAINER}/${CFG}_${SHOTS}shots/${DATASET}/seed${SEED}
|
||||
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 evaluation datasets
|
||||
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} \
|
||||
|
||||
fi
|
||||
31
scripts/promptsrc/xd_test.sh
Normal file
31
scripts/promptsrc/xd_test.sh
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# custom config
|
||||
DATA="/path/to/dataset/folder"
|
||||
TRAINER=PromptSRC
|
||||
|
||||
DATASET=$1
|
||||
SEED=$2
|
||||
|
||||
CFG=vit_b16_c2_ep5_batch4_4+4ctx_cross_datasets
|
||||
SHOTS=16
|
||||
|
||||
|
||||
DIR=output/evaluation/${TRAINER}/${CFG}_${SHOTS}shots/${DATASET}/seed${SEED}
|
||||
if [ -d "$DIR" ]; then
|
||||
echo "Results are available in ${DIR}. Skip this job"
|
||||
else
|
||||
echo "Run this 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 output/imagenet/${TRAINER}/${CFG}_${SHOTS}shots/seed${SEED} \
|
||||
--load-epoch 20 \
|
||||
--eval-only
|
||||
fi
|
||||
29
scripts/promptsrc/xd_train.sh
Normal file
29
scripts/promptsrc/xd_train.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# custom config
|
||||
DATA="/path/to/dataset/folder"
|
||||
TRAINER=PromptSRC
|
||||
|
||||
DATASET=$1
|
||||
SEED=$2
|
||||
|
||||
CFG=vit_b16_c2_ep5_batch4_4+4ctx_cross_datasets
|
||||
SHOTS=16
|
||||
|
||||
|
||||
DIR=output/${DATASET}/${TRAINER}/${CFG}_${SHOTS}shots/seed${SEED}
|
||||
if [ -d "$DIR" ]; then
|
||||
echo "Results are available in ${DIR}."
|
||||
else
|
||||
echo "Run this 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} \
|
||||
DATASET.NUM_SHOTS ${SHOTS}
|
||||
fi
|
||||
Reference in New Issue
Block a user