Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MaxPool 8 reference implementation #7115

Merged
merged 23 commits into from
Sep 1, 2021

Conversation

tomdol
Copy link
Contributor

@tomdol tomdol commented Aug 17, 2021

Details:

  • The kernel_position variable represented as the Coord<T> object tracks the top-left corner of the kernel. If the kernel overlaps with the padding area, the coordinates of the top-left corner are negative.
  • The kernel_offset is used to to track the currently considered/processed pixel under a kernel. The offsets is always a positive number and represents a distance from the top-left corner of the kernel. For non-dilated kernel the offsets for each kernel axis are ascending ranges [0, 1, 2, ..., kernel_size). For dilated kernels the ranges are [0, dilation, 2*dilation, 3*dilation, ...)
  • Those 2 variables are helpers used to calculate the current pixel index in the flattened representation of the input tensor
  • They are also used to check if a given element under a kernel position belongs to the padding area.

image

Tickets:

  • 54659

@tomdol tomdol requested a review from ceciliapeng2011 August 18, 2021 08:10
@tomdol
Copy link
Contributor Author

tomdol commented Aug 18, 2021

@ilyachur since there's no plugin implementation yet and there's nothing to compare against, should this PR contain single layer tests or should they be delivered with any plugin implementation (CPU first I assume)?

@tomdol tomdol marked this pull request as ready for review August 18, 2021 19:10
@tomdol tomdol requested a review from a team as a code owner August 18, 2021 19:10
@tomdol tomdol requested review from a team and andrew-zaytsev and removed request for a team August 18, 2021 19:10
@tomdol tomdol requested review from avladimi and tsavina August 18, 2021 19:10
@ilyachur
Copy link
Contributor

@ilyachur since there's no plugin implementation yet and there's nothing to compare against, should this PR contain single layer tests or should they be delivered with any plugin implementation (CPU first I assume)?

It is strange to have tests which are disabled for all components 😄 I think we can add SLT tests in the separate PR.

@tomdol tomdol mentioned this pull request Aug 19, 2021
Copy link
Contributor

@lazarevevgeny lazarevevgeny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the math perspective changes looks good, but there are a number of simple optimizations which should be applied.

@tomdol tomdol enabled auto-merge (squash) September 1, 2021 12:20
@tomdol tomdol merged commit 28075fb into openvinotoolkit:master Sep 1, 2021
@tomdol tomdol deleted the maxpool-8-refimpl branch September 1, 2021 17:30
akuporos pushed a commit to akuporos/openvino that referenced this pull request Sep 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants