tuning_run.sh 2.1 KB
Newer Older
1 2 3
#!/bin/bash

Usage() {
4
  echo "Usage: bash tools/tuning_run.sh model_output_dir round tuning production_mode"
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
}

if [ $# -lt 4 ]; then
  Usage
  exit 1
fi

CURRENT_DIR=`dirname $0`
source ${CURRENT_DIR}/env.sh

MODEL_OUTPUT_DIR=$1
ROUND=$2
TUNING_OR_NOT=$3
PRODUCTION_MODE=$4

20
if [ x"$TARGET_ABI" = x"host" ]; then
21
  MACE_CPP_MIN_VLOG_LEVEL=$VLOG_LEVEL \
Y
yejianwu 已提交
22
  ${MODEL_OUTPUT_DIR}/mace_run \
23 24 25 26
      --input_shape="${INPUT_SHAPE}"\
      --output_shape="${OUTPUT_SHAPE}"\
      --input_file=${MODEL_OUTPUT_DIR}/${INPUT_FILE_NAME} \
      --output_file=${MODEL_OUTPUT_DIR}/${OUTPUT_FILE_NAME} \
W
wuchenghui 已提交
27
      --model_data_file=${MODEL_OUTPUT_DIR}/${MODEL_TAG}.data \
28 29 30 31 32 33 34 35 36 37 38 39 40 41
      --device=${DEVICE_TYPE}   \
      --round=1 || exit 1
else
  if [[ "${TUNING_OR_NOT}" != "0" && "$PRODUCTION_MODE" != 1 ]];then
    tuning_flag=1
  else
    tuning_flag=0
  fi
  
  adb shell "mkdir -p ${PHONE_DATA_DIR}" || exit 1
  if [ "$PRODUCTION_MODE" = 0 ]; then
    adb shell "mkdir -p ${KERNEL_DIR}" || exit 1
  fi
  adb push ${MODEL_OUTPUT_DIR}/${INPUT_FILE_NAME} ${PHONE_DATA_DIR} || exit 1
Y
yejianwu 已提交
42
  adb push ${MODEL_OUTPUT_DIR}/mace_run ${PHONE_DATA_DIR} || exit 1
W
wuchenghui 已提交
43 44 45
  if [ "$EMBED_MODEL_DATA" = 0 ]; then
    adb push ${MODEL_OUTPUT_DIR}/${MODEL_TAG}.data ${PHONE_DATA_DIR} || exit 1
  fi
46 47
  adb push lib/hexagon/libhexagon_controller.so ${PHONE_DATA_DIR} || exit 1
  
48 49
  mace_adb_output=`adb </dev/null shell \
    "LD_LIBRARY_PATH=${PHONE_DATA_DIR} \
50 51 52 53 54 55
    MACE_TUNING=${tuning_flag} \
    MACE_CPP_MIN_VLOG_LEVEL=$VLOG_LEVEL \
    MACE_RUN_PARAMETER_PATH=${PHONE_DATA_DIR}/mace_run.config \
    MACE_KERNEL_PATH=$KERNEL_DIR \
    MACE_LIMIT_OPENCL_KERNEL_TIME=${LIMIT_OPENCL_KERNEL_TIME} \
    ${PHONE_DATA_DIR}/mace_run \
56 57
    --input_shape=${INPUT_SHAPE}\
    --output_shape=${OUTPUT_SHAPE}\
58 59
    --input_file=${PHONE_DATA_DIR}/${INPUT_FILE_NAME} \
    --output_file=${PHONE_DATA_DIR}/${OUTPUT_FILE_NAME} \
W
wuchenghui 已提交
60
    --model_data_file=${PHONE_DATA_DIR}/${MODEL_TAG}.data \
61
    --device=${DEVICE_TYPE}   \
62 63 64 65 66 67 68
    --round=$ROUND; echo \\$?"` || exit 1
  echo "$mace_adb_output" | head -n -1

  mace_adb_return_code=`echo "$mace_adb_output" | tail -1`
  if [ $mace_adb_return_code -ne 0 ]; then
    exit 1
  fi
69
fi