Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Dismantle Layer Headers #3315
+4,497
−3,568
Conversation
shelhamer
added style build
labels
Nov 11, 2015
Even with this, it is greatly welcomed PR :) |
|
@ronghanghu can I ask for your help to check if this is compatible with matcaffe? |
|
@shelhamer Of course! I am checking. |
|
All matcaffe tests passed with this PR on a BVLC machine. |
shelhamer
added the
ready for review
label
Nov 12, 2015
shelhamer
added a commit
that referenced
this pull request
Dec 2, 2015
|
|
shelhamer |
196b995
|
shelhamer
merged commit 196b995
into
BVLC:master
Dec 2, 2015
1 check passed
continuous-integration/travis-ci/pr
The Travis CI build passed
Details
shelhamer
deleted the
shelhamer:layer-headers branch
Dec 2, 2015
This was referenced Dec 2, 2015
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
shelhamer commentedNov 11, 2015
Monolithic layer includes trigger grossly unnecessary recompilation whenever a change is made to even a single layer definition. Dismantling the agglomerated
vision_layer.hpp,common_layers.hpp, and so forth makes the dependencies and build more modular. This should likewise reduce conflicts in layer development and PRs.Regarding dependencies, I do not promise that this PR is free of recursive includes. Occasionally a
make cleanmight be needed (if this is in fact a problem at all; I need to review dependency generation...) but this is no different than the current arrangement.I admit there is essentially never a good time for this PR since it will impact any layers in progress but at some point the headers need breaking for mending.
To reconcile your own branches with this you should rebase and transplant changes to the monolithic headers to the relevant layer header (which you need to create for your own layers).
Now the only obstacle to decoupled layer development is the common caffe.proto.