forked from mindspore-Ecosystem/mindspore
fix faster-rcnn mask-rcnn dvpp+aipp 310 inference bug
This commit is contained in:
parent
54b8d53780
commit
0efd03284c
|
@ -163,11 +163,16 @@ int AclProcess::WriteResult(const std::string& imageFile) {
|
||||||
fileName.replace(fileName.find('.'), fileName.size() - fileName.find('.'), "_" + std::to_string(i) + ".bin");
|
fileName.replace(fileName.find('.'), fileName.size() - fileName.find('.'), "_" + std::to_string(i) + ".bin");
|
||||||
|
|
||||||
std::string outFileName = homePath + "/" + fileName;
|
std::string outFileName = homePath + "/" + fileName;
|
||||||
FILE * outputFile = fopen(outFileName.c_str(), "wb");
|
try {
|
||||||
fwrite(resHostBuf, output_size, sizeof(char), outputFile);
|
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);
|
ret = aclrtFreeHost(resHostBuf);
|
||||||
if (ret != OK) {
|
if (ret != OK) {
|
||||||
std::cout << "aclrtFree host output memory failed" << std::endl;
|
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(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SRC_ROOT}/out)
|
||||||
|
|
||||||
# Set include directory and library directory
|
# 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}/acllib)
|
||||||
#set(ACL_LIB_DIR $ENV{ASCEND_HOME}/$ENV{ASCEND_VERSION}/$ENV{ARCH_PATTERN}/lib64/stub)
|
set(ATLAS_ACL_LIB_DIR ${ASCEND_HOME}/ascend-toolkit/latest/acllib)
|
||||||
set(ACL_INC_DIR $ENV{ASCEND_HOME}/acllib/include)
|
|
||||||
set(ACL_LIB_DIR $ENV{ASCEND_HOME}/acllib/lib64/stub)
|
|
||||||
# Header path
|
# 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)
|
include_directories(${PROJECT_SRC_ROOT}/../inc)
|
||||||
|
|
||||||
# add host lib path
|
# add host lib path
|
||||||
link_directories(${ACL_LIB_DIR})
|
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
|
add_executable(main AclProcess.cpp
|
||||||
DvppCommon.cpp
|
DvppCommon.cpp
|
||||||
ModelProcess.cpp
|
ModelProcess.cpp
|
||||||
main.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
|
if [[ $# -lt 3 || $# -gt 4 ]]; then
|
||||||
echo "Usage: sh run_infer_310.sh [AIR_PATH] [DATA_PATH] [ANN_FILE_PATH] [DEVICE_ID]
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -47,10 +47,18 @@ echo $ann_file
|
||||||
echo $device_id
|
echo $device_id
|
||||||
|
|
||||||
export ASCEND_HOME=/usr/local/Ascend/
|
export ASCEND_HOME=/usr/local/Ascend/
|
||||||
export PATH=$ASCEND_HOME/atc/ccec_compiler/bin:$ASCEND_HOME/atc/bin:$PATH
|
if [ -d ${ASCEND_HOME}/ascend-toolkit ]; then
|
||||||
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 PATH=$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:$ASCEND_HOME/ascend-toolkit/latest/atc/bin:$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 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 ASCEND_OPP_PATH=$ASCEND_HOME/opp
|
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()
|
function air_to_om()
|
||||||
{
|
{
|
||||||
|
@ -94,7 +102,7 @@ if [ $? -ne 0 ]; then
|
||||||
fi
|
fi
|
||||||
infer
|
infer
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "excute inference failed"
|
echo "execute inference failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cal_acc
|
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");
|
fileName.replace(fileName.find('.'), fileName.size() - fileName.find('.'), "_" + std::to_string(i) + ".bin");
|
||||||
|
|
||||||
std::string outFileName = homePath + "/" + fileName;
|
std::string outFileName = homePath + "/" + fileName;
|
||||||
FILE * outputFile = fopen(outFileName.c_str(), "wb");
|
try {
|
||||||
fwrite(resHostBuf, output_size, sizeof(char), outputFile);
|
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);
|
ret = aclrtFreeHost(resHostBuf);
|
||||||
if (ret != OK) {
|
if (ret != OK) {
|
||||||
std::cout << "aclrtFree host output memory failed" << std::endl;
|
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(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SRC_ROOT}/out)
|
||||||
|
|
||||||
# Set include directory and library directory
|
# 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}/acllib)
|
||||||
#set(ACL_LIB_DIR $ENV{ASCEND_HOME}/$ENV{ASCEND_VERSION}/$ENV{ARCH_PATTERN}/lib64/stub)
|
set(ATLAS_ACL_LIB_DIR ${ASCEND_HOME}/ascend-toolkit/latest/acllib)
|
||||||
set(ACL_INC_DIR $ENV{ASCEND_HOME}/acllib/include)
|
|
||||||
set(ACL_LIB_DIR $ENV{ASCEND_HOME}/acllib/lib64/stub)
|
|
||||||
# Header path
|
# 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)
|
include_directories(${PROJECT_SRC_ROOT}/../inc)
|
||||||
|
|
||||||
# add host lib path
|
# add host lib path
|
||||||
link_directories(${ACL_LIB_DIR})
|
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
|
add_executable(main AclProcess.cpp
|
||||||
DvppCommon.cpp
|
DvppCommon.cpp
|
||||||
ModelProcess.cpp
|
ModelProcess.cpp
|
||||||
main.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
|
if [[ $# -lt 3 || $# -gt 4 ]]; then
|
||||||
echo "Usage: sh run_infer_310.sh [AIR_PATH] [DATA_PATH] [ANN_FILE_PATH] [DEVICE_ID]
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -46,10 +46,18 @@ echo $ann_file
|
||||||
echo $device_id
|
echo $device_id
|
||||||
|
|
||||||
export ASCEND_HOME=/usr/local/Ascend/
|
export ASCEND_HOME=/usr/local/Ascend/
|
||||||
export PATH=$ASCEND_HOME/atc/ccec_compiler/bin:$ASCEND_HOME/atc/bin:$PATH
|
if [ -d ${ASCEND_HOME}/ascend-toolkit ]; then
|
||||||
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 PATH=$ASCEND_HOME/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:$ASCEND_HOME/ascend-toolkit/latest/atc/bin:$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 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 ASCEND_OPP_PATH=$ASCEND_HOME/opp
|
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()
|
function air_to_om()
|
||||||
{
|
{
|
||||||
|
@ -93,7 +101,7 @@ if [ $? -ne 0 ]; then
|
||||||
fi
|
fi
|
||||||
infer
|
infer
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "excute inference failed"
|
echo "execute inference failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cal_acc
|
cal_acc
|
||||||
|
|
Loading…
Reference in New Issue