/************************************************************************* This function initializes temporaries needed for ensemble training. *************************************************************************/ private static void initmlpetrnsession(mlpbase.multilayerperceptron individualnetwork, mlptrainer trainer, mlpetrnsession session) { int[] dummysubset = new int[0]; // // Prepare network: // * copy input network to Session.Network // * re-initialize preprocessor and weights if RandomizeNetwork=True // mlpbase.mlpcopy(individualnetwork, session.network); initmlptrnsessions(individualnetwork, true, trainer, session.mlpsessions); apserv.ivectorsetlengthatleast(ref session.trnsubset, trainer.npoints); apserv.ivectorsetlengthatleast(ref session.valsubset, trainer.npoints); }
/************************************************************************* This function initializes temporaries needed for training session. *************************************************************************/ private static void initmlpetrnsessions(mlpbase.multilayerperceptron individualnetwork, mlptrainer trainer, alglib.smp.shared_pool sessions) { mlpetrnsession t = new mlpetrnsession(); if( !alglib.smp.ae_shared_pool_is_initialized(sessions) ) { initmlpetrnsession(individualnetwork, trainer, t); alglib.smp.ae_shared_pool_set_seed(sessions, t); } }
public override alglib.apobject make_copy() { mlpetrnsession _result = new mlpetrnsession(); _result.trnsubset = (int[])trnsubset.Clone(); _result.valsubset = (int[])valsubset.Clone(); _result.mlpsessions = (alglib.smp.shared_pool)mlpsessions.make_copy(); _result.mlprep = (mlpreport)mlprep.make_copy(); _result.network = (mlpbase.multilayerperceptron)network.make_copy(); return _result; }