Virtual blob and shared_col_buffer [Don't Merge Yet]#517
Closed
Virtual blob and shared_col_buffer [Don't Merge Yet]#517
Conversation
Revomed Logs, found bug in test_virtual_blob, wrong class
…buffer in Convolutional Layers
Need to static_cast col_buffer to VirtualBlob
Contributor
Author
|
@Yangqing @jeffdonahue could you take a look a this PR and tell me if you like the design? |
Contributor
Author
|
I just realize that we can achieve a shared |
Contributor
|
Very cool! I'm following this. |
Contributor
Author
|
Closing this PR, replacing it with a simpler version #520 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a
VirtualBlobthat has dimensions but notdataordiff. To be used it needs toShareDataorShareDiffwith a realBlob.Inspired by conversations with @forresti about using a shared_col_buffer between different
ConvolutionLayers, this PR uses VirtualBlob to create a VirtualBlobcol_bufferin theConvolutionLayersand a Blobshared_buffer_in theNet.The size of the
shared_buffer_will be maximum of the sizes of the sharedcol_buffer.By default, any
ConvolutionLayerwould use a sharedcol_buffer, but it can have its owncol_bufferby setting the correspondingConvolutionParam.shared_col_buffertofalsein theprototxt.This PR further reduces the memory consumption of Caffe.