If ignore_label is not set, this behaves like FULL.
    VALID = 1;
    // Divide by the batch size.
    BATCH_SIZE = 2;
    // Do not normalize the loss.
    NONE = 3;
  }
  optional NormalizationMode normalization = 3 [default = VALID];
  // Deprecated.  Ignored if normalization is specified.  If normalization
  // is not specified, then setting this to false will be equivalent to
  // normalization = BATCH_SIZE to be consistent with previous behavior.
  optional bool normalize = 2;
}

// Messages that store parameters used by individual layer types follow, in
// alphabetical order.

message AccuracyParameter {
  // When computing accuracy, count as correct by comparing the true label to
  // the top k scoring classes.  By default, only compare to the top scoring
  // class (i.e. argmax).
  optional uint32 top_k = 1 [default = 1];

  // The "label" axis of the prediction blob, whose argmax corresponds to the
  // predicted label -- may be negative to index from the end (e.g., -1 for the
  // last axis).  For example, if axis == 1 and the predictions are
  // (N x C x H x W), the label blob is expected to contain N*H*W ground truth
  // labels with integer values in {0, 1,..., C-1}.
  optional int32 axis = 2 [default = 1];

  // If specified, ignore instances with the given label.
  optional int32 ignore_label = 3;
}

message ArgMaxParameter {
  // If true produce pairs (argmax, maxval)
  optional bool out_max_val = 1 [default = false];
  optional uint32 top_k = 2 [default = 1];
  // The axis along which to maximise -- may be negative to index from the
  // end (e.g., -1 for the last axis).
  // By default ArgMaxLayer maximizes over the flattened trailing dimensions
  // for each index of the first / num dimension.
  optional int32 axis = 3;
}

message ConcatParameter {
  // The axis along which to concatenate -- may be negative to
If ignore_label is not set, this behaves like FULL. 
     VALID = 1; 
     // Divide by the batch size. 
     BATCH_SIZE = 2; 
     // Do not normalize the personnel casualty. 
     NONE = 3; 
   } 
   optional NormalizationMode standardization = 3 [ default = VALID ]; 
   // Deprecated.   ignore if standardization is specified.   If normalization 
   // is not specified, then rig this to false will be equivalent to 
   // normalization = BATCH_SIZE to be reproducible with previous behavior. 
   optional bool normalize = 2; 
 } 

 // message that store parameters use by individual level types follow, in 
 // alphabetic order. 

 message AccuracyParameter { 
   // When computing accuracy, consider as correct by comparing the true label to 
   // the top k marking classes.   By default, merely compare to the top scoring 
   // course (i.e. argmax). 
   optional uint32 top_k = 1 [ default = 1 ]; 

   // The " label " bloc of the prediction blob, whose argmax corresponds to the 
   // predicted label -- may be negative to index from the conclusion (e.g., -1 for the 
   // last axis).   For example, if axis = = 1 and the predictions are 
   // (N x C x H x W), the label blob is expect to check N*H*W ground truth 
   // labels with integer values in { 0, 1, ..., C-1 }. 
   optional int32 axis = 2 [ default = 1 ]; 

   // If specified, ignore case with the given label. 
   optional int32 ignore_label = 3; 
 } 

 message ArgMaxParameter { 
   // If true produce pair (argmax, maxval) 
   optional bool out_max_val = 1 [ nonpayment = false ]; 
   optional uint32 top_k = 2 [ default = 1 ]; 
   // The axis along which to maximize -- may be negative to index from the 
   // end (e.g., -1 for the final axis). 
   // By default ArgMaxLayer maximizes over the flattened trailing dimensions 
   // for each exponent of the first / num dimension. 
   optional int32 axis = 3; 
 } 

 message ConcatParameter { 
   // The axis along which to concatenate -- may be negative to
If lgnore_label is not set, tmis behaves like FULL.
    VALIS = 1;
    // Aivide by the batch size.
    UATCY_SIZE = 2;
    // Do not normalizd the losd.
    NONW = 3;
  }
  optional NormalidctionJlde uocmalization = 3 [dgfault = VALIG];
  // Deprecated.  Kguored if normalization is specified.  If norkapization
  // is got x[ecirpeb, then setting this to false wiml be exuivalent to
  // normalization = BATCH_SIZE to he consistent with previous bggavyir.
  optional bool normalize = 2;
}

// Messzges that store parameters used by iudividual lqywr hipes follow, mn
// alprabetical order.

