-
Notifications
You must be signed in to change notification settings - Fork 323
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
Refactor inference optimizations #1094
Conversation
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 working on this! I've added a few comments.
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 Xing! Can you make another pass to double check that any class that has a set_inference_only
method also sets self.inference_only
in both set_inference_only
and __init__
? The idea is that any class that supports switching in/out of inference mode can always be queried for its current state.
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.
Looks good!
This PR refactors inference optimizations:
inference_only
mode switchable.(1) using
eval()
to disable dropout instead of explicitly setting dropout modules to None;(2) always using default value
inplace=False
for activation modules.Pull Request Checklist
until you can check this box.
pytest
)Were system tests modified? If so did you run these at least 5 times to account for the variation across runs?pytest test/system
)./style-check.sh
)You have considered writing a testsockeye/__init__.py
. Major version bump if this is a backwards incompatible change.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.