#!/bin/bash output_dir=output # ============ start of custom code block ========== if [ -n "$1" ]; then config_file=$1 fi if [ -n "$2" ]; then model_paths_file=$2 fi # ============ end of custom code block =========== default_step=20 default_bs=1 # must be 1 for image-reward 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_' # suffix of the line chart on wandb default_log_image_reward=false # 👇No need to change the code below 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} # if run model inference imagereward=${imagereward:-true} # if compute image-reward 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} # if collect ckpt path automatically, use with the following one $auto_ckpt_interval auto_ckpt_interval=${auto_ckpt_interval:-0} # 0:last step in one epoch; 1000: every 1000 steps read -r -d '' cmd <