Browse Source

!13388 fix cropper bugs

From: @yeyunpeng2020
Reviewed-by: @hangangqiang,@HilbertDavid
Signed-off-by: @hangangqiang
tags/v1.2.0-rc1
mindspore-ci-bot Gitee 4 years ago
parent
commit
18804932ee
3 changed files with 25 additions and 8 deletions
  1. +1
    -1
      mindspore/lite/examples/runtime_cpp/README.md
  2. +3
    -4
      mindspore/lite/examples/runtime_cpp/main.cc
  3. +21
    -3
      mindspore/lite/tools/cropper/build_cropper_config.sh

+ 1
- 1
mindspore/lite/examples/runtime_cpp/README.md View File

@@ -45,7 +45,7 @@
配置`LD_LIBRARY_PATH`环境变量 配置`LD_LIBRARY_PATH`环境变量


```shell ```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将会运行不同的推理流程。 运行示例需要传递两个参数,第一个参数是模型路径,第二个参数是Option,不同的Option将会运行不同的推理流程。


+ 3
- 4
mindspore/lite/examples/runtime_cpp/main.cc View File

@@ -27,16 +27,16 @@
#include "include/version.h" #include "include/version.h"


std::string RealPath(const char *path) { std::string RealPath(const char *path) {
size_t PATH_MAX = 4096;
size_t max = 4096;
if (path == nullptr) { if (path == nullptr) {
std::cerr << "path is nullptr" << std::endl; std::cerr << "path is nullptr" << std::endl;
return ""; return "";
} }
if ((strlen(path)) >= PATH_MAX) {
if ((strlen(path)) >= max) {
std::cerr << "path is too long" << std::endl; std::cerr << "path is too long" << std::endl;
return ""; return "";
} }
auto resolved_path = std::make_unique<char[]>(PATH_MAX);
auto resolved_path = std::make_unique<char[]>(max);
if (resolved_path == nullptr) { if (resolved_path == nullptr) {
std::cerr << "new resolved_path failed" << std::endl; std::cerr << "new resolved_path failed" << std::endl;
return ""; return "";
@@ -53,7 +53,6 @@ std::string RealPath(const char *path) {
std::string res = resolved_path.get(); std::string res = resolved_path.get();
return res; return res;
} }

char *ReadFile(const char *file, size_t *size) { char *ReadFile(const char *file, size_t *size) {
if (file == nullptr) { if (file == nullptr) {
std::cerr << "file is nullptr." << std::endl; std::cerr << "file is nullptr." << std::endl;


+ 21
- 3
mindspore/lite/tools/cropper/build_cropper_config.sh View File

@@ -27,6 +27,8 @@ HEADER_LOCATION="-I${MINDSPORE_HOME}
-I${MINDSPORE_HOME}/mindspore/core -I${MINDSPORE_HOME}/mindspore/core
-I${MINDSPORE_HOME}/mindspore/core/ir -I${MINDSPORE_HOME}/mindspore/core/ir
-I${MINDSPORE_HOME}/mindspore/core/mindrt/include -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/ccsrc
-I${MINDSPORE_HOME}/mindspore/lite -I${MINDSPORE_HOME}/mindspore/lite
-I${MINDSPORE_HOME}/mindspore/lite/src -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) while IFS='' read -r line; do runtime_files_h+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/runtime/*.h)
others_files_h=( others_files_h=(
"${MINDSPORE_HOME}"/mindspore/lite/src/populate/populate_register.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/nnacl_utils.h
"${MINDSPORE_HOME}"/mindspore/lite/nnacl/pack.h "${MINDSPORE_HOME}"/mindspore/lite/nnacl/pack.h
"${MINDSPORE_HOME}"/mindspore/lite/src/runtime/kernel/arm/fp16/common_fp16.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" REMOVE_LISTS_STR="$REMOVE_LISTS_STR|$val"
done 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=() src_files=()
while IFS='' read -r line; do src_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/*.cc) while IFS='' read -r line; do src_files+=("$line"); done < <(ls ${MINDSPORE_HOME}/mindspore/lite/src/*.cc)
common_files=() common_files=()
@@ -132,10 +145,14 @@ getCommonFile() {
others_files_c=( others_files_c=(
"${MINDSPORE_HOME}"/mindspore/lite/nnacl/nnacl_utils.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/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 # shellcheck disable=SC2068
for file in ${all_files[@]}; do for file in ${all_files[@]}; do
map_files=$(gcc -MM ${file} ${DEFINE_STR} ${HEADER_LOCATION}) map_files=$(gcc -MM ${file} ${DEFINE_STR} ${HEADER_LOCATION})
@@ -173,6 +190,7 @@ generateOpsList
getCommonFile getCommonFile
# get src/ops # get src/ops
getOpsFile "Registry\(schema::PrimitiveType_" "${MINDSPORE_HOME}/mindspore/lite/src/ops" "prototype" & 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\(.*?, 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\(.*?, 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" & getOpsFile "REG_KERNEL\(.*?, kNumberTypeInt8, PrimitiveType_" "${MINDSPORE_HOME}/mindspore/lite/src/runtime/kernel/arm" "kNumberTypeInt8" &


Loading…
Cancel
Save