| template_config="merge_template.yaml" | |
| output_config="merge.yaml" | |
| adapter_dir="dpo/adapter" | |
| merged_dir="dpo/merged" | |
| # model_path=/data/wyt/codes/DocDPO/sft/checkpoints_llama_factory/ted_react_sft_balanced_428/checkpoint-600 | |
| # model_path=/data/wyt/codes/DocDPO/sft/checkpoints_llama_factory/ted_react_sft_trans_base_sample_balanced_428/checkpoint-600 | |
| model_path=$1 | |
| for dir in $adapter_dir/checkpoint-*; do | |
| ckpt=$(basename $dir) | |
| echo $ckpt | |
| num=${ckpt#checkpoint-} | |
| echo $num | |
| if { [ -z "$2" ] && [ -z "$3" ]; } || { [ "$num" -ge $2 ] && [ "$num" -le $3 ]; }; then | |
| mkdir -p $merged_dir/$ckpt | |
| cp $template_config $merged_dir/$ckpt/$output_config | |
| sed -i "s|adapter_name_or_path:.*|adapter_name_or_path: $adapter_dir/$ckpt|" "$merged_dir/$ckpt/$output_config" | |
| sed -i "s|model_name_or_path:.*|model_name_or_path: $model_path|" "$merged_dir/$ckpt/$output_config" | |
| sed -i "s|export_dir:.*|export_dir: $merged_dir/$ckpt|" "$merged_dir/$ckpt/$output_config" | |
| llamafactory-cli export $merged_dir/$ckpt/$output_config | |
| fi | |
| done | |