Skip to content

Convert examples to all-in-one networks#4458

Closed
lukeyeager wants to merge 3 commits intoBVLC:masterfrom
lukeyeager:bvlc/all-in-one-examples
Closed

Convert examples to all-in-one networks#4458
lukeyeager wants to merge 3 commits intoBVLC:masterfrom
lukeyeager:bvlc/all-in-one-examples

Conversation

@lukeyeager
Copy link
Contributor

@lukeyeager lukeyeager commented Jul 13, 2016

Implementation of #3864.

Pros

  • Less .prototxt to read since the number of files decreases
  • Shows users how to build networks so that they only have to make changes to a single file

Cons

  • Renaming files could break existing workflows and/or documentation

TODO:

  • Update all examples
  • Update all documentation

@lukeyeager
Copy link
Contributor Author

lukeyeager commented Jul 13, 2016

Additional con for this implementation:

See discussion at #3864 - changing the network to require fewer flags makes them less legible.

@lukeyeager lukeyeager force-pushed the bvlc/all-in-one-examples branch 2 times, most recently from 5cebb09 to bc6e6f1 Compare July 13, 2016 22:18
Tested:
train_quick.sh
train_full.sh
@lukeyeager lukeyeager force-pushed the bvlc/all-in-one-examples branch from bc6e6f1 to 8219866 Compare July 13, 2016 22:49
@lukeyeager
Copy link
Contributor Author

Some of the documentation isn't really updated yet. I'll wait for feedback on whether this type of change is desired before diving into the docs.

@lukeyeager lukeyeager changed the title Convert examples to an all-in-one networks Convert examples to all-in-one networks Aug 9, 2016
@williford
Copy link
Contributor

I hope these changes are merged.

I personally prefer the more explicit method of including the phase and the stage. However, I don't think that is a reason to hold back merging these changes.

@lukeyeager
Copy link
Contributor Author

@williford By "more explicit" do you mean this:

include { phase: TRAIN stage: "train" }
include { phase: TEST stage: "val" }
include { phase: TEST stage: "deploy" }

instead of this:

include { stage: "train" }
include { stage: "val" }
include { stage: "deploy" }

I'm happy with that if you think it's clearer. @shelhamer do you have an opinion on this? Is there any chance this gets merged?

@williford
Copy link
Contributor

@lukeyeager exactly. I wouldn't make the change unless others agree. I might just be biased because I'm used to having the phase.

@lukeyeager
Copy link
Contributor Author

Closing after a year of inactivity. This PR branch is backed up at https://github.com/lukeyeager/caffe/tree/backup/all-in-one-examples.

@lukeyeager lukeyeager closed this Jul 19, 2017
@lukeyeager lukeyeager deleted the bvlc/all-in-one-examples branch July 19, 2017 21:43
@asfix
Copy link

asfix commented Dec 12, 2017

Hello,

After spending more than one day, I have not still be able to run any model related to resnet or densenet on DIGITS6.

The only thing I can do is training google lenet (that is shipped with Digits6) I am taking any network from some sources (i.e) train_val.prototxt s. However, I can not train them. I ll drive crazy. There is no good documentation about how to make it possible to train those nets. Even the alexnet is problematic (shipped with digits6 model store)

I can not figure out why you did something like that. If I cannot run it, what is the purpose of Digits 6? Everybody who uses digits aims to gain time and play with the networks. With this version, it seems that it ll not be possible to train them with in 2 minutes.

Now, I want to ask @lukeyeager . Please convert the https://github.com/antingshen/resnet-protofiles/blob/master/ResNet_50_train_val.prototxt in order to be trained in Digits6. I have done every possible combination. It still says:

"ERROR: Layer 'loss' references bottom 'label' at the TEST stage however this blob is not included at that stage. Please consider using an include directive to limit the scope of this layer."

I am excluding, including but nothing works. Either I am blind or your software is buggy. I even checked the caffe_train.py in order to understand whether or not it is out dated. But it is new. So please clarify us. I see lots of people who suffers from this error. Did we install it improperly or is there a bug? Or, must I convert every single layer to make it appropriate all-in-one network? Btw, as I stated, I have tried almost every possible combination including silly ones. But it does NOT work!

Looking forward to hear from you soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments