File size: 1,873 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
set -x

MODEL=instructblip
MODEL_PATH=/workingdir/models_hf/lmsys/vicuna-13b-v1.1
BASELINE_ATTACK_MODE=blur

for TASK in unconstrained constrained qna; do
  for BASELINE_ATTACK_MODE in blur compress; do

    echo "Running ${TASK} with ${BASELINE_ATTACK_MODE}"

    INFERENCE_FILE=outputs/${MODEL}/inference_${MODEL}_baseline_${TASK}_${BASELINE_ATTACK_MODE}
    METRICS_FILE=outputs/${MODEL}/metric_${MODEL}_baseline_${TASK}_${BASELINE_ATTACK_MODE}
    SUMMARY_FILE=outputs/${MODEL}/summary_${MODEL}_baseline_${TASK}_${BASELINE_ATTACK_MODE}

    if [ "${TASK}" = "constrained" ]; then
      echo "Running constrained attack"

      python instructblip_constrained_inference.py --output_file ${INFERENCE_FILE} \
        --model_path ${MODEL_PATH} \
        --gpu-id 3 \
        --do_baseline \
        --baseline_mode 1 \
        --baseline_attack_mode ${BASELINE_ATTACK_MODE}

    elif [ "${TASK}" = "unconstrained" ]; then
      echo "Running unconstrained attack"

      python instructblip_unconstrained_inference.py --output_file ${INFERENCE_FILE} \
        --model_path ${MODEL_PATH} \
        --gpu-id 3 \
        --do_baseline \
        --baseline_mode 1 \
        --baseline_attack_mode ${BASELINE_ATTACK_MODE}

    elif [ "${TASK}" = "qna" ]; then
      echo "Running QNA"
      python instructblip_qna.py \
       --image_path ${TASK}_attack_images/adversarial_ \
       --output_file ${INFERENCE_FILE} \
       --gpu-id ${GPU_ID} \
       --do_baseline \
       --baseline_mode 1 \
       --baseline_attack_mode ${BASELINE_ATTACK_MODE}

    else
      echo "Wrong Implementation"
      exit 1
    fi


    CUDA_VISIBLE_DEVICES=3 python get_metric.py --input ${INFERENCE_FILE} \
      --output ${METRICS_FILE} \
      --perplexity ${SUMMARY_FILE} \
      --device cuda


    python cal_metrics.py --input ${METRICS_FILE} \
     --output ${SUMMARY_FILE}
  done
done