Add NonMaxSupression op to contribution ops - #60
Conversation
| bool SuppressByIOU(const T* boxes_data, int32_t box_index1, int32_t box_index2) const; | ||
| void MaxMin(const T& lhs, const T& rhs, T& min, T& max) const; | ||
|
|
||
| private : int64_t max_output_size_; |
There was a problem hiding this comment.
a new line? #Resolved
| "Integer representing the maximum number of boxes to be selected by non max suppression.", | ||
| AttributeProto::INT) | ||
| .Attr( | ||
| "iou_threshold", |
There was a problem hiding this comment.
any default value for it? #Resolved
|
|
||
| if (max_output_size_ <= 0 || boxes_dims[0] == 0) { | ||
| std::vector<int64_t> output_dims(1, 0); | ||
| TensorShape output_shape(output_dims); |
There was a problem hiding this comment.
TensorShape can take an initializer list, so this can be output_shape({1, 0}) to save the overhead of a local vector alloc/destroy. Same thing below for {1, num_to_copy}. #Resolved
There was a problem hiding this comment.
Well, not exactly what I said above, whatever the transform from what you have to an initializer list. #Resolved
| sorted_scores_with_index.pop(); | ||
|
|
||
| bool selected = true; | ||
| // Check with existing boxes, suppress if exceed the IOU (Intersection Over Union) threadhold |
There was a problem hiding this comment.
threadhold->threshold? #Resolved
There was a problem hiding this comment.
good catch. 👍 #Resolved
| "score_threshold", | ||
| "Float tensor representing the threshold for deciding when to remove boxes based on score.", | ||
| AttributeProto::FLOAT); | ||
| } |
There was a problem hiding this comment.
Do we want to add shape inference here since the shape inference is enabled by default now? #Resolved
…from execution - Remove construction of MLValue name -> idx mapping from execution frame to inference session since it needs to be done per session only. - Minor change in Executor interface (eliminate one heap allocation). Related work items: #60
…data Missing test data from the rename change
* Address compliance issue and some minor updates * minor update * Add poli exclusion for RESNETLABELMAP.CS
This change generates the telemetry hash before initializing the session to ensure that the telemetry hash is generated correctly and consistently without any issues related to accessing invalid memory. The issue is seen in cases where the initializers are cleared after the session is initialized if the tensor was not pre-allocated with some other tensors in a single 'allocate' call or if the context is not to be saved. ORT does this to remove weights from the graph to save memory. Tested with OnnxRuntimeLoad, CppConsoleDesktop, CppOnnxRuntimeConsoleDesktop
This change generates the telemetry hash before initializing the session to ensure that the telemetry hash is generated correctly and consistently without any issues related to accessing invalid memory. The issue is seen in cases where the initializers are cleared after the session is initialized if the tensor was not pre-allocated with some other tensors in a single 'allocate' call or if the context is not to be saved. ORT does this to remove weights from the graph to save memory. Tested with OnnxRuntimeLoad, CppConsoleDesktop, CppOnnxRuntimeConsoleDesktop
* Fix permissions issue with nightly publish job * Add issue_comment trigger so that this can be played around with more via a new PR
add throughput optimization support
No description provided.