Example #1
0
// Generate inception network specifications.
int main(int argc, char** argv) {
  string prefix(argv[1]);

  // Deployment network spec.
  string deploy_fname = prefix + "_deploy.prototxt";
  NetParameter deploy;
  deploy.set_name("Inception");
  deploy.add_input("data");
  deploy.add_input_dim(10);
  deploy.add_input_dim(3);
  deploy.add_input_dim(227);
  deploy.add_input_dim(227);
  AddBody(&deploy);
  AddSoftmaxLayer("prob", "linear", deploy.add_layers());
  WriteProtoToTextFile(deploy, deploy_fname);

  // Training network spec.
  string train_fname = prefix + "_train.prototxt";
  NetParameter train;
  train.set_name("Inception");
  AddDataLayer("data", "label", traindb, meanfile, 64, 227, true,
               train.add_layers());
  AddBody(&train);
  AddSoftmaxLoss("prob", "linear", "label", train.add_layers());
  WriteProtoToTextFile(train, train_fname);

  // Validation network spec.
  string val_fname = prefix + "_val.prototxt";
  NetParameter val;
  val.set_name("Inception");
  AddDataLayer("data", "label", valdb, meanfile, 50, 227, false,
               val.add_layers());
  AddBody(&val);
  AddSoftmaxLayer("prob", "linear", val.add_layers());
  AddAccuracyLayer("accuracy", "prob", "label", val.add_layers());
  WriteProtoToTextFile(val, val_fname);
}