File size: 1,237 Bytes
5ca4e86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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