set -x MODEL=minigpt4 ATTACK_MODE=constrained SAFETY_PATCH_MODE=optimized GPU_ID=2 for ATTACK_MODE in qna; do INFERENCE_FILE="outputs/${MODEL}/inference_${MODEL}_attack_${ATTACK_MODE}" METRIC_FILE="outputs/${MODEL}/metric_${MODEL}_attack_${ATTACK_MODE}" SUMMARY_FILE="outputs/${MODEL}/summary_${MODEL}_attack_${ATTACK_MODE}" if [ "${ATTACK_MODE}" = "constrained" ]; then echo "Running constrained" python minigpt_constrained_inference.py --gpu-id ${GPU_ID} \ --output_file ${INFERENCE_FILE} \ --do_attack elif [ "${ATTACK_MODE}" = "unconstrained" ]; then echo "Running unconstrained" python minigpt_unconstrained_inference.py --gpu-id ${GPU_ID} \ --output_file ${INFERENCE_FILE} \ --do_attack elif [ "${ATTACK_MODE}" = "qna" ]; then echo "Running qna" python minigpt_qna.py --gpu-id ${GPU_ID} \ --output_file ${INFERENCE_FILE} \ --do_attack else echo "Wrong Implementation" exit 1 fi CUDA_VISIBLE_DEVICES=${GPU_ID} python get_metric.py --input ${INFERENCE_FILE} \ --output ${METRIC_FILE} \ --perplexity ${SUMMARY_FILE} \ --device cuda python cal_metrics.py --input ${METRIC_FILE} \ --output ${SUMMARY_FILE} done