#!/bin/bash # Must run at root dir of mace project. set +x Usage() { echo 'Usage: bash tools/validate_gcn.sh tools/gcn.config tf_model_path image_size [tuning]' } if [ $# -lt 2 ];then Usage exit -1 fi source $1 VLOG_LEVEL=0 TF_MODEL_FILE_PATH=$2 MODEL_DIR=$(dirname ${TF_MODEL_FILE_PATH}) MACE_SOURCE_DIR=`/bin/pwd` MACE_MODEL_NAME='mace_model.pb' INPUT_FILE_NAME='model_input' OUTPUT_FILE_NAME='gcn.out' OUTPUT_LIST_FILE='gcn.list' PHONE_DATA_DIR="/data/local/tmp/${MACE_MODEL_NAME}" KERNEL_DIR="${PHONE_DATA_DIR}/cl/" IMAGE_SIZE=$3 MODEL_TAG=GCN${IMAGE_SIZE} CODEGEN_DIR=${MACE_SOURCE_DIR}/mace/codegen MODEL_CODEGEN_DIR=${CODEGEN_DIR}/models/gcn-$IMAGE_SIZE VERSION_SOURCE_PATH=${CODEGEN_DIR}/version build_and_run() { bazel build -c opt --strip always mace/examples:mace_run \ --crosstool_top=//external:android/crosstool \ --host_crosstool_top=@bazel_tools//tools/cpp:toolchain \ --cpu=armeabi-v7a \ --copt=-DMACE_MODEL_FUNCTION=Create${MODEL_TAG} adb shell "mkdir -p ${PHONE_DATA_DIR}" adb push ${MODEL_DIR}/${INPUT_FILE_NAME} ${PHONE_DATA_DIR} adb push bazel-bin/mace/examples/mace_run ${PHONE_DATA_DIR} adb