-
Notifications
You must be signed in to change notification settings - Fork 0
Implement ConformerFeedForwardV1 Part #6
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
Conversation
from torch import nn | ||
|
||
|
||
class ConformerFeedForwardv1(nn.Module): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In our earlier implementation in RETURNN-common, we decided to call this ConformerPositionwiseFeedForward
. Why this name change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The name used here is decided in the last implementation meeting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So why was it decided that way? Why the name change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think most of the people including me are not aware of the name ConformerPositionwiseFeedForward is used in RETURNN-common. If we want to use the consistent name as in RETURNN-common, I can change the name here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mmz33 was working on that, and then me as well. We had lots of earlier discussions on all of this, like naming of modules, etc. So I wonder a bit why we ignore all of that now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For reference: rwth-i6/returnn_common#58
Although this was only the starting point. Since then, it was also further developed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the reference, I have now also made activation configurable as in RETURNN-common
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would have expected that we stick to our earlier discussions and decisions, and not redo all of those discussions, which are all not really so important anyway.
And introducing inconsistencies to our other existing implementation for no good reason is also not nice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@albertz in earlier discussions and decisions nearly no one took part. We specifically started over having as much people involved as possible. I definitely see it as a problem that you can not join the Tuesday meeting, and we should find a solution for that, e.g. have another date.
Also if the discussions are not important, then I do not understand the large number of comments from you here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also if the discussions are not important, then I do not understand the large number of comments from you here.
It should not be inconsistent to the existing implementation.
Also, we already had some experience with the earlier decisions, and some things were changed later on. So now re-deciding that again first takes takes time, and then also ignores that earlier experience.
So, I would stick to the original decisions, and be consistent to the existing implementation, unless there are really good reasons to change some parts.
@albertz please stop adding each comment as itself, and collect them in one review and send them at once. |
I think that the way I do it is easier, as you can work already as you go. At least, I would prefer it that way, both as the reviewer, and also as the developer. |
A plus for Nick's approach is that other subscribers don't get spammed with mails for every comment. |
Some tests should also be added, similar to #4. |
|
|
||
def __init__( | ||
self, | ||
input_dim: int, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please change the input to take some kind of ConformerFeedForwardConfig (c.f. #8 for inspiration) and also define that Config in this file, as agreed on in the last meeting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The inputs are defined as Config class now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the extensive work, looks good!
No description provided.