-
Notifications
You must be signed in to change notification settings - Fork 18.6k
Give layers a pointer to their owning Net #1638
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
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.
this should probably have a NULL initializer, otherwise LGTM
* A sample code was added. * `slice_dim` and `slice_point` attributes were explained.
[docs] brief explanation of SLICE layer's attributes
Correct 'epochs' to 'iterations'
Next: release candidater
fix Imagenet example path
set the right rpath for tools and examples respectively thanks for the report @mees!
[build] fix dynamic linking of tools
… was overwritten with symlink created at build time and installed with install(DIRECTORY ...)
… systems). This commit specifies Python2 with which cpp_lint.py works :-)
[cmake] fix install rpath for pycaffe
|
I suggest you consider instead giving the Layer a helper class or functor in Setup that provides a narrowly focused ability to do only whatever thing it is you need the Layer to be able to do. In so doing, you design out all the abuse (to which you allude) that the Layer could otherwise do if you just give it mutable net pointer. An example of this is in 1895 where the InverseMVNLayer needs to figure out which of its bottom blobs is which by name. I provided a BlobFinder in the Setup method so it can do this. |
APPLE was misspelled in Line 27
fixes: cpp_lint.py fails silently with Python3
Check caffe tool runs
Making python3 work with cmake and the new python wrapper
Commands, such as $(error ...), are not allowed to be indented with tabs outside of targets, throwing an error instead of outputting the actual error. The solution is to use innocuous spaces instead. Ideally, spaces should be used everywhere outside targets, but since make does not mind it if variable assignments are tab-indented outside targets, a complete overhaul is not necessary. However, if more errors are added, it might make more sense to be consistent. Also, make will already add a period so I removed it.
fix accelerate / veclib path for OS X 10.10
Replaced illegal tab in Makefile with spaces.
This allows layers to do things that depend, e.g., on net topology.
81c0469 to
b63abd9
Compare
|
Replaced by #1974. |
This allows layers to do essentially arbitrary things that depend on the structure of the net.
This provides a lot of power, but breaks the nice abstraction of a layer as a function-with-gradient. A future PR will depend on this functionality. If it seems sufficiently useful, perhaps we should merge this, but be wary not to abuse it. Or perhaps we should find another way to compute on the structure of nets. Or perhaps we should do the former keeping the latter as a future possibility.