Skip to content

Commit 1858697

Browse files
authored
1 parent 9f7929e commit 1858697

File tree

3 files changed

+10
-20
lines changed

3 files changed

+10
-20
lines changed

model_api/cpp/models/src/detection_model_ssd.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ std::shared_ptr<InternalModelData> ModelSSD::preprocess(const InputData& inputDa
9393
info.at<int>(0, 0) = netInputHeight;
9494
info.at<int>(0, 1) = netInputWidth;
9595
info.at<int>(0, 2) = 1;
96-
ov::Tensor infoInput = ov::Tensor(ov::element::i32, ov::Shape({1, 3}), SharedMatAllocator(info));
96+
ov::Tensor infoInput = ov::Tensor(ov::element::i32, ov::Shape({1, 3}), SharedMatAllocator{info});
9797

9898
input.emplace(inputNames[1], infoInput);
9999
}

model_api/cpp/models/src/detection_model_yolov3_onnx.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,11 @@ void ModelYoloV3ONNX::prepareInputsOutputs(std::shared_ptr<ov::Model>& model) {
114114
std::shared_ptr<InternalModelData> ModelYoloV3ONNX::preprocess(const InputData& inputData,
115115
InferenceInput& input) {
116116
const auto& origImg = inputData.asRef<ImageInputData>().inputImage;
117-
118-
cv::Mat info(cv::Size(1, 2), CV_32SC1);
119-
info.at<int>(0, 0) = origImg.rows;
120-
info.at<int>(0, 1) = origImg.cols;
121-
ov::Tensor infoInput = ov::Tensor(ov::element::i32, ov::Shape({1, 2}), SharedMatAllocator(info));
122-
123-
input.emplace(inputNames[1], infoInput);
124-
117+
ov::Tensor info{ov::element::i32, ov::Shape({1, 2})};
118+
int32_t* data = info.data<int32_t>();
119+
data[0] = origImg.rows;
120+
data[1] = origImg.cols;
121+
input.emplace(inputNames[1], info);
125122
return ImageModel::preprocess(inputData, input);
126123
}
127124

model_api/cpp/utils/include/utils/shared_tensor_allocator.hpp

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,10 @@
1717
#pragma once
1818

1919
#include <opencv2/core.hpp>
20-
#include <memory_resource>
2120

22-
struct SharedMatAllocator : public std::pmr::memory_resource {
21+
struct SharedMatAllocator {
2322
const cv::Mat mat;
24-
25-
SharedMatAllocator(const cv::Mat& mat) : mat{mat} {}
26-
void* do_allocate(size_t bytes, size_t) override {
27-
return bytes <= mat.rows * mat.step[0] ? mat.data : nullptr;
28-
}
29-
void do_deallocate(void*, size_t, size_t) override {}
30-
bool do_is_equal(const std::pmr::memory_resource& other) const noexcept override {
31-
return this == &other;
32-
}
23+
void* allocate(size_t bytes, size_t) {return bytes <= mat.rows * mat.step[0] ? mat.data : nullptr;}
24+
void deallocate(void*, size_t, size_t) {}
25+
bool is_equal(const SharedMatAllocator& other) const noexcept {return this == &other;}
3326
};

0 commit comments

Comments
 (0)