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

[luci/service] Migrate shape inferences for Conv2D ops #14125

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pcs1265
Copy link
Member

@pcs1265 pcs1265 commented Sep 29, 2024

This commit migrates shape inferences of Conv2D and DepthwiseConv2D to sinf::Algorithm.

ONE-DCO-1.0-Signed-off-by: Chansu Park [email protected]

This commit migrates shape inference of Conv2D and DepthwiseConv2D to sinf::Algorithm.

ONE-DCO-1.0-Signed-off-by: Chansu Park <[email protected]>
@pcs1265 pcs1265 requested review from a team September 29, 2024 23:42
@pcs1265
Copy link
Member Author

pcs1265 commented Sep 29, 2024

Related : #14115
Draft : #13950

This just migrates these functions and separates to dedicated file.
(It includes changing the return type to match with function header.)

If it needs to be divided into smaller changes, I am planning the following order.
1. Move infer_conv2d_type() function to HelperConv2Ds.h
3. Migrate Conv2D shape inference to sinf::Algorithm
4. Migrate DepthwiseConv2D shape inference to sinf::Algorithm

It seems more verbose if I split this...

@pcs1265 pcs1265 added SSAFY PR/ready for review It is ready to review. Please review it. labels Sep 29, 2024
@pcs1265 pcs1265 closed this Sep 30, 2024
@pcs1265 pcs1265 reopened this Sep 30, 2024
@zetwhite zetwhite self-requested a review October 7, 2024 04:35
*/

#include "Check.h"
#include "CircleShapeInferenceHelper.h"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
#include "CircleShapeInferenceHelper.h"

Is this header used..?

Copy link
Member Author

Choose a reason for hiding this comment

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

Oh, I missed that.
Since I just migrated them, it doesn't need to be included this time.
It should be included in the next PR.
Thank you for checking.

Comment on lines +17 to +23
#include "HelperConv2Ds.h"
#include "luci/Service/CircleShapeInference.h"

#include "CircleCloneNode.h"
#include "CircleShapeInferenceHelper.h"

#include <luci/Log.h>
Copy link
Contributor

Choose a reason for hiding this comment

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

I thought there was a rule for header including order.
I'm not sure if it follows the rule or not. 🤔

I guess there was a comment about the rule, but I couldn't remember where it is.

Copy link
Contributor

Choose a reason for hiding this comment

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

+) Ah, here it is - #13784 (comment)

Copy link
Contributor

Choose a reason for hiding this comment

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

Header including order have to be changed like this :

Suggested change
#include "HelperConv2Ds.h"
#include "luci/Service/CircleShapeInference.h"
#include "CircleCloneNode.h"
#include "CircleShapeInferenceHelper.h"
#include <luci/Log.h>
#include "luci/Service/CircleShapeInference.h"
#include "CircleCloneNode.h"
#include "CircleShapeInferenceHelper.h"
#include "HelperConv2Ds.h"
#include <luci/Log.h>

@@ -14,7 +14,11 @@
* limitations under the License.
*/

#include "HelperConv2Ds.h"
Copy link
Contributor

Choose a reason for hiding this comment

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

(optional)

How about renaming a header file to Conv2DHelepr.h
I found out that there are more headers named *.Helper.h than Helper*.h.
So I thought the name *Helper.h might be good for consistency.

ONE/compiler [$?] …
➜ find -name '*Helper.h' | wc -l
36

ONE/compiler [$?] …
➜ find -name 'Helper*.h' | wc -l 
10

But still, it is a personal preference, So I don't want to force it at all.
Please feel free to make your own decision.

Copy link
Contributor

Choose a reason for hiding this comment

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

(optional 2)

It would be also good to move the infer_conv2d_type helper function to the CircleShapeInferenceHelper.h header file directly, for the reusability of helper functions.

As I know, because it is a template function, it is okay that its definition can be located in the header file.

Copy link
Contributor

Choose a reason for hiding this comment

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

As I know, because it is a template function, it is okay that its definition can be located in the header file.

Ah, there was a history about HelperPads introduced. If so, your suggestion looks good for me :)

Copy link
Contributor

@zetwhite zetwhite left a comment

Choose a reason for hiding this comment

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

I've left some minor comments.
Plz take a look. The code itself looks good to me:)

Copy link
Contributor

@shs-park shs-park left a comment

Choose a reason for hiding this comment

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

I left an additional comment, PTAL
=)

@@ -14,7 +14,11 @@
* limitations under the License.
*/

#include "HelperConv2Ds.h"
Copy link
Contributor

Choose a reason for hiding this comment

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

(optional 2)

It would be also good to move the infer_conv2d_type helper function to the CircleShapeInferenceHelper.h header file directly, for the reusability of helper functions.

As I know, because it is a template function, it is okay that its definition can be located in the header file.

@shs-park shs-park self-assigned this Oct 11, 2024
@pcs1265
Copy link
Member Author

pcs1265 commented Oct 15, 2024

I apologize for the delay. I've been busy preparing for the SSAFY project presentation.
Is this urgent for ONE?
If it's not urgent, I will make the changes to my PR.

@zetwhite
Copy link
Contributor

Is this urgent for ONE?

AFAIK, it isn't urgent.

If it's not urgent, I will make the changes to my PR.

Yes, Please. Thank you for your work:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR/ready for review It is ready to review. Please review it. SSAFY
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants