LLaMA-Factory-310P3/mindie/examples/models/llava/run_pa.sh

81 lines
2.6 KiB
Bash

# Copyright Huawei Technologies Co., Ltd. 2023-2024. All rights reserved.
# 参数配置以及启动指令的说明见同级目录下的README.md文件
export ASCEND_RT_VISIBLE_DEVICES=0
export MASTER_PORT=20036
# 以下环境变量与性能和内存优化相关,通常情况下无需修改
export ATB_LAYER_INTERNAL_TENSOR_REUSE=1
export INF_NAN_MODE_ENABLE=1
export ATB_OPERATION_EXECUTE_ASYNC=1
export TASK_QUEUE_ENABLE=1
export ATB_CONVERT_NCHW_TO_ND=1
export LCCL_ENABLE_FALLBACK=1
export ATB_WORKSPACE_MEM_ALLOC_GLOBAL=1
export ATB_CONTEXT_WORKSPACE_SIZE=0
export INT8_FORMAT_NZ_ENABLE=1
IMAGE_PATH=/data/acltransformer_testdata/images/llava
world_size=$(($(echo "${ASCEND_RT_VISIBLE_DEVICES}" | grep -o , | wc -l) +1))
if [ $# -eq 0 ]; then
echo "Error: require parameter. Please refer to README."
exit 1
fi
if [[ ! -z "$1" ]];then
RUN_OPTION=$1
echo "[RUN_OPTION]: $RUN_OPTION"
shift
fi
if [[ ! -z "$1" ]];then
MODEL_PATH=$1
echo "[MODEL_PATH]: $MODEL_PATH"
shift
fi
if [[ ! -z "$1" ]];then
IMAGE_PATH=$1
echo "[IMAGE_PATH]: $IMAGE_PATH"
shift
fi
case "${RUN_OPTION}" in
"--run")
extra_param=""
extra_param="${extra_param} --model_path $MODEL_PATH
--image_path $IMAGE_PATH"
if [ "$TP_WORLD_SIZE" == "1" ]; then
python -m examples.models.llava.llava $extra_param
else
torchrun --nproc_per_node $world_size --master_port $MASTER_PORT -m examples.models.llava.llava $extra_param
fi
;;
"--performance")
for bsz in {1..10}; do
extra_param=""
extra_param="${extra_param} --model_path $MODEL_PATH
--image_path $IMAGE_PATH
--max_batch_size $bsz
--max_output_length 256"
if [ "$TP_WORLD_SIZE" == "1" ]; then
python -m examples.models.llava.llava $extra_param --performance
else
torchrun --nproc_per_node $world_size --master_port $MASTER_PORT -m examples.models.llava.llava $extra_param --performance
fi
done
;;
"--precision")
extra_param=""
extra_param="${extra_param} --model_path $MODEL_PATH
--image_path $IMAGE_PATH"
if [ "$TP_WORLD_SIZE" == "1" ]; then
python -m examples.models.llava.llava $extra_param --prediction_result
else
torchrun --nproc_per_node $world_size --master_port $MASTER_PORT -m examples.models.llava.llava $extra_param --prediction_result
fi
;;
esac