Skip to content

Conversation

@yangchen-MS
Copy link
Contributor

Currently, all Conv-family classes inherit from both ConvBase
and OpKernel. Since what ConvBase provides is all about
processing convolution attributes, it's more natural to move it as
a class member variable.

This change renamed ConvBase to ConvAttributes and moved
it into a separate file conv_attributes by its own. Instead of
inheriting from ConvBase, now each Conv-related class has a
class member variable that is of type ConvAttributes.

Hence, we removed necessary multiple inheritance and increase
composibility. More importantly, the change made it possible for
some other providers such as Nuphar be able to re-use the functionalities
provided by ConvAttributes class.

Note that we also made similar changes to ConvTransposeBase.

Currently, all Conv-family classes inherit from both ConvBase
and OpKernel. Since what ConvBase provides is all about
processing convolution attributes, it's more natural to move it as
a class member variable.

This change renamed ConvBase to ConvAttributes and moved
it into a separate file conv_attributes by its own. Instead of
inheriting from ConvBase, now each Conv-related class has a
class member variable that is of type ConvAttributes.

Hence, we removed unecessary multiple inheritance and increase
composibility. More importantly, the change made it possible for
some other providers such as Nuphar be able to re-use the functionalities
provided by ConvAttributes class.

Note that we also made similar changes to ConvTransposeBase.
@yangchen-MS yangchen-MS requested a review from a team as a code owner September 25, 2019 23:09
ke1337
ke1337 previously approved these changes Sep 25, 2019
Copy link
Contributor

@ke1337 ke1337 left a comment

Choose a reason for hiding this comment

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

:shipit:

@ke1337 ke1337 merged commit a5a57a4 into master Sep 26, 2019
@ke1337 ke1337 deleted the yanchen/conv_attrs branch September 26, 2019 18:07
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.

3 participants