-
Notifications
You must be signed in to change notification settings - Fork 18.7k
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
HDF5 snapshot crashes on duplicate layer names #2885
Comments
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue #2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
I like the idea of disallowing two layers from having the same name, and enforcing it upon initialization. For example, in the python interface ( |
Are you really sure that we want hdf5 default? |
I know but it is only a temporary choice caused by the issue generated on merge. I'm really guessing if flatbuffer was evaluated to solve protobuf limit. |
@bhack switching all of caffe from PB to flatbuffers is probably a multi-thousand line change... the addition of the option to use HDF5 for snapshotting was a relatively small change that fixes a single isolated issue with PB serialization in Caffe, and is completely backward compatible and optional. Maybe switching to flatbuffers is a good idea, but it's mostly irrelevant here. If you want to discuss flatbuffers, rather than bringing it up in every loosely related discussion, I'd suggest opening an issue for it that lists the advantages of switching and discusses what it would take to port the entirety of Caffe to use it. |
I not meant to immediately substitute all protobuf use in caffe with faltbuffers. My comment was releated to snapshotting. Please see my original old undiscussed comment at #2006 (comment) |
It's not clear to me that there is any advantage to using flatbuffers over HDF5 purely for the purpose of serialization; it seems like we'd just be needlessly adding a new dependency with little or no improvement in code complexity in that case... As far as why your comments aren't being discussed extensively, it's because they have little to no content to discuss in them. Simply name-dropping other projects is really not helpful. Post an issue if you want to discuss flatbuffers: describe specifically how you think it could be used in Caffe, what problems it solves, and what its actual technical advantages over the status quo in the context of Caffe are. |
Hdf5 was not the status quo for snapshotting at the time of my first comment (on April). And my comment was in the clear context of the issue opened on 2gb size limit of your historical protobuf caffe choice. My thought was really simple: ask to core dev if they had evaluated the natural google successor of protobuf. |
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
out of anticipation for user issues due to issue BVLC#2885, which causes Caffe to crash when it attempts to snapshot nets with duplicate layer names
With the new HDF5 snapshotting (#2836), if two or more layers of the net have the same name, Caffe crashes when it tries to snapshot. (This includes the case of two layers with unspecified
name
s, which are interpreted by Caffe via the protobuf default as two layersname
d""
.) Maybe Caffe shouldn't allow layers to have the same name (or unspecified names), but it should probably be checked inNet::Init
if that's going to be the rule. We might want to temporarily switch the default serialization back to proto until we figure out what to do about this.An example of the error message that comes with the crash is below (was training this model, which has two layers named
data
):The text was updated successfully, but these errors were encountered: