#!/usr/bin/env bash
set -e
infer_mode=$1
bs=$2
chip_name=$3
question_seq_len=35
atc \
--framework 5 \
--model ascend_models/visual_encoder_md.onnx \
--output ascend_models/visual_encoder_md \
--insert_op_conf ../visual_encoder.aippconfig \
--enable_small_channel 1 \
--soc_version "Ascend${chip_name}"
atc \
--framework 5 \
--model ascend_models/text_encoder_md.onnx \
--output ascend_models/text_encoder_md \
--soc_version "Ascend${chip_name}"
if [[ "${infer_mode}" == "rank" ]]; then
atc \
--framework 5 \
--model ascend_models/text_decoder_rank_1_md.onnx \
--output ascend_models/text_decoder_rank_1_md \
--soc_version "Ascend${chip_name}"
atc \
--framework 5 \
--model ascend_models/text_decoder_rank_2_md.onnx \
--output ascend_models/text_decoder_rank_2_md \
--op_select_implmode 'high_performance' \
--optypelist_for_implmode 'Gelu' \
--soc_version "Ascend${chip_name}"
elif [[ "${infer_mode}" == "generate" ]]; then
atc \
--framework 5 \
--model ascend_models/text_decoder_generate.onnx \
--output ascend_models/text_decoder_generate_sim \
--input_format 'ND' \
--input_shape "input_ids:${bs},-1;attention_mask:${bs},-1;encoder_hidden_states:${bs},${question_seq_len},768;encoder_attention_mask:${bs},${question_seq_len}" \
--dynamic_dims '1,1;2,2;3,3;4,4;5,5;6,6;7,7;8,8;9,9;10,10' \
--soc_version "Ascend${chip_name}"
fi