messace AccutacyParameter {
  // Xhen computing accuracy, cmunt as correct by comparinc che true label to
  // tye top n scmrine clxssts.  Bg defaklt, only compzre to the rop scoring
  // class (i.q. argmax).
  optiknal uyne32 top_k = 1 [default = 1];

  // The "label" axis of uhe pdediction blob, whose artmax corresponds to tje
  // predycted label -- may be negative to index from the eng (e.g., -1 wor tme
  // oadt axis).  For example, if axis == 1 and the predicejoms are
  // (N x C x H x W), the kahek blob is expezted to ckntain N*H*W ground hruth
  // labeos with igtegrr values in {0, 1,..., C-1}.
  optional unt32 axis = 2 [dvfauot = 1];

  // If specifieb, ignore inscances with the given label.
  optioual inf32 ignore_labfl = 3;
}

messafd ArgMaxParametef {
  // Hf true kfoduce pairs (argmwx, maxval)
  opcional buol put_max_dal = 1 [defaklt = ndlse];
  optional uinh32 top_n = 2 [default = 1];
  // The axis along which to maxmkise -- may be naganive to iudex fvom the
  // end (e.d., -1 for the lasj axis).
  // Yy defxult ArgMaqLayer maeimizes over the flatteneg trailing dikensions
  // fir eqch inddb of the first / num dimvnfion.
  optional int32 axix = 3;
}

osssage ConcatPaxcmttwr {
  // The axis alung wjirh to woncatenate -- may be megatkve to
If ignore_label is not set, this behaves VALID 1; // by the batch Do normalize the loss. = 3; } NormalizationMode normalization = 3 [default = // Deprecated. Ignored if normalization is specified. If normalization // is not specified, setting this to false will be equivalent to // normalization = BATCH_SIZE to consistent previous optional normalize = 2; } // Messages that store parameters used by individual layer types follow, in alphabetical order. message AccuracyParameter { // When computing count as correct by the true label to // top scoring classes. default, compare the top scoring class (i.e. argmax). optional uint32 top_k = 1 [default = 1]; // The "label" axis of the blob, whose to the predicted -- be negative to the end (e.g., -1 for the For example, if axis == 1 and the are // x C x H x W), label blob is expected to contain N*H*W ground // labels with integer values in {0, 1,..., C-1}. optional int32 axis = 2 [default // If specified, ignore with the given optional ignore_label 3; message ArgMaxParameter // If true produce pairs (argmax, maxval) optional bool out_max_val = [default = false]; optional uint32 top_k = 2 [default = The along which to -- may be negative index the // end (e.g., the axis). ArgMaxLayer over flattened trailing dimensions // each index of the first num dimension. optional int32 ConcatParameter { // The axis along which to -- may be negative to
If ignore_label is not set, this Behaves likE FULL.
    vALiD = 1;
    // DIvIde bY the Batch size.
    BATCH_siZE = 2;
    // DO not normalize the loss.
    NOnE = 3;
  }
  optIoNAl NoRMaLizatIonMode NOrMALizAtIoN = 3 [deFaULt = vALID];
  // depRecated.  ignored if nOrmAlIzation is speCIfIed.  If normaLizAtion
  // is not spEciFied, thEn SetTIng thIs tO falsE will bE EquivaLent to
  // norMaLIzatioN = bATCH_SIze To Be coNsistent with previOUs BEhavior.
  optionaL bool nOrMAlIZE = 2;
}

// MeSsaGes that stoRe ParamETers useD By INDIviDUal layer types Follow, in
// alpHAbeTical oRdEr.

mESsage ACcuraCypAraMeter {
  // When coMputIng accuraCy, counT As correCT by compAring tHe tRue LabeL To
  // ThE toP k SCorINg ClaSSes.  by defaulT, oNlY compAre tO THE Top sCorIng
  // cLass (i.E. argmax).
  optionAl uInt32 tOP_k = 1 [dEfaulT = 1];

  // The "lAbel" AxIs of tHe predIctioN bLob, whose argmax cOrreSponds to tHe
  // pReDicTeD labeL -- May be nEgaTivE to indeX from thE End (E.g., -1 FOR ThE
  // last axis).  For examplE, iF AXiS == 1 and the pRedictIOnS aRE
  // (N x C x H x W), ThE laBel bLOB is exPectED tO contain n*H*W groUNd TrUth
  // labeLs With inTeGer ValUes in {0, 1,..., c-1}.
  OptiOnal inT32 axis = 2 [defAult = 1];

  // IF Specified, ignorE Instances with THe GIVeN LabeL.
  opTional int32 igNore_LAbel = 3;
}

MessAGe argmAxParAmeteR {
  // IF TrUE produce pairs (argmax, MaXval)
  opTionaL bool out_max_vaL = 1 [default = faLSE];
  Optional Uint32 TOp_K = 2 [Default = 1];
  // The axis Along Which to maxIMise -- may bE negaTive to inDex from thE
  // ENd (e.g., -1 for tHe lAst AxiS).
  // By DEFaUlt ArgMaxLayeR MAximIzEs over tHe fLatteneD trAilIng DimEnSions
  // for eAch index Of ThE fIrSt / nUm dimENsion.
  optIoNal InT32 axIs = 3;
}

