提交 2bee11ed 编写于 作者: L Liangliang He

Merge branch 'generate-header' into 'master'

Fix validate gcn to support source-based mace run.

See merge request !165
......@@ -29,9 +29,7 @@ cc_test(
cc_binary(
name = "mace_run",
srcs = [
"mace_run.cc",
],
srcs = glob(["models/*/*.cc"] + ["mace_run.cc"]),
copts = ["-std=c++11"],
linkopts = ["-fopenmp"] + if_android(["-ldl"]),
linkstatic = 1,
......
......@@ -21,7 +21,7 @@ using namespace std;
using namespace mace;
namespace mace {
extern NetDef CreateNet();
extern NetDef CreateGCN512();
}
void ParseShape(const string &str, vector<index_t> *shape) {
string tmp = str;
......@@ -95,7 +95,7 @@ int main(int argc, char **argv) {
// NetDef net_def;
// net_def.ParseFromIstream(&file_stream);
// file_stream.close();
NetDef net_def = mace::CreateNet();
NetDef net_def = mace::CreateGCN512();
DeviceType device_type = ParseDeviceType(device);
VLOG(0) << device_type;
......
......@@ -12,6 +12,7 @@ fi
TF_MODEL_FILE_PATH=$1
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'
......@@ -19,6 +20,7 @@ OUTPUT_LIST_FILE='gcn.list'
PHONE_DATA_DIR="/data/local/tmp/${MACE_MODEL_NAME}"
KERNEL_DIR="${PHONE_DATA_DIR}/cl/"
IMAGE_SIZE=$2
MODEL_TAG=GCN${IMAGE_SIZE}
# Step 1: Generate input data
echo "Step 1: Generate input data"
......@@ -27,18 +29,24 @@ python tools/validate.py --generate_data true --random_seed 1 \
--input_shape="${IMAGE_SIZE},${IMAGE_SIZE},3"
# Step 2: convert tf model to mace model
#echo "Step 2: convert tf model to mace model and optimize memory"
#bazel build //mace/python/tools:tf_converter
#bazel-bin/mace/python/tools/tf_converter --input=${TF_MODEL_FILE_PATH} \
# --output=${MODEL_DIR}/${MACE_MODEL_NAME} \
# --input_node=input \
# --output_node=GCN/br_result_2/fcn_br \
# --data_type=DT_HALF \
# --runtime=gpu
echo "Step 2: convert tf model to mace model and optimize memory"
echo $MACE_SOURCE_DIR
bazel build //mace/python/tools:tf_converter
mkdir -p ${MACE_SOURCE_DIR}/mace/examples/models/gcn
bazel-bin/mace/python/tools/tf_converter --input=${TF_MODEL_FILE_PATH} \
--output=${MACE_SOURCE_DIR}/mace/examples/models/gcn/mace_gcn.cc \
--input_node=input \
--output_node=GCN/br_result_2/fcn_br \
--data_type=DT_HALF \
--runtime=gpu \
--output_type=source \
--template=${MACE_SOURCE_DIR}/mace/python/tools/model.template \
--model_tag=${MODEL_TAG} \
--confuse=True
# Step 3: Run model on the phone
echo "Step 3: Run model on the phone"
bazel build -c opt --strip always mace/examples:mace_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=arm64-v8a
......@@ -46,7 +54,6 @@ bazel build -c opt --strip always mace/examples:mace_run \
adb shell "mkdir -p ${PHONE_DATA_DIR}"
adb shell "mkdir -p ${KERNEL_DIR}"
adb push mace/kernels/opencl/cl/* ${KERNEL_DIR}
#adb push ${MODEL_DIR}/${MACE_MODEL_NAME} ${PHONE_DATA_DIR}
adb push ${MODEL_DIR}/${INPUT_FILE_NAME} ${PHONE_DATA_DIR}
adb push bazel-bin/mace/examples/mace_run ${PHONE_DATA_DIR}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册