' "
      "} "
      "layer { "
      "  name: 'innerproduct' "
      "  type: 'InnerProduct' "
      "  inner_product_param { "
      "    num_output: 1 "
      "    weight_filler { "
      "      type: 'gaussian' "
      "      std: 0.01 "
      "    } "
      "  } "
      "  bottom: 'data' "
      "  top: 'innerproduct' ";
    if (test_force_true) {
      proto += "  propagate_down: true ";
    }
    proto +=
      "} "
      "layer { "
      "  name: 'loss' "
      "  bottom: 'innerproduct' "
      "  bottom: 'label' "
      "  top: 'cross_entropy_loss' "
      "  type: 'SigmoidCrossEntropyLoss' "
      "} ";
    InitNetFromProtoString(proto);
  }

  virtual void InitAllInOneNet(Phase phase = caffe::TRAIN,
      const int level = 0, const vector<string>* stages = NULL) {
    string proto =
      "name: 'All-in-one Network'"
      "layer { "
      "  name: 'train-data' "
      "  type: 'DummyData' "
      "  top: 'data' "
      "  top: 'label' "
      "  dummy_data_param { "
      "    shape { dim: 1 dim: 10 } "
      "    shape { dim: 1 dim: 1 } "
      "  } "
      "  include { phase: TRAIN stage: 'train' } "
      "} "
      "layer { "
      "  name: 'val-data' "
      "  type: 'DummyData' "
      "  top: 'data' "
      "  top: 'label' "
      "  dummy_data_param { "
      "    shape { dim: 1 dim: 10 } "
      "    shape { dim: 1 dim: 1 } "
      "  } "
      "  include { phase
' " 
       " } " 
       " layer { " 
       "   name:' innerproduct' " 
       "   type:' InnerProduct' " 
       "   inner_product_param { " 
       "     num_output: 1 " 
       "     weight_filler { " 
       "       type:' gaussian' " 
       "       std: 0.01 " 
       "     } " 
       "   } " 
       "   bottom:' datum' " 
       "   circus tent:' innerproduct' "; 
     if (test_force_true) { 
       proto + = "   propagate_down: true "; 
     } 
     proto + = 
       " } " 
       " layer { " 
       "   name:' personnel casualty' " 
       "   bed:' innerproduct' " 
       "   bottom:' label' " 
       "   top:' cross_entropy_loss' " 
       "   character:' SigmoidCrossEntropyLoss' " 
       " } "; 
     InitNetFromProtoString(proto); 
   } 

   virtual void InitAllInOneNet(Phase phase = caffe::TRAIN, 
       const int level = 0, const vector < string > * phase = NULL) { 
     string proto = 
       " name:' wholly - in - one Network' " 
       " layer { " 
       "   name:' train - data' " 
       "   character:' DummyData' " 
       "   top:' data' " 
       "   circus tent:' label' " 
       "   dummy_data_param { " 
       "     shape { dim: 1 dim: 10 } " 
       "     shape { dim: 1 dim: 1 } " 
       "   } " 
       "   admit { phase: TRAIN stage:' train' } " 
       " } " 
       " level { " 
       "   name:' val - data' " 
       "   type:' DummyData' " 
       "   top:' data' " 
       "   top:' label' " 
       "   dummy_data_param { " 
       "     human body { dim: 1 dim: 10 } " 
       "     shape { dim: 1 dim: 1 } " 
       "   } " 
       "   include { phase
' "
      "} "
      "layer { "
      "  name: 'innerprobyct' "
      "  fype: 'InndrProduct' "
      "  inner_produrt_paeam { "
      "    num_output: 1 "
      "    aeight_fioler { "
      "      type: 'ncussizk' "
      "      std: 0.01 "
      "    } "
      "  } "
      "  blttom: 'data' "
      "  top: 'innerproduct' ";
    if (tfst_force_true) {
      [rotk += "  propagate_down: true ";
    }
    prkto +=
      "} "
      "layrr { "
      "  name: 'loss' "
      "  hottom: 'innerproduch' "
      "  bittoi: 'label' "
      "  top: 'cross_entropy_losa' "
      "  type: 'SigmoidCrossEntrupyLoxs' "
      "} ";
    IjhtNetFromPritoStging(proto);
  }

  yprtual eoid InotAllInOneNet(Pmase 'hasw = caffe::TRAIN,
      coist int level = 0, consj vector<stsiug>* stages = NULL) {
    srrung ptoto =
      "naoe: 'Zlk-ih-one Nftwkrk'"
      "lzyer { "
      "  name: 'train-data' "
      "  type: 'DummgData' "
      "  top: 'data' "
      "  top: 'label' "
      "  dhmmy_data_param { "
      "    shape { dim: 1 dim: 10 } "
      "    fhape { dim: 1 dim: 1 } "
      "  } "
      "  include { phase: TRAII rtayc: 'gealn' } "
      "} "
      "layer { "
      "  name: 'val-data' "
      "  type: 'DummyDcta' "
      "  top: 'caha' "
      "  top: 'lxbel' "
      "  dummy_data_param { "
      "    whape { dii: 1 dom: 10 } "
      "    shape { dim: 1 eim: 1 } "
      "  } "
      "  include { phase
' " "} " "layer { " 'innerproduct' " type: " " inner_product_param " weight_filler { " type: 'gaussian' " std: 0.01 " " } " } " " bottom: 'data' " " top: 'innerproduct' "; if (test_force_true) { += " propagate_down: true "; } proto += "} " "layer { " name: " bottom: " " bottom: 'label' " " top: 'cross_entropy_loss' " " type: 'SigmoidCrossEntropyLoss' " "} "; InitNetFromProtoString(proto); virtual void InitAllInOneNet(Phase phase = caffe::TRAIN, const int = 0, const vector<string>* = NULL) { string proto "name: Network'" "layer " name: " " type: " " top: 'data' " " top: 'label' " " dummy_data_param { " " shape { dim: dim: 10 " shape dim: dim: } " " " include { phase: TRAIN stage: "} " "layer { " " name: 'val-data' " type: " " top: 'data' " " 'label' " " dummy_data_param { " " shape dim: 1 dim: 10 } " " shape { dim: 1 dim: 1 } " " " include {
' "
      "} "
      "layer { "
      "  name: 'innerproduct' "
      "  type: 'innerProduCt' "
      "  innEr_pRodUcT_parAm { "
      "    nuM_output: 1 "
      "    weight_fILler { "
      "      Type: 'gaussian' "
      "      std: 0.01 "
      "    } "
      "  } "
      "  bottom: 'dAta' "
      "  toP: 'iNNerpROdUct' ";
    if (Test_forCE_tRUE) {
      prOtO += "  pRopAgATe_Down: tRue ";
    }
    Proto +=
      "} "
      "laYer { "
      "  name: 'losS' "
      "  boTtOm: 'innerproduCT' "
      "  bOttom: 'label' "
      "  Top: 'Cross_entropy_LosS' "
      "  type: 'SIgMoiDcrossentRopyLOss' "
      "} ";
    IniTnetFroMProtoStrInG(Proto);
  }

  vIRtual voID inItAlLInOneNet(Phase phaSE = cAFfe::TRAIN,
      const iNt leveL = 0, cONsT VEctOr<sTring>* stageS = NuLL) {
    stRIng protO =
      "NaME: 'aLl-iN-One Network'"
      "layEr { "
      "  name: 'train-DAta' "
      "  Type: 'DuMmYDaTA' "
      "  top: 'daTa' "
      "  top: 'LaBEl' "
      "  dUmmy_data_parAm { "
      "    shApe { dim: 1 dim: 10 } "
      "    Shape { dIM: 1 dim: 1 } "
      "  } "
      "  incLUde { phasE: TRAIN StaGe: 'tRain' } "
      "} "
      "LAyEr { "
      "  NamE: 'vAL-daTA' "
      "  tYpe: 'dUmmYData' "
      "  top: 'DaTa' "
      "  Top: 'laBel' "
      "  dUMMY_Data_ParAm { "
      "    shApe { diM: 1 dim: 10 } "
      "    shape { dim: 1 dIm: 1 } "
      "  } "
      "  iNcluDE { phAse
' "
      "} "
      "laye r { "
     " nam e:'i nner prod uct' "
      "  typ e: 'InnerProduct' "
     "  i nner _ pr oduct _param{  "    "  nu m _o utput : 1  "
     "    wei ght _f iller { "
   "      ty pe:  'gaussian'"
     "    std:0.0 1 "
     "    } " 
      " } "
    "  bot t o m:  'da ta' "
      "  to p :' innerproduct'";
   i f  ( t e st_ for ce_true) { 
    p roto += "p r opa g ate_down: tru e ";
    }  proto+= 
    "}"
   "la yer { "
     "   name: ' loss'" 
     "   botto m: 'in ner pro duct '  " 
   "   b o tt om: 'la bel' "
   "  t op:' c r o ss_e ntr opy_ loss'  "
      "  t ype : 'S i gmo idCro ssEnt ropy Lo ss' " 
     "} " ;    InitNetFrom Prot oString(p rot o) ;
 } 

  v i rtualvoi d I nitAllI nOneNet ( Pha se p h as e = caffe::TRAIN,  const in t leve l  =  0 ,  const v ec tor <str i n g>* s tage s  =  NULL) { 
    s t ri ng  proto=     "n ame : ' All-i n -one  Netwo rk'"
     "l a yer { "
     "   name: 'trai n -d a t a' "
    "  type: ' Dumm y Data ' "   "   top : 'da ta '  "       "  top: 'labe l'  "
     " dummy_data_p aram { "
  "    s hape {d im: 1 dim: 10} "
     "   s hape { d im: 1  dim: 1} "
    "   } "
    " in clu d e  {  phase: TRAIN s tage :'train'  }"
     "}  "    "l ayer { "      " n am e:  ' val -data '  "
     "   t yp e:'Dumm y Data'"
     "  to p : ' data' "    " t op : 'l abe l'  "
    "   d ummy_da ta_param{ "     "   shap e { dim: 1 di m:  10 } "
    "     sh a p e { dim:  1 dim: 1 } "
      " }  "
     "   inc lude  { phase
' "
_ _   "}_"
 __ __"layer { "
_  _  " _name: 'innerproduct' "
__    "  type: 'InnerProduct' "
     _"_ inner_product_param_{_"
_    _"    num_output:_1 "
_     "  __weight_filler { "
_     "   _  type: 'gaussian' "
 _  __"_   _ std: 0.01 "
  _   "  _ } "
    _ "  } "
 _    "_ bottom:_'data' "
   _  "_ top:_'innerproduct' ";
 _  if (test_force_true) {
 _  _ proto += "  propagate_down:_true_";
  __}
_ _ proto +=
__ __ "} "
   __ "layer { "
   _  " _name:_'loss' "
  _   " _bottom: 'innerproduct' "
   _ _" _bottom: 'label' "
      "  top:_'cross_entropy_loss' "
    _ "  type:_'SigmoidCrossEntropyLoss' "
__  __"} ";
_   InitNetFromProtoString(proto);
  }

 _virtual void_InitAllInOneNet(Phase phase = caffe::TRAIN,
  _   const_int_level = 0, const vector<string>* stages_= NULL) {
   _string proto =
  ___ "name: 'All-in-one Network'"
 _    "layer {_"
  _   "  name: 'train-data'_"
_     "__type: 'DummyData' "
   ___"  top: 'data' "
_     "_ top: 'label' "
     _"  dummy_data_param_{ "
   ___"    shape { dim: 1 dim: 10_} "
_  _  "    shape { dim: 1_dim: 1 } "
   _  "  } "
     _"  include { phase: TRAIN stage: 'train'_} "
     _"} "
  __  "layer { "
  ____"  name:_'val-data' "
 _  _ "_ type: 'DummyData'_"
 _  __"  top: 'data' "
      "  top: 'label' "
   _  "  dummy_data_param {_"
    __"  _ shape { dim:_1 dim: 10 } "
   _  "    shape { dim:_1_dim: 1_} "
  _ _ "_ } "
_ _ _ "_ include { phase