model_ids=("/mnt/bn/life-mllm/users/cxr/quantization/models/meta-llama/Llama-3.1-8B" "/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-7B") # metrics=(ZD alpha alpha_hat stable_rank effective_rank head_diversity coherence) folders=("/mnt/bn/life-mllm/users/cxr/quantization/quantization_metric/metrics/Llama-3.1-8B" "/mnt/bn/life-mllm/users/cxr/quantization/quantization_metric/metrics/Qwen2.5-7B") # python BI.py --model_id /mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-7B --cuda_id 0 for folder in ${folders[@]}; do model_name=$(basename "$folder") echo "当前模型:$model_name" model=/mnt/bn/life-mllm/users/cxr/quantization/models/${model_name}-quantization-baselines for model_id_com in "${model_ids[@]}"; do # 提取当前model_id的模型名(basename直接拿到末尾的Llama-3.1-8B/Qwen2.5-7B) target_model_name=$(basename "$model_id_com") # 对比模型名,匹配则赋值并退出循环(提高效率) if [ "$model_name" = "$target_model_name" ]; then model_id="$model_id_com" break # 找到匹配项后停止遍历 fi done echo "当前模型ID:$model_id" for json_file in "${folder}"/*.json; do # 跳过空文件夹的通配符占位符 [ -e "$json_file" ] || continue # 确保是文件(排除同名目录) if [ -f "$json_file" ]; then # ========== 核心:这里的 $json_file 就是JSON文件的完整路径 ========== echo "当前JSON文件路径:$json_file" # 打印路径(验证用) file_name=$(basename "$json_file" .json) python -u main_low.py --cuda_id 1 --bit_layers $json_file --save_dir ${model} --model_id $model_id --k 5 --reverse true cd /mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness bash run_scripts/eval_base_baseline.sh ${model} ${file_name}_true cd /mnt/bn/life-mllm/users/cxr/quantization/quantization_metric python -u main_low.py --cuda_id 1 --bit_layers $json_file --save_dir ${model} --model_id $model_id --k 5 --reverse false cd /mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness bash run_scripts/eval_base_baseline.sh ${model} ${file_name}_false # jq '.alpha' "$json_file" # 提取alpha字段 cd /mnt/bn/life-mllm/users/cxr/quantization/quantization_metric fi done done