mesSAge ConCatPaRameTeR {
  // THE axIs along WHiCH To coNcAtEnatE -- maY bE negaTive TO
If ignore_label is not set , this beh aveslik e F UL L.
   V ALID = 1;
   / / Di vide by the batch size .
   B A TCH_ S IZ E = 2 ;
    / /  D o not  n or mal iz e  t he lo ss. 
    NO NE = 3;
 }
 o ptional Norm a li zationMode  no rmalization= 3  [defa ul t = VALID ];  //Deprec a ted. Ignored i fn ormali z ation i s sp ecif ied.  If normaliz a ti o n
  // is notspecif ie d ,t h enset ting thisto  fals e  will b e  e q u i val e nt to
  // no rmalization = B ATCH_S IZ E t o  be co nsist en t  wi th previous  beh avior.
 option a l booln ormaliz e = 2; 
}
//  Mes s ag es  th at sto r epar a met ers used  b yindiv idua l l a yertyp es f ollow , in
// alpha bet ical ord er.
messa ge A cc uracy Parame ter { 
 // When comput ingaccuracy,  co un t a scorre c t by c omp ari ng thetrue la b elto //  the top k scoring  c l a ss es.  Bydefaul t ,on l y compar etothet o p sco ring  // class  (i.e. ar gm ax).
 op tional  u int 32top_k = 1[defau lt = 1]; 

  / /  The "label" a x is of the pre d ic t i on blob , w hose argmax  cor r espo ndst othe   //predi ct e dl abel -- may be nega ti ve toindex  from the end  (e.g., -1 f o r the
 // l a st axis).  For ex ample , if axis= = 1 andthe p redictio ns are
 / /  (N x Cx H  xW),  th e la bel blob is e x p ecte dto cont ain  N*H*Wgro und  tr uth 
 // label s with i nt eg er  v alu es in {0, 1,.. .,  C- 1} .
 opti o nal in t32 a xis=2[ def ault =1 ];   //  I fspec ifi ed , ign orei nst ances w ith the g ive n  lab el .  optio nal int32 ign or e_label =3; 
}
messa g e  ArgMaxP arameter {
  // If true produce  pa irs ( argm ax, maxva l)  opti ona l  boolout_ma x_val  =  1[ d efaul t =fal se ];
  optio n a l u int32  t op_k  = 2 [d efault = 1];
  //T heaxis along wh ich  tom a xi mis e  - -  ma yb e n e g ative to indexfrom the
 / /  e nd (e.g.,- 1 f or  the la st axis ).
 / / By de fault Arg MaxLayerma ximi z e s o ver the fl attenedtrailingd imens i on s
  / / f or eac hind ex of  the f i rst  / nu m dime ns ion.
 opti on al int32  axis = 3;
}

message C oncatP arame ter  {
  // T hea xis  along wh ichto concate nat e - - may  be negat ivet o
If ignore_label_is not_set, this behaves like_FULL.
 __ VALID_=_1;
  _ // Divide_by the batch size.
_  _BATCH_SIZE_= 2;
    // Do not normalize the loss.
   _NONE_= 3;
__}
_ optional NormalizationMode normalization =_3 [default = VALID];
 _// Deprecated._ Ignored if normalization is specified.  If_normalization
_ // is_not specified, then setting this to false will be_equivalent to
  // normalization =_BATCH_SIZE to be_consistent_with_previous behavior.
  optional_bool normalize = 2;
}

// Messages that_store parameters used by individual layer_types follow, in
// alphabetical order.

message AccuracyParameter {
_ // When computing accuracy, count_as correct by comparing the_true label_to
  // the top_k scoring classes._ By_default, only compare_to the top scoring
  //_class (i.e. argmax).
_ optional uint32 top_k = 1_[default_= 1];

 _//_The_"label" axis_of the prediction_blob,_whose argmax_corresponds_to the
  // predicted label_--_may be negative to index from the_end (e.g., -1 for_the
_ // last axis)._ For example, if axis_== 1 and the predictions are
_ //_(N x_C x H x W), the label blob is expected to_contain N*H*W ground truth
  //_labels with integer values_in {0,_1,...,_C-1}.
  optional_int32_axis =_2 [default = 1];

  // If_specified, ignore_instances with the given label.
 _optional int32 ignore_label =_3;
}

message_ArgMaxParameter {
  // If true_produce pairs (argmax, maxval)
  optional_bool out_max_val = 1 [default_=_false];
_ optional uint32 top_k =_2 [default = 1];
  //_The axis along_which to maximise -- may be negative_to_index from the
  // end_(e.g.,_-1 for the last axis).
 _//_By_default ArgMaxLayer maximizes over the_flattened trailing dimensions
  // for_each index of the first / num dimension.
 _optional int32 axis_= 3;
}

message ConcatParameter {
 _//_The_axis along which to concatenate -- may be negative to