Skip to content
Snippets Groups Projects
Commit dff445d1 authored by shibo19's avatar shibo19
Browse files

修复mxbase变量未定义问题

parent 5a62d07d
No related branches found
No related tags found
No related merge requests found
Showing
with 107 additions and 55 deletions
......@@ -9,7 +9,7 @@ add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
set(TARGET_LIBRARY yolov5postprocessor)
set(TARGET_MAIN yolov5)
set(ACL_LIB_PATH $ENV{ASCEND_HOME}/nnrt/latest/acllib)
set(ACL_LIB_PATH $ENV{ASCEND_HOME}/ascend-toolkit/latest/acllib)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
......@@ -19,6 +19,7 @@ include_directories($ENV{MX_SDK_HOME}/opensource/include/opencv4)
include_directories($ENV{MX_SDK_HOME}/opensource/include/gstreamer-1.0)
include_directories($ENV{MX_SDK_HOME}/opensource/include/glib-2.0)
include_directories($ENV{MX_SDK_HOME}/opensource/lib/glib-2.0/include)
include_directories($ENV{MX_SDK_HOME}/ascend-toolkit/latest/include)
link_directories($ENV{MX_SDK_HOME}/lib)
link_directories($ENV{MX_SDK_HOME}/opensource/lib/)
......
......@@ -38,6 +38,14 @@ namespace {
auto uint8Deleter = [] (uint8_t* p) { };
} // namespace
namespace localParameter {
const uint32_t VECTOR_FIRST_INDEX = 0;
const uint32_t VECTOR_SECOND_INDEX = 1;
const uint32_t VECTOR_THIRD_INDEX = 2;
const uint32_t VECTOR_FOURTH_INDEX = 3;
const uint32_t VECTOR_FIFTH_INDEX = 4;
}
namespace MxBase {
Yolov5PostProcess& Yolov5PostProcess::operator=(const Yolov5PostProcess &other) {
if (this == &other) {
......@@ -95,13 +103,14 @@ namespace MxBase {
if (yoloVersion_ == YOLOV5_VERSION) {
for (size_t i = 0; i < tensors.size(); i++) {
auto shape = tensors[i].GetShape();
if (shape.size() < VECTOR_FIFTH_INDEX) {
LogError << "dimensions of tensor [" << i << "] is less than " << VECTOR_FIFTH_INDEX << ".";
if (shape.size() < localParameter::VECTOR_FIFTH_INDEX) {
LogError << "dimensions of tensor [" << i << "] is less than " <<
localParameter::VECTOR_FIFTH_INDEX << ".";
return false;
}
uint32_t channelNumber = 1;
int startIndex = modelType_ ? VECTOR_SECOND_INDEX : VECTOR_FOURTH_INDEX;
int endIndex = modelType_ ? (shape.size() - VECTOR_THIRD_INDEX) : shape.size();
int startIndex = modelType_ ? localParameter::VECTOR_SECOND_INDEX : localParameter::VECTOR_FOURTH_INDEX;
int endIndex = modelType_ ? (shape.size() - localParameter::VECTOR_THIRD_INDEX) : shape.size();
for (int j = startIndex; j < endIndex; j++) {
channelNumber *= shape[j];
}
......
......@@ -70,7 +70,7 @@ class Yolov5PostProcess : public ObjectPostProcessBase {
const std::map<std::string, std::shared_ptr<void>> &configParamMap = {}) override;
protected:
bool IsValidTensors(const std::vector<TensorBase> &tensors) const override;
bool IsValidTensors(const std::vector<TensorBase> &tensors) const;
void ObjectDetectionOutput(const std::vector<TensorBase> &tensors,
std::vector<std::vector<ObjectInfo>> *objectInfos,
......
......@@ -56,7 +56,7 @@ if [[ $ann_file == "" ]];then
exit 1
fi
python3.7 main.py --pipeline_path=$pipeline_path \
python3 main.py --pipeline_path=$pipeline_path \
--dataset_path=$dataset_path \
--ann_file=$ann_file \
--result_files=$result_files
......
......@@ -24,6 +24,14 @@
#include "MxBase/DvppWrapper/DvppWrapper.h"
#include "MxBase/Log/Log.h"
namespace localParameter {
const uint32_t VECTOR_FIRST_INDEX = 0;
const uint32_t VECTOR_SECOND_INDEX = 1;
const uint32_t VECTOR_THIRD_INDEX = 2;
const uint32_t VECTOR_FOURTH_INDEX = 3;
const uint32_t VECTOR_FIFTH_INDEX = 4;
}
APP_ERROR HRNetW48Seg::Init(const InitParam& initParam) {
deviceId_ = initParam.deviceId;
APP_ERROR ret = MxBase::DeviceManager::GetInstance()->InitDevices();
......@@ -151,9 +159,9 @@ APP_ERROR HRNetW48Seg::PostProcess(std::vector<MxBase::TensorBase>& inputs,
}
uint32_t imgHeight = resizedInfo.heightOriginal;
uint32_t imgWidth = resizedInfo.widthOriginal;
uint32_t outputModelWidth = tensor.GetShape()[MxBase::VECTOR_FOURTH_INDEX];
uint32_t outputModelHeight = tensor.GetShape()[MxBase::VECTOR_THIRD_INDEX];
uint32_t outputModelChannel = tensor.GetShape()[MxBase::VECTOR_SECOND_INDEX];
uint32_t outputModelWidth = tensor.GetShape()[localParameter::VECTOR_FOURTH_INDEX];
uint32_t outputModelHeight = tensor.GetShape()[localParameter::VECTOR_THIRD_INDEX];
uint32_t outputModelChannel = tensor.GetShape()[localParameter::VECTOR_SECOND_INDEX];
auto data = reinterpret_cast<float(*)[outputModelHeight][outputModelWidth]>(tensor.GetBuffer());
std::vector<cv::Mat> tensorChannels = {};
for (size_t c = 0; c < outputModelChannel; ++c) {
......
......@@ -48,7 +48,7 @@ mkdir ./inferResults
echo "Inference results will be stored in ./inferResults/."
python3.7 main.py --pipeline="../data/config/hrnetw48seg.pipeline" \
python3 main.py --pipeline="../data/config/hrnetw48seg.pipeline" \
--data_path=$PATH1 \
--data_lst=$PATH2 \
--infer_result_path="./inferResults/"
......
......@@ -19,6 +19,14 @@
#include "MxBase/Log/Log.h"
#include "SEResNeXtClassifyOpencv.h"
namespace localParameter {
const uint32_t VECTOR_FIRST_INDEX = 0;
const uint32_t VECTOR_SECOND_INDEX = 0;
const uint32_t VECTOR_THIRD_INDEX = 0;
const uint32_t VECTOR_FOURTH_INDEX = 0;
const uint32_t VECTOR_FIFTH_INDEX = 0;
}
APP_ERROR SEResNeXtClassifyOpencv::Init(const InitParam &initParam) {
deviceId_ = initParam.deviceId;
APP_ERROR ret = MxBase::DeviceManager::GetInstance()->InitDevices();
......@@ -110,10 +118,10 @@ APP_ERROR SEResNeXtClassifyOpencv::Crop(const cv::Mat &srcImageMat, cv::Mat &dst
APP_ERROR SEResNeXtClassifyOpencv::Inference(const std::vector<MxBase::TensorBase> &inputs,
std::vector<MxBase::TensorBase> &outputs) {
uint32_t first = inputs[0].GetShape()[MxBase::VECTOR_FIRST_INDEX];
uint32_t second = inputs[0].GetShape()[MxBase::VECTOR_SECOND_INDEX];
uint32_t third = inputs[0].GetShape()[MxBase::VECTOR_THIRD_INDEX];
uint32_t fourth = inputs[0].GetShape()[MxBase::VECTOR_FOURTH_INDEX];
uint32_t first = inputs[0].GetShape()[localParameter::VECTOR_FIRST_INDEX];
uint32_t second = inputs[0].GetShape()[localParameter::VECTOR_SECOND_INDEX];
uint32_t third = inputs[0].GetShape()[localParameter::VECTOR_THIRD_INDEX];
uint32_t fourth = inputs[0].GetShape()[localParameter::VECTOR_FOURTH_INDEX];
std::cout << "++ inputs: " << inputs.size() << " " << first << " "
<< second << " " << third << " " << fourth << std::endl;
......
......@@ -22,12 +22,12 @@ set -e
info() { echo -e "\033[1;34m[INFO ][MxStream] $1\033[1;37m" ; }
warn() { echo >&2 -e "\033[1;31m[WARN ][MxStream] $1\033[1;37m" ; }
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/${ASCEND_VERSION}/latest/acllib/lib64:${LD_LIBRARY_PATH}
export GST_PLUGIN_SCANNER=${MX_SDK_HOME}/opensource/libexec/gstreamer-1.0/gst-plugin-scanner
export GST_PLUGIN_PATH=${MX_SDK_HOME}/opensource/lib/gstreamer-1.0:${MX_SDK_HOME}/lib/plugins
#to set PYTHONPATH, import the StreamManagerApi.py
export PYTHONPATH=$PYTHONPATH:${MX_SDK_HOME}/python
python main.py $image_path $result_dir
python3 main.py $image_path $result_dir
exit 0
......@@ -18,7 +18,7 @@ model_path=$1
output_model_name=$2
aipp_cfg=$3
/usr/local/Ascend/atc/bin/atc \
atc \
--model=$model_path \
--framework=1 \
--output=$output_model_name \
......
......@@ -19,6 +19,14 @@
#include "MxBase/Log/Log.h"
#include "Squeezenet1_1ClassifyOpencv.h"
namespace localParameter {
const uint32_t VECTOR_FIRST_INDEX = 0;
const uint32_t VECTOR_SECOND_INDEX = 1;
const uint32_t VECTOR_THIRD_INDEX = 2;
const uint32_t VECTOR_FOURTH_INDEX = 3;
const uint32_t VECTOR_FIFTH_INDEX = 4;
}
APP_ERROR Squeezenet1_1ClassifyOpencv::Init(const InitParam &initParam) {
deviceId_ = initParam.deviceId;
APP_ERROR ret = MxBase::DeviceManager::GetInstance()->InitDevices();
......@@ -110,10 +118,10 @@ APP_ERROR Squeezenet1_1ClassifyOpencv::Crop(const cv::Mat &srcImageMat, cv::Mat
APP_ERROR Squeezenet1_1ClassifyOpencv::Inference(const std::vector<MxBase::TensorBase> &inputs,
std::vector<MxBase::TensorBase> &outputs) {
uint32_t first = inputs[0].GetShape()[MxBase::VECTOR_FIRST_INDEX];
uint32_t second = inputs[0].GetShape()[MxBase::VECTOR_SECOND_INDEX];
uint32_t third = inputs[0].GetShape()[MxBase::VECTOR_THIRD_INDEX];
uint32_t fourth = inputs[0].GetShape()[MxBase::VECTOR_FOURTH_INDEX];
uint32_t first = inputs[0].GetShape()[localParameter::VECTOR_FIRST_INDEX];
uint32_t second = inputs[0].GetShape()[localParameter::VECTOR_SECOND_INDEX];
uint32_t third = inputs[0].GetShape()[localParameter::VECTOR_THIRD_INDEX];
uint32_t fourth = inputs[0].GetShape()[localParameter::VECTOR_FOURTH_INDEX];
std::cout << "++ inputs: " << inputs.size() << " " << first << " "
<< second << " " << third << " " << fourth << std::endl;
......
......@@ -22,12 +22,12 @@ set -e
info() { echo -e "\033[1;34m[INFO ][MxStream] $1\033[1;37m" ; }
warn() { echo >&2 -e "\033[1;31m[WARN ][MxStream] $1\033[1;37m" ; }
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/${ASCEND_VERSION}/latest/acllib/lib64:${LD_LIBRARY_PATH}
export GST_PLUGIN_SCANNER=${MX_SDK_HOME}/opensource/libexec/gstreamer-1.0/gst-plugin-scanner
export GST_PLUGIN_PATH=${MX_SDK_HOME}/opensource/lib/gstreamer-1.0:${MX_SDK_HOME}/lib/plugins
#to set PYTHONPATH, import the StreamManagerApi.py
export PYTHONPATH=$PYTHONPATH:${MX_SDK_HOME}/python
python3.7 main_squeezenet.py $image_path $result_dir
python3 main_squeezenet.py $image_path $result_dir
exit 0
......@@ -34,7 +34,7 @@ endif()
# Set up ACLLIB header files and dynamic link libraries
set(ACL_INC_DIR $ENV{ASCEND_HOME}/${ASCEND_VERSION}/${ARCH_PATTERN}/acllib/include)
set(ACL_LIB_DIR $ENV{ASCEND_HOME}/${ASCEND_VERSION}/${ARCH_PATTERN}/acllib/lib64)
set(ACL_LIB_PATH $ENV{ASCEND_HOME}/nnrt/latest/acllib)
set(ACL_LIB_PATH $ENV{ASCEND_HOME}/ascend-toolkit/latest/acllib)
# Set the header file and dynamic link library of MXBase
set(MXBASE_ROOT_DIR $ENV{MX_SDK_HOME})
......
......@@ -25,6 +25,15 @@ namespace {
const int RIGHTBOTY = 2;
const int RIGHTBOTX = 3;
}
namespace localParameter {
const uint32_t VECTOR_FIRST_INDEX = 0;
const uint32_t VECTOR_SECOND_INDEX = 1;
const uint32_t VECTOR_THIRD_INDEX = 2;
const uint32_t VECTOR_FOURTH_INDEX = 3;
const uint32_t VECTOR_FIFTH_INDEX = 4;
}
namespace MxBase {
float SsdGhostPostProcess::CalcIou(DetectBox boxA, DetectBox boxB, IOUMethod method) {
float left = std::max(boxA.x - boxA.width / 2.f, boxB.x - boxB.width / 2.f);
......@@ -119,39 +128,43 @@ namespace MxBase {
bool SsdGhostPostProcess::IsValidTensors(const std::vector<TensorBase> &tensors) const {
auto shape = tensors[0].GetShape();
if (tensors.size() < VECTOR_THIRD_INDEX) {
if (tensors.size() < localParameter::VECTOR_THIRD_INDEX) {
LogError << "number of tensors (" << tensors.size() << ") " << "is less than required ("
<< VECTOR_THIRD_INDEX << ")";
<< localParameter::VECTOR_THIRD_INDEX << ")";
return false;
}
if (shape.size() != VECTOR_FOURTH_INDEX) {
if (shape.size() != localParameter::VECTOR_FOURTH_INDEX) {
LogError << "number of tensor[0] dimensions (" << shape.size() << ") " << "is not equal to ("
<< VECTOR_FOURTH_INDEX << ")";
<< localParameter::VECTOR_FOURTH_INDEX << ")";
return false;
}
if (shape[VECTOR_SECOND_INDEX] != (uint32_t)objectNum_) {
LogError << "dimension of tensor[0][1] (" << shape[VECTOR_SECOND_INDEX] << ") " << "is not equal to ("
if (shape[localParameter::VECTOR_SECOND_INDEX] != (uint32_t)objectNum_) {
LogError << "dimension of tensor[0][1] (" << shape[localParameter::VECTOR_SECOND_INDEX]
<< ") " << "is not equal to ("
<< objectNum_ << ")";
return false;
}
if (shape[VECTOR_THIRD_INDEX] != BOX_DIM) {
LogError << "dimension of tensor[0][2] (" << shape[VECTOR_THIRD_INDEX] << ") " << "is not equal to ("
if (shape[localParameter::VECTOR_THIRD_INDEX] != BOX_DIM) {
LogError << "dimension of tensor[0][2] (" << shape[localParameter::VECTOR_THIRD_INDEX]
<< ") " << "is not equal to ("
<< BOX_DIM << ")";
return false;
}
shape = tensors[1].GetShape();
if (shape.size() != VECTOR_FOURTH_INDEX) {
if (shape.size() != localParameter::VECTOR_FOURTH_INDEX) {
LogError << "number of tensor[1] dimensions (" << shape.size() << ") " << "is not equal to ("
<< VECTOR_FOURTH_INDEX << ")";
<< localParameter::VECTOR_FOURTH_INDEX << ")";
return false;
}
if (shape[VECTOR_SECOND_INDEX] != (uint32_t)objectNum_) {
LogError << "dimension of tensor[1][1] (" << shape[VECTOR_SECOND_INDEX] << ") " << "is not equal to ("
if (shape[localParameter::VECTOR_SECOND_INDEX] != (uint32_t)objectNum_) {
LogError << "dimension of tensor[1][1] (" << shape[localParameter::VECTOR_SECOND_INDEX] << ") "
<< "is not equal to ("
<< objectNum_ << ")";
return false;
}
if (shape[VECTOR_THIRD_INDEX] != (uint32_t)classNum_) {
LogError << "dimension of tensor[1][2] (" << shape[VECTOR_THIRD_INDEX] << ") " << "is not equal to ("
if (shape[localParameter::VECTOR_THIRD_INDEX] != (uint32_t)classNum_) {
LogError << "dimension of tensor[1][2] (" << shape[localParameter::VECTOR_THIRD_INDEX] << ") "
<< "is not equal to ("
<< classNum_ << ")";
return false;
}
......
......@@ -52,7 +52,7 @@ class SsdGhostPostProcess:public ObjectPostProcessBase {
const std::vector<ResizedImageInfo> &resizedImageInfos = {},
const std::map<std::string, std::shared_ptr<void>> &configParamMap = {}) override;
bool IsValidTensors(const std::vector<TensorBase> &tensors) const override;
bool IsValidTensors(const std::vector<TensorBase> &tensors) const;
private:
void ObjectDetectionOutput(const std::vector<TensorBase> &tensors,
......
......@@ -31,7 +31,7 @@
"mxpi_tensorinfer0": {
"props": {
"dataSource": "mxpi_imageresize0",
"modelPath": "../../ssd_ghostnet.om"
"modelPath": "../ssd_ghostnet.om"
},
"factory": "mxpi_tensorinfer",
"next": "mxpi_objectpostprocessor0"
......@@ -41,7 +41,7 @@
"dataSource": "mxpi_tensorinfer0",
"postProcessConfigPath": "./ssd_ghost_fpn_ms_on_coco_postprocess.cfg",
"labelPath": "./coco.names",
"postProcessLibPath": "../mxManufacture/lib/libssdghostprocessor.so"
"postProcessLibPath": "libssdghostprocessor.so"
},
"factory": "mxpi_objectpostprocessor",
"next": "mxpi_dataserialize0"
......
......@@ -14,15 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
PY=/usr/bin/python3.7
export PYTHONPATH=${PYTHONPATH}:.
annotations_json=$1
det_result_json=$2
output_path_name=$3
${PY} generate_map_report.py \
python3 generate_map_report.py \
--annotations_json=${annotations_json} \
--det_result_json=${det_result_json} \
--output_path_name=${output_path_name} \
......
......@@ -20,7 +20,7 @@ set -e
info() { echo -e "\033[1;34m[INFO ][MxStream] $1\033[1;37m" ; }
warn() { echo >&2 -e "\033[1;31m[WARN ][MxStream] $1\033[1;37m" ; }
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/${ASCEND_VERSION}/latest/acllib/lib64:${LD_LIBRARY_PATH}
export GST_PLUGIN_SCANNER=${MX_SDK_HOME}/opensource/libexec/gstreamer-1.0/gst-plugin-scanner
export GST_PLUGIN_PATH=${MX_SDK_HOME}/opensource/lib/gstreamer-1.0:${MX_SDK_HOME}/lib/plugins
......@@ -32,5 +32,5 @@ img_path=$2
res_path=$3
stream_name=$4
python3.7 infer_by_sdk.py --pipeline_path ${pipeline_path} --img_path ${img_path} --res_path ${res_path} --stream_name ${stream_name}
python3 infer_by_sdk.py --pipeline_path ${pipeline_path} --img_path ${img_path} --res_path ${res_path} --stream_name ${stream_name}
exit 0
\ No newline at end of file
......@@ -19,7 +19,7 @@ aipp_cfg_path=$2
output_model_name=$3
/usr/local/Ascend/atc/bin/atc \
atc \
--model=$model_path \
--input_format=NCHW \
--framework=1 \
......
......@@ -23,6 +23,13 @@
#include "MxBase/DvppWrapper/DvppWrapper.h"
#include "MxBase/Log/Log.h"
namespace localParameter {
const uint32_t VECTOR_FIRST_INDEX = 0;
const uint32_t VECTOR_SECOND_INDEX = 1;
const uint32_t VECTOR_THIRD_INDEX = 2;
const uint32_t VECTOR_FOURTH_INDEX = 3;
const uint32_t VECTOR_FIFTH_INDEX = 4;
}
APP_ERROR WdsrSuperresolution::Init(const InitParam &initParam) {
deviceId_ = initParam.deviceId;
......@@ -43,9 +50,9 @@ APP_ERROR WdsrSuperresolution::Init(const InitParam &initParam) {
return ret;
}
uint32_t outputModelHeight = modelDesc_.outputTensors[0].tensorDims[MxBase::VECTOR_THIRD_INDEX];
uint32_t inputModelHeight = modelDesc_.inputTensors[0].tensorDims[MxBase::VECTOR_SECOND_INDEX];
uint32_t inputModelWidth = modelDesc_.inputTensors[0].tensorDims[MxBase::VECTOR_THIRD_INDEX];
uint32_t outputModelHeight = modelDesc_.outputTensors[0].tensorDims[localParameter::VECTOR_THIRD_INDEX];
uint32_t inputModelHeight = modelDesc_.inputTensors[0].tensorDims[localParameter::VECTOR_SECOND_INDEX];
uint32_t inputModelWidth = modelDesc_.inputTensors[0].tensorDims[localParameter::VECTOR_THIRD_INDEX];
scale_ = outputModelHeight/inputModelHeight;
maxEdge_ = inputModelWidth > inputModelHeight ? inputModelWidth:inputModelHeight;
......@@ -122,9 +129,9 @@ APP_ERROR WdsrSuperresolution::PostProcess(std::vector<MxBase::TensorBase> *inpu
LogError << GetError(ret) << "Tensor deploy to host failed.";
return ret;
}
uint32_t outputModelChannel = tensor.GetShape()[MxBase::VECTOR_SECOND_INDEX];
uint32_t outputModelHeight = tensor.GetShape()[MxBase::VECTOR_THIRD_INDEX];
uint32_t outputModelWidth = tensor.GetShape()[MxBase::VECTOR_FOURTH_INDEX];
uint32_t outputModelChannel = tensor.GetShape()[localParameter::VECTOR_SECOND_INDEX];
uint32_t outputModelHeight = tensor.GetShape()[localParameter::VECTOR_THIRD_INDEX];
uint32_t outputModelWidth = tensor.GetShape()[localParameter::VECTOR_FOURTH_INDEX];
LogInfo << "Channel:" << outputModelChannel << " Height:"
<< outputModelHeight << " Width:" <<outputModelWidth;
......
......@@ -54,7 +54,7 @@ echo "enter $CUR_PATH"
info() { echo -e "\033[1;34m[INFO ][MxStream] $1\033[1;37m" ; }
warn() { echo >&2 -e "\033[1;31m[WARN ][MxStream] $1\033[1;37m" ; }
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=${MX_SDK_HOME}/lib:${MX_SDK_HOME}/opensource/lib:${MX_SDK_HOME}/opensource/lib64:/usr/local/Ascend/${ASCEND_VERSION}/latest/acllib/lib64:${LD_LIBRARY_PATH}
#to set PYTHONPATH, import the StreamManagerApi.py
export PYTHONPATH=$PYTHONPATH:${MX_SDK_HOME}/python
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment