-
Notifications
You must be signed in to change notification settings - Fork 18.6k
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
Skip unneeded forward computation during learning? #1360
Comments
I sometimes use loss-less layers to display info like accuracy, so I'm not sure I'm in favor of disabling computation of paths that don't contribute to a loss by default. But if a branch of the net is used in neither to a loss nor a displayed output (i.e. it's probably capped with a |
How could be implemented also a "conditional" forwarding? I.e. It could be interesting to "unlock" the forward for a branch only if accuracy or other output layers (from other branch in the dag) values are greater than a threshold. EDIT: |
@mtamburrano @longjon Was there any progress afterwards other than #2053? CuDNN layers do not seem to handle 0 batch size bottom blobs. tatus == CUDNN_STATUS_SUCCESS (3 vs. 0) CUDNN_STATUS_BAD_PARAM |
We have a pretty general mechanism to perform only the necessary backward steps during learning. Perhaps we should also skip unnecessary forward steps. It's easy enough to remove layers or use phases or stages to accomplish the same thing, but it might still be convenient to know that unnecessary computation is never being performed, without having to do anything.
This comes up, for example, when one has a net with multiple losses, and disables some of those losses (e.g., with
loss_weight
).The text was updated successfully, but these errors were encountered: