|
#!/bin/bash |
|
output_dir=output |
|
|
|
|
|
if [ -n "$1" ]; then |
|
config_file=$1 |
|
fi |
|
|
|
if [ -n "$2" ]; then |
|
model_paths_file=$2 |
|
fi |
|
|
|
|
|
default_step=20 |
|
default_bs=1 |
|
default_sample_nums=100 |
|
default_sampling_algo="flow_dpm-solver" |
|
json_file="tools/metrics/image_reward/benchmark-prompts-dict.json" |
|
default_add_label='' |
|
default_dataset='ImageReward' |
|
|
|
default_suffix_label='30K_bs50_Flow_DPM20_' |
|
default_log_image_reward=false |
|
|
|
|
|
job_name=$(basename $(dirname $(dirname "$model_paths_file"))) |
|
|
|
for arg in "$@" |
|
do |
|
case $arg in |
|
--np=*) |
|
np="${arg#*=}" |
|
shift |
|
;; |
|
--step=*) |
|
step="${arg#*=}" |
|
shift |
|
;; |
|
--bs=*) |
|
bs="${arg#*=}" |
|
shift |
|
;; |
|
--sample_nums=*) |
|
sample_nums="${arg#*=}" |
|
shift |
|
;; |
|
--sampling_algo=*) |
|
sampling_algo="${arg#*=}" |
|
shift |
|
;; |
|
--dataset=*) |
|
dataset="${arg#*=}" |
|
shift |
|
;; |
|
--cfg_scale=*) |
|
cfg_scale="${arg#*=}" |
|
shift |
|
;; |
|
--suffix_label=*) |
|
suffix_label="${arg#*=}" |
|
shift |
|
;; |
|
--add_label=*) |
|
add_label="${arg#*=}" |
|
shift |
|
;; |
|
--log_image_reward=*) |
|
log_image_reward="${arg#*=}" |
|
shift |
|
;; |
|
--auto_ckpt=*) |
|
auto_ckpt="${arg#*=}" |
|
shift |
|
;; |
|
--auto_ckpt_interval=*) |
|
auto_ckpt_interval="${arg#*=}" |
|
shift |
|
;; |
|
--inference=*) |
|
inference="${arg#*=}" |
|
shift |
|
;; |
|
--imagereward=*) |
|
imagereward="${arg#*=}" |
|
shift |
|
;; |
|
--tracker_pattern=*) |
|
tracker_pattern="${arg#*=}" |
|
shift |
|
;; |
|
--ablation_key=*) |
|
ablation_key="${arg#*=}" |
|
shift |
|
;; |
|
--ablation_selections=*) |
|
ablation_selections="${arg#*=}" |
|
shift |
|
;; |
|
*) |
|
;; |
|
esac |
|
done |
|
|
|
np=${np:-8} |
|
inference_script=${inference_script:-"scripts/inference_image_reward.py"} |
|
inference=${inference:-true} |
|
imagereward=${imagereward:-true} |
|
|
|
step=${step:-$default_step} |
|
bs=${bs:-$default_bs} |
|
dataset=${dataset:-$default_dataset} |
|
cfg_scale=${cfg_scale:-4.5} |
|
sample_nums=${sample_nums:-$default_sample_nums} |
|
sampling_algo=${sampling_algo:-$default_sampling_algo} |
|
suffix_label=${suffix_label:-$default_suffix_label} |
|
add_label=${add_label:-$default_add_label} |
|
ablation_key=${ablation_key:-''} |
|
ablation_selections=${ablation_selections:-''} |
|
|
|
tracker_pattern=${tracker_pattern:-"epoch_step"} |
|
log_image_reward=${log_image_reward:-$default_log_image_reward} |
|
auto_ckpt=${auto_ckpt:-false} |
|
auto_ckpt_interval=${auto_ckpt_interval:-0} |
|
|
|
read -r -d '' cmd <<EOF |
|
bash scripts/infer_metric_run_inference_metric.sh $config_file $model_paths_file --np=$np \ |
|
--inference=$inference --fid=false --clipscore=false --imagereward=$imagereward \ |
|
--step=$step --bs=$bs --sample_nums=$sample_nums --json_file=$json_file --dataset=$dataset \ |
|
--exist_time_prefix=$exist_time_prefix --cfg_scale=$cfg_scale \ |
|
--fid_suffix_label=$suffix_label --add_label=$add_label \ |
|
--log_fid=false --log_clip_score=false --log_image_reward=$log_image_reward \ |
|
--output_dir=$output_dir --auto_ckpt=$auto_ckpt --sampling_algo=$sampling_algo \ |
|
--auto_ckpt_interval=$auto_ckpt_interval --tracker_pattern=$tracker_pattern \ |
|
--ablation_key=$ablation_key --ablation_selections="$ablation_selections" \ |
|
--inference_script=$inference_script |
|
EOF |
|
|
|
echo $cmd '\n' |
|
bash -c "${cmd}" |
|
|