[CPU] Fixed NMS output memory redifinition logic (#21126)
CPU graph always adds Result node for outputs which don't have consumers. If Conversion is inserted between such output and Result this Conversion became consumer and require defined memory.
This commit is contained in:
parent
d3d3ee55ef
commit
c6d78def6e
@ -285,13 +285,13 @@ void NonMaxSuppression::execute(dnnl::stream strm) {
|
||||
|
||||
const size_t valid_outputs = std::min(start_offset, max_number_of_boxes);
|
||||
|
||||
const size_t stride = 3lu;
|
||||
if (!m_out_static_shape) {
|
||||
VectorDims new_dims{valid_outputs, stride};
|
||||
redefineOutputMemory({new_dims, new_dims, {1}});
|
||||
}
|
||||
|
||||
if (m_defined_outputs[NMS_SELECTED_INDICES]) {
|
||||
const size_t stride = 3lu;
|
||||
|
||||
if (!m_out_static_shape) {
|
||||
redefineOutputMemory(NMS_SELECTED_INDICES, { valid_outputs, stride });
|
||||
}
|
||||
|
||||
auto out_ptr = reinterpret_cast<int32_t *>(getChildEdgesAtPort(NMS_SELECTED_INDICES)[0]->getMemoryPtr()->getData());
|
||||
int32_t* boxes_ptr = &(m_filtered_boxes[0].batch_index);
|
||||
|
||||
@ -308,12 +308,6 @@ void NonMaxSuppression::execute(dnnl::stream strm) {
|
||||
}
|
||||
|
||||
if (m_defined_outputs[NMS_SELECTED_SCORES]) {
|
||||
const size_t stride = 3lu;
|
||||
|
||||
if (!m_out_static_shape) {
|
||||
redefineOutputMemory(NMS_SELECTED_SCORES, { valid_outputs, stride });
|
||||
}
|
||||
|
||||
auto out_ptr = reinterpret_cast<float *>(getChildEdgesAtPort(NMS_SELECTED_SCORES)[0]->getMemoryPtr()->getData());
|
||||
|
||||
size_t idx = 0lu;
|
||||
|
Loading…
Reference in New Issue
Block a user