| @@ -163,11 +163,16 @@ int AclProcess::WriteResult(const std::string& imageFile) { | |||
| fileName.replace(fileName.find('.'), fileName.size() - fileName.find('.'), "_" + std::to_string(i) + ".bin"); | |||
| std::string outFileName = homePath + "/" + fileName; | |||
| FILE * outputFile = fopen(outFileName.c_str(), "wb"); | |||
| fwrite(resHostBuf, output_size, sizeof(char), outputFile); | |||
| try { | |||
| FILE * outputFile = fopen(outFileName.c_str(), "wb"); | |||
| fwrite(resHostBuf, output_size, sizeof(char), outputFile); | |||
| fclose(outputFile); | |||
| outputFile = nullptr; | |||
| } catch (std::exception &e) { | |||
| std::cout << "write result file " << outFileName << " failed, error info: " << e.what() << std::endl; | |||
| std::exit(1); | |||
| } | |||
| fclose(outputFile); | |||
| outputFile = nullptr; | |||
| ret = aclrtFreeHost(resHostBuf); | |||
| if (ret != OK) { | |||
| std::cout << "aclrtFree host output memory failed" << std::endl; | |||
| @@ -22,20 +22,21 @@ set(PROJECT_SRC_ROOT ${CMAKE_CURRENT_LIST_DIR}/) | |||
| set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SRC_ROOT}/out) | |||
| # Set include directory and library directory | |||
| #set(ACL_INC_DIR $ENV{ASCEND_HOME}/$ENV{ASCEND_VERSION}/$ENV{ARCH_PATTERN}/include) | |||
| #set(ACL_LIB_DIR $ENV{ASCEND_HOME}/$ENV{ASCEND_VERSION}/$ENV{ARCH_PATTERN}/lib64/stub) | |||
| set(ACL_INC_DIR $ENV{ASCEND_HOME}/acllib/include) | |||
| set(ACL_LIB_DIR $ENV{ASCEND_HOME}/acllib/lib64/stub) | |||
| set(ACL_LIB_DIR $ENV{ASCEND_HOME}/acllib) | |||
| set(ATLAS_ACL_LIB_DIR ${ASCEND_HOME}/ascend-toolkit/latest/acllib) | |||
| # Header path | |||
| include_directories(${ACL_INC_DIR}) | |||
| include_directories(${ACL_LIB_DIR}/include/) | |||
| include_directories(${ATLAS_ACL_LIB_DIR}/include/}) | |||
| include_directories(${PROJECT_SRC_ROOT}/../inc) | |||
| # add host lib path | |||
| link_directories(${ACL_LIB_DIR}) | |||
| find_library(acl libascendcl.so ${ACL_LIB_DIR}/lib64 ${ATLAS_ACL_LIB_DIR}/lib64) | |||
| find_library(acl_dvpp libacl_dvpp.so ${ACL_LIB_DIR}/lib64 ${ATLAS_ACL_LIB_DIR}/lib64) | |||
| add_executable(main AclProcess.cpp | |||
| DvppCommon.cpp | |||
| ModelProcess.cpp | |||
| main.cpp) | |||
| target_link_libraries(main ascendcl gflags acl_dvpp pthread) | |||
| target_link_libraries(main ${acl} gflags ${acl_dvpp} pthread) | |||
| @@ -16,7 +16,7 @@ | |||
| if [[ $# -lt 3 || $# -gt 4 ]]; then | |||
| echo "Usage: sh run_infer_310.sh [AIR_PATH] [DATA_PATH] [ANN_FILE_PATH] [DEVICE_ID] | |||
| DEVICE_ID is optional, it can be setted by environment variable device_id, otherwise the value is zero" | |||
| DEVICE_ID is optional, it can be set by environment variable device_id, otherwise the value is zero" | |||
| exit 1 | |||
| fi | |||
| @@ -47,10 +47,18 @@ echo $ann_file | |||
| echo $device_id | |||
| export ASCEND_HOME=/usr/local/Ascend/ | |||
| export PATH=$ASCEND_HOME/atc/ccec_compiler/bin:$ASCEND_HOME/atc/bin:$PATH | |||
| export LD_LIBRARY_PATH=/usr/local/lib:$ASCEND_HOME/atc/lib64:$ASCEND_HOME/acllib/lib64:$ASCEND_HOME/driver/lib64:$ASCEND_HOME/add-ones:$LD_LIBRARY_PATH | |||
| export PYTHONPATH=$ASCEND_HOME/atc/python/site-packages/te.egg:$ASCEND_HOME/atc/python/site-packages/topi.egg:$ASCEND_HOME/atc/python/site-packages/auto_tune.egg::$ASCEND_HOME/atc/python/site-packages/schedule_search.egg:$PYTHONPATH | |||
| export ASCEND_OPP_PATH=$ASCEND_HOME/opp | |||
| if [ -d ${ASCEND_HOME}/ascend-toolkit ]; then | |||
| export PATH=$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:$ASCEND_HOME/ascend-toolkit/latest/atc/bin:$PATH | |||
| export LD_LIBRARY_PATH=/usr/local/lib:$ASCEND_HOME/ascend-toolkit/latest/atc/lib64:$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/lib64:$ASCEND_HOME/driver/lib64:$ASCEND_HOME/add-ones:$LD_LIBRARY_PATH | |||
| export TBE_IMPL_PATH=${ASCEND_HOME}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe | |||
| export PYTHONPATH=${TBE_IMPL_PATH}:$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/python/site-packages:$PYTHONPATH | |||
| export ASCEND_OPP_PATH=$ASCEND_HOME/ascend-toolkit/latest/opp | |||
| else | |||
| export PATH=$ASCEND_HOME/atc/ccec_compiler/bin:$ASCEND_HOME/atc/bin:$PATH | |||
| export LD_LIBRARY_PATH=/usr/local/lib:$ASCEND_HOME/atc/lib64:$ASCEND_HOME/acllib/lib64:$ASCEND_HOME/driver/lib64:$ASCEND_HOME/add-ones:$LD_LIBRARY_PATH | |||
| export PYTHONPATH=$ASCEND_HOME/atc/python/site-packages:$PYTHONPATH | |||
| export ASCEND_OPP_PATH=$ASCEND_HOME/opp | |||
| fi | |||
| function air_to_om() | |||
| { | |||
| @@ -94,7 +102,7 @@ if [ $? -ne 0 ]; then | |||
| fi | |||
| infer | |||
| if [ $? -ne 0 ]; then | |||
| echo "excute inference failed" | |||
| echo "execute inference failed" | |||
| exit 1 | |||
| fi | |||
| cal_acc | |||
| @@ -163,11 +163,16 @@ int AclProcess::WriteResult(const std::string& imageFile) { | |||
| fileName.replace(fileName.find('.'), fileName.size() - fileName.find('.'), "_" + std::to_string(i) + ".bin"); | |||
| std::string outFileName = homePath + "/" + fileName; | |||
| FILE * outputFile = fopen(outFileName.c_str(), "wb"); | |||
| fwrite(resHostBuf, output_size, sizeof(char), outputFile); | |||
| try { | |||
| FILE * outputFile = fopen(outFileName.c_str(), "wb"); | |||
| fwrite(resHostBuf, output_size, sizeof(char), outputFile); | |||
| fclose(outputFile); | |||
| outputFile = nullptr; | |||
| } catch (std::exception &e) { | |||
| std::cout << "write result file " << outFileName << " failed, error info: " << e.what() << std::endl; | |||
| std::exit(1); | |||
| } | |||
| fclose(outputFile); | |||
| outputFile = nullptr; | |||
| ret = aclrtFreeHost(resHostBuf); | |||
| if (ret != OK) { | |||
| std::cout << "aclrtFree host output memory failed" << std::endl; | |||
| @@ -22,20 +22,21 @@ set(PROJECT_SRC_ROOT ${CMAKE_CURRENT_LIST_DIR}/) | |||
| set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SRC_ROOT}/out) | |||
| # Set include directory and library directory | |||
| #set(ACL_INC_DIR $ENV{ASCEND_HOME}/$ENV{ASCEND_VERSION}/$ENV{ARCH_PATTERN}/include) | |||
| #set(ACL_LIB_DIR $ENV{ASCEND_HOME}/$ENV{ASCEND_VERSION}/$ENV{ARCH_PATTERN}/lib64/stub) | |||
| set(ACL_INC_DIR $ENV{ASCEND_HOME}/acllib/include) | |||
| set(ACL_LIB_DIR $ENV{ASCEND_HOME}/acllib/lib64/stub) | |||
| set(ACL_LIB_DIR $ENV{ASCEND_HOME}/acllib) | |||
| set(ATLAS_ACL_LIB_DIR ${ASCEND_HOME}/ascend-toolkit/latest/acllib) | |||
| # Header path | |||
| include_directories(${ACL_INC_DIR}) | |||
| include_directories(${ACL_LIB_DIR}/include/) | |||
| include_directories(${ATLAS_ACL_LIB_DIR}/include/}) | |||
| include_directories(${PROJECT_SRC_ROOT}/../inc) | |||
| # add host lib path | |||
| link_directories(${ACL_LIB_DIR}) | |||
| find_library(acl libascendcl.so ${ACL_LIB_DIR}/lib64 ${ATLAS_ACL_LIB_DIR}/lib64) | |||
| find_library(acl_dvpp libacl_dvpp.so ${ACL_LIB_DIR}/lib64 ${ATLAS_ACL_LIB_DIR}/lib64) | |||
| add_executable(main AclProcess.cpp | |||
| DvppCommon.cpp | |||
| ModelProcess.cpp | |||
| main.cpp) | |||
| target_link_libraries(main ascendcl gflags acl_dvpp pthread) | |||
| target_link_libraries(main ${acl} gflags ${acl_dvpp} pthread) | |||
| @@ -16,7 +16,7 @@ | |||
| if [[ $# -lt 3 || $# -gt 4 ]]; then | |||
| echo "Usage: sh run_infer_310.sh [AIR_PATH] [DATA_PATH] [ANN_FILE_PATH] [DEVICE_ID] | |||
| DEVICE_ID is optional, it can be setted by environment variable device_id, otherwise the value is zero" | |||
| DEVICE_ID is optional, it can be set by environment variable device_id, otherwise the value is zero" | |||
| exit 1 | |||
| fi | |||
| @@ -46,10 +46,18 @@ echo $ann_file | |||
| echo $device_id | |||
| export ASCEND_HOME=/usr/local/Ascend/ | |||
| export PATH=$ASCEND_HOME/atc/ccec_compiler/bin:$ASCEND_HOME/atc/bin:$PATH | |||
| export LD_LIBRARY_PATH=/usr/local/lib:$ASCEND_HOME/atc/lib64:$ASCEND_HOME/acllib/lib64:$ASCEND_HOME/driver/lib64:$ASCEND_HOME/add-ones:$LD_LIBRARY_PATH | |||
| export PYTHONPATH=$ASCEND_HOME/atc/python/site-packages/te.egg:$ASCEND_HOME/atc/python/site-packages/topi.egg:$ASCEND_HOME/atc/python/site-packages/auto_tune.egg::$ASCEND_HOME/atc/python/site-packages/schedule_search.egg:$PYTHONPATH | |||
| export ASCEND_OPP_PATH=$ASCEND_HOME/opp | |||
| if [ -d ${ASCEND_HOME}/ascend-toolkit ]; then | |||
| export PATH=$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:$ASCEND_HOME/ascend-toolkit/latest/atc/bin:$PATH | |||
| export LD_LIBRARY_PATH=/usr/local/lib:$ASCEND_HOME/ascend-toolkit/latest/atc/lib64:$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/lib64:$ASCEND_HOME/driver/lib64:$ASCEND_HOME/add-ones:$LD_LIBRARY_PATH | |||
| export TBE_IMPL_PATH=${ASCEND_HOME}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe | |||
| export PYTHONPATH=${TBE_IMPL_PATH}:$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/python/site-packages:$PYTHONPATH | |||
| export ASCEND_OPP_PATH=$ASCEND_HOME/ascend-toolkit/latest/opp | |||
| else | |||
| export PATH=$ASCEND_HOME/atc/ccec_compiler/bin:$ASCEND_HOME/atc/bin:$PATH | |||
| export LD_LIBRARY_PATH=/usr/local/lib:$ASCEND_HOME/atc/lib64:$ASCEND_HOME/acllib/lib64:$ASCEND_HOME/driver/lib64:$ASCEND_HOME/add-ones:$LD_LIBRARY_PATH | |||
| export PYTHONPATH=$ASCEND_HOME/atc/python/site-packages:$PYTHONPATH | |||
| export ASCEND_OPP_PATH=$ASCEND_HOME/opp | |||
| fi | |||
| function air_to_om() | |||
| { | |||
| @@ -93,7 +101,7 @@ if [ $? -ne 0 ]; then | |||
| fi | |||
| infer | |||
| if [ $? -ne 0 ]; then | |||
| echo "excute inference failed" | |||
| echo "execute inference failed" | |||
| exit 1 | |||
| fi | |||
| cal_acc | |||