 if (Use["MLPBFGS"])
 factory>BookMethod( dataloader, TMVA::Types::kMLP, "MLPBFGS", "H:!V:NeuronType=tanh:VarTransform=N:NCycles=600:HiddenLayers=N+5:TestRate=5:TrainingMethod=BFGS:!UseRegulator" );

 if (Use["MLPBNN"])
 factory>BookMethod( dataloader, TMVA::Types::kMLP, "MLPBNN", "H:!V:NeuronType=tanh:VarTransform=N:NCycles=60:HiddenLayers=N+5:TestRate=5:TrainingMethod=BFGS:UseRegulator" ); // BFGS training with bayesian regulators


 // Multiarchitecture DNN implementation.
 if (Use["DNN_CPU"] or Use["DNN_GPU"]) {
 // General layout.
 TString layoutString ("Layout=TANH128,TANH128,TANH128,LINEAR");

 // Training strategies.
 TString training0("LearningRate=1e2,Momentum=0.9,Repetitions=1,"
 "ConvergenceSteps=30,BatchSize=256,TestRepetitions=10,"
 "WeightDecay=1e4,Regularization=None,"
 "DropConfig=0.0+0.5+0.5+0.5, Multithreading=True");
 TString training1("LearningRate=1e2,Momentum=0.9,Repetitions=1,"
 "ConvergenceSteps=20,BatchSize=256,TestRepetitions=10,"
 "WeightDecay=1e4,Regularization=L2,"
 "DropConfig=0.0+0.0+0.0+0.0, Multithreading=True");