From d58d090be7572faf7b8dac87a38046abf0d96ec1 Mon Sep 17 00:00:00 2001 From: yeyunpeng2020 Date: Tue, 16 Mar 2021 11:31:45 +0800 Subject: [PATCH] fix cropper bug --- mindspore/lite/examples/runtime_cpp/README.md | 2 +- mindspore/lite/examples/runtime_cpp/main.cc | 7 +++--- .../tools/cropper/build_cropper_config.sh | 24 ++++++++++++++++--- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/mindspore/lite/examples/runtime_cpp/README.md b/mindspore/lite/examples/runtime_cpp/README.md index 294ced8007..2088b88a47 100644 --- a/mindspore/lite/examples/runtime_cpp/README.md +++ b/mindspore/lite/examples/runtime_cpp/README.md @@ -45,7 +45,7 @@ 配置`LD_LIBRARY_PATH`环境变量 ```shell - export LD_LIBRARY_PATH = /data/local/tmp/runtime_cpp_demo/lib:{LD_LIBRARY_PATH} + export LD_LIBRARY_PATH=/data/local/tmp/runtime_cpp_demo/lib:{LD_LIBRARY_PATH} ``` 运行示例需要传递两个参数,第一个参数是模型路径,第二个参数是Option,不同的Option将会运行不同的推理流程。 diff --git a/mindspore/lite/examples/runtime_cpp/main.cc b/mindspore/lite/examples/runtime_cpp/main.cc index 161aa3b22c..9eef61e1ea 100644 --- a/mindspore/lite/examples/runtime_cpp/main.cc +++ b/mindspore/lite/examples/runtime_cpp/main.cc @@ -27,16 +27,16 @@ #include "include/version.h" std::string RealPath(const char *path) { - size_t PATH_MAX = 4096; + size_t max = 4096; if (path == nullptr) { std::cerr << "path is nullptr" << std::endl; return ""; } - if ((strlen(path)) >= PATH_MAX) { + if ((strlen(path)) >= max) { std::cerr << "path is too long" << std::endl; return ""; } - auto resolved_path = std::make_unique(PATH_MAX); + auto resolved_path = std::make_unique(max); if (resolved_path == nullptr) { std::cerr << "new resolved_path failed" << std::endl; return ""; @@ -53,7 +53,6 @@ std::string RealPath(const char *path) { std::string res = resolved_path.get(); return res; } - char *ReadFile(const char *file, size_t *size) { if (file == nullptr) { std::cerr << "file is nullptr." << std::endl; diff --git a/mindspore/lite/tools/cropper/build_cropper_config.sh b/mindspore/lite/tools/cropper/build_cropper_config.sh index 99a2b1246d..fcd419389e 100644 --- a/mindspore/lite/tools/cropper/build_cropper_config.sh +++ b/mindspore/lite/tools/cropper/build_cropper_config.sh @@ -27,6 +27,8 @@ HEADER_LOCATION="-I${MINDSPORE_HOME} -I${MINDSPORE_HOME}/mindspore/core -I${MINDSPORE_HOME}/mindspore/core/ir -I${MINDSPORE_HOME}/mindspore/core/mindrt/include +-I${MINDSPORE_HOME}/mindspore/core/mindrt/src +-I${MINDSPORE_HOME}/mindspore/core/mindrt/ -I${MINDSPORE_HOME}/mindspore/ccsrc -I${MINDSPORE_HOME}/mindspore/lite -I${MINDSPORE_HOME}/mindspore/lite/src @@ -105,6 +107,8 @@ getCommonFile() { while IFS='' read -r line; do runtime_files_h+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/runtime/*.h) others_files_h=( "${MINDSPORE_HOME}"/mindspore/lite/src/populate/populate_register.h + "${MINDSPORE_HOME}"/mindspore/lite/src/runtime/infer_manager.h + "${MINDSPORE_HOME}"/mindspore/lite/nnacl/infer/infer_register.h "${MINDSPORE_HOME}"/mindspore/lite/nnacl/nnacl_utils.h "${MINDSPORE_HOME}"/mindspore/lite/nnacl/pack.h "${MINDSPORE_HOME}"/mindspore/lite/src/runtime/kernel/arm/fp16/common_fp16.h @@ -118,6 +122,15 @@ getCommonFile() { REMOVE_LISTS_STR="$REMOVE_LISTS_STR|$val" done + cxx_api_files=() + while IFS='' read -r line; do cxx_api_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/cxx_api/graph/*.cc) + while IFS='' read -r line; do cxx_api_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/cxx_api/model/*.cc) + while IFS='' read -r line; do cxx_api_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/cxx_api/tensor/*.cc) + while IFS='' read -r line; do cxx_api_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/cxx_api/*.cc) + mindrt_files=() + while IFS='' read -r line; do mindrt_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/core/mindrt/src/*.cc) + while IFS='' read -r line; do mindrt_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/core/mindrt/src/async/*.cc) + while IFS='' read -r line; do mindrt_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/core/mindrt/src/actor/*.cc) src_files=() while IFS='' read -r line; do src_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/*.cc) common_files=() @@ -132,10 +145,14 @@ getCommonFile() { others_files_c=( "${MINDSPORE_HOME}"/mindspore/lite/nnacl/nnacl_utils.c "${MINDSPORE_HOME}"/mindspore/lite/src/runtime/kernel/arm/fp16/common_fp16.cc - "${MINDSPORE_HOME}"/mindspore/lite/src/ops/populate/arithmetic_populate.cc - "${MINDSPORE_HOME}"/mindspore/lite/src/ops/populate/arithmetic_self_populate.cc + "${MINDSPORE_HOME}"/mindspore/lite/src/runtime/infer_manager.cc + "${MINDSPORE_HOME}"/mindspore/lite/nnacl/infer/infer_register.c + "${MINDSPORE_HOME}"/mindspore/core/utils/status.cc + ) + all_files=("${src_files[@]}" "${common_files[@]}" "${runtime_files_cc[@]}" + "${runtime_files_c[@]}" "${others_files_c[@]}" "${assembly_files[@]}" "${mindrt_files[@]}" + "${cxx_api_files[@]}" ) - all_files=("${src_files[@]}" "${common_files[@]}" "${runtime_files_cc[@]}" "${runtime_files_c[@]}" "${others_files_c[@]}" "${assembly_files[@]}") # shellcheck disable=SC2068 for file in ${all_files[@]}; do map_files=$(gcc -MM ${file} ${DEFINE_STR} ${HEADER_LOCATION}) @@ -173,6 +190,7 @@ generateOpsList getCommonFile # get src/ops getOpsFile "Registry\(schema::PrimitiveType_" "${MINDSPORE_HOME}/mindspore/lite/src/ops" "prototype" & +getOpsFile "REG_INFER\(.*?, PrimType_" "${MINDSPORE_HOME}/mindspore/lite/nnacl/infer" "prototype" & getOpsFile "REG_KERNEL\(.*?, kNumberTypeFloat32, PrimitiveType_" "${MINDSPORE_HOME}/mindspore/lite/src/runtime/kernel/arm" "kNumberTypeFloat32" & getOpsFile "REG_KERNEL\(.*?, kNumberTypeFloat16, PrimitiveType_" "${MINDSPORE_HOME}/mindspore/lite/src/runtime/kernel/arm" "kNumberTypeFloat16" & getOpsFile "REG_KERNEL\(.*?, kNumberTypeInt8, PrimitiveType_" "${MINDSPORE_HOME}/mindspore/lite/src/runtime/kernel/arm" "kNumberTypeInt8" &