linux 測試openvino樣例

2021-09-29 08:35:35 字數 3194 閱讀 7903

一、測試openvino自身的demo

sh  build_samples.sh

得到以下結果

在執行的過程中可能會出現下面錯誤

./object_detection_sample_ssd: error while loading shared libraries: libformat_reader.so: cannot open shared object file: no such file or directory

vi ~/.bashrc

二、測試自己建立的工程

例如測試ssd_mobilenetv2模型

#include #include #include #include#include #include using namespace cv;

using namespace inferenceengine;

using namespace std;

template void matu8toblob(const cv::mat& orig_image, inferenceengine::blob::ptr& blob, int batchindex = 0)

// 耗時操作!!

for (size_t h = 0; h < height; h++)

} }}void frametoblob(const mat &frame, inferrequest::ptr &inferrequest, const std::string & inputname)

int main(int argc, char** ar**)

auto inputname = input_info.begin()->first;

for (auto &item : output_info)

// 建立可執行網路

auto exec_network = ie.loadnetwork(network, "cpu");

// 請求推斷

auto infer_request_curr = exec_network.createinferrequestptr();

auto infer_request_next = exec_network.createinferrequestptr();

videocapture capture(input_file);

mat curr_frame, next_frame;

capture.read(curr_frame);

int image_width = curr_frame.cols;

int image_height = curr_frame.rows;

bool islastframe = false;

bool isfirstframe = true;

frametoblob(curr_frame, infer_request_curr, inputname);

while (true)

} auto t0 = std::chrono::high_resolution_clock::now();

if (!islastframe)

// 開啟非同步執行模型

if (isfirstframe)

else

} // 檢查返回資料

if (ok == infer_request_curr->wait(iinferrequest::waitmode::result_ready))

}// 計算執行時間

auto t1 = std::chrono::high_resolution_clock::now();

ms dtime = std::chrono::duration_cast(t1 - t0);

ostringstream ss;

ss << "ssd mobilenetv2 detection fps: " << std::fixed << std::setprecision(2) << 1000 / dtime.count() << "fps";

//ss << "detection time : " << std::fixed << std::setprecision(2) << dtime.count() << " ms";

printf("ssd mobilenetv2 detection fps = %f \n", 1000 / dtime.count());

puttext(curr_frame, ss.str(), point(50, 50), font_hershey_******x, 1.0, scalar(0, 0, 255), 2, 8);

} imshow("pedestrian detection", curr_frame);

char c = waitkey(2);

if (c == 27)

if (islastframe)

// 非同步交換

next_frame.copyto(curr_frame);

infer_request_curr.swap(infer_request_next);

} capture.release();

destroyallwindows();

return 0;

}

2、編輯cmakelists.txt

cmake_minimum_required(version 3.12)

#專案名稱

project(ssd_mobilenetv2_demo)

#設定c++編譯器

set(cmake_cxx_standard 11)

#專案中的include路徑

include_directories(

)#專案中lib路徑

link_directories(

/usr/local/lib64

)#動態庫路徑

link_libraries(

)add_executable(ssd_mobilenetv2_demo ssd_mobilenetv2_openvino.cpp)

mkdir build

cd build

cmake ..

make

執行 ./ssd_mobilenetv2_demo

OpenVINO快速入門

openvino工具套件全稱是openvisualinference neural networkoptimization,是intel於2018年發布的,開源 商用免費 主要應用於計算機視覺 實現神經網路模型優化和推理計算 inference 加速的軟體工具套件。由於其商用免費,且可以把深度學習模...

OpenVINO學習系列1

openvino介紹 使用openvino toolkit 實時推斷 opencv呼叫faster rcnn物件檢測網路 核心元件與功能 openvino主要包括兩個核心元件乙個預訓練模型庫 核心元件 模型優化器 模型優化器model optimizer,模型優化器支援的深度學習框架包括 onnx ...

OpenVINO 公共模型筆記(一)

以下的部落格內容一部分是從openvino官網文件翻譯整理而來,用於記錄整個openvino自帶模型的使用過程。openvino依靠intel cpu執行,因此硬體方面需要保證裝置的cpu為intel cpu 支援的執行環境有 cpu gpu intel神經棒 intel ncs cpu環境硬體要求...