#!/bin/bash #cd ../.. # custom config DATA=/path/to/datasets TRAINER=CoOp DATASET=$1 CFG=$2 # config file CTP=$3 # class token position (end or middle) NCTX=$4 # number of context tokens SHOTS=$5 # number of shots (1, 2, 4, 8, 16) CSC=$6 # class-specific context (False or True) for SEED in 1 2 3 do DIR=output/${DATASET}/${TRAINER}/${CFG}_${SHOTS}shots/nctx${NCTX}_csc${CSC}_ctp${CTP}/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} \ TRAINER.COOP.N_CTX ${NCTX} \ TRAINER.COOP.CSC ${CSC} \ TRAINER.COOP.CLASS_TOKEN_POSITION ${CTP} \ DATASET.NUM_SHOTS ${SHOTS} fi done