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

[Good First Issue]: Simplify AvgPool-14 and AvgPool-1 by implementing AvgPoolBase #23465

Closed
p-wysocki opened this issue Mar 14, 2024 · 2 comments · Fixed by #23483
Closed

[Good First Issue]: Simplify AvgPool-14 and AvgPool-1 by implementing AvgPoolBase #23465

p-wysocki opened this issue Mar 14, 2024 · 2 comments · Fixed by #23483
Assignees
Labels
good first issue Good for newcomers no_stale Do not mark as stale
Milestone

Comments

@p-wysocki
Copy link
Contributor

Context

We strive to have our codebase as clean and readable as possible. A recent PR introduced MaxPool-14, which is different from MaxPool-1 only in selectable values of RoundingType. The rest of the implementation stays the same, which means a lot of code is duplicated.

That duplicated code can be merged into an AvgPoolBase class, which then can be used in MaxPool-1 and MaxPool-14.

What needs to be done?

  1. Create AvgPoolBase class.
  2. Move the common functionality from AvgPool-1 and AvgPool-14 into it - it should be pretty much everything, since the only change in AvgPool-14 is a new value selectable in ov::op::RoundingType enum.
  3. Use the AvgPoolBase class to implement AvgPool-1 and AvgPool-14 without unnecessary code dupliaction.
  4. Take a look at MaxPoolBase - maybe it's possible to simplify both even further? Let us know about any ideas that you have. Some exploration may be required, since there are some slight differences in attributes between MaxPool and AvgPool.

Example Pull Requests

There are no example PRs since this task is a refactor, but here are some related PRs:

Resources

Contact points

@p-wysocki
@praasz
@mitruska

Ticket

135527

@p-wysocki p-wysocki added good first issue Good for newcomers no_stale Do not mark as stale labels Mar 14, 2024
@github-project-automation github-project-automation bot moved this to Contributors Needed in Good first issues Mar 14, 2024
@Vladislav-Denisov
Copy link
Contributor

.take

Copy link
Contributor

Thank you for looking into this issue! Please let us know if you have any questions or require any help.

@a-sidorova a-sidorova moved this from Contributors Needed to Assigned in Good first issues Mar 15, 2024
@rkazants rkazants linked a pull request Mar 15, 2024 that will close this issue
@mlukasze mlukasze moved this from Assigned to In Review in Good first issues Mar 18, 2024
github-merge-queue bot pushed a commit that referenced this issue Mar 27, 2024
### Details:
- *Created `AvgPoolBase` class with the common functionality from
`AvgPool-1` and `AvgPool-14`*

### Tickets:
 - *#23465
@github-project-automation github-project-automation bot moved this from In Review to Closed in Good first issues Mar 27, 2024
@mlukasze mlukasze added this to the 2024.1 milestone Mar 27, 2024
bbielawx pushed a commit to bbielawx/openvino that referenced this issue Apr 12, 2024
### Details:
- *Created `AvgPoolBase` class with the common functionality from
`AvgPool-1` and `AvgPool-14`*

### Tickets:
 - *openvinotoolkit#23465
alvoron pushed a commit to alvoron/openvino that referenced this issue Apr 29, 2024
### Details:
- *Created `AvgPoolBase` class with the common functionality from
`AvgPool-1` and `AvgPool-14`*

### Tickets:
 - *openvinotoolkit#23465
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers no_stale Do not mark as stale
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants