static void AddNEGO() { var obj1 = new GameObject("LearningModel_NE"); obj1.AddComponent <SupervisedLearningModel>(); var obj2 = new GameObject("Trainer_NE"); obj2.AddComponent <TrainerNeuralEvolution>(); var obj3 = new GameObject("NE_Learning"); obj1.transform.parent = obj3.transform; obj2.transform.parent = obj3.transform; //try to create parameter assets TrainerParamsNeuralEvolution trainerParam = null; SupervisedLearningNetworkSimple network = null; CreateAssets <TrainerParamsNeuralEvolution, SupervisedLearningNetworkSimple>("TrainerParamNE_" + obj1.scene.name + ".asset", "NetworkNE_" + obj1.scene.name + ".asset", out trainerParam, out network); network.hiddenLayers = new List <UnityNetwork.SimpleDenseLayerDef>(); network.hiddenLayers.Add(new UnityNetwork.SimpleDenseLayerDef()); var trainer = obj2.GetComponent <TrainerNeuralEvolution>(); trainer.modelRef = obj1.GetComponent <SupervisedLearningModel>(); trainer.parameters = trainerParam; trainer.checkpointPath = checkpointPath; trainer.checkpointFileName = "Checkpoint_" + obj1.scene.name + ".bytes"; trainer.evolutionDataSaveFileName = "NeuralEvolutionData_" + obj1.scene.name + ".bytes"; ((SupervisedLearningModel)trainer.modelRef).network = network; }
static void AddSLGO() { var obj1 = new GameObject("LearningModel_SL"); obj1.AddComponent <SupervisedLearningModel>(); var obj2 = new GameObject("Trainer_SL"); obj2.AddComponent <TrainerMimic>(); var obj3 = new GameObject("SL_Learning"); obj1.transform.parent = obj3.transform; obj2.transform.parent = obj3.transform; //try to create parameter assets SupervisedLearningNetworkSimple network = null; TrainerParamsMimic trainerParam = null; CreateAssets <TrainerParamsMimic, SupervisedLearningNetworkSimple>("TrainerParamSL_" + obj1.scene.name + ".asset", "NetworkSL_" + obj1.scene.name + ".asset", out trainerParam, out network); network.hiddenLayers = new List <UnityNetwork.SimpleDenseLayerDef>(); network.hiddenLayers.Add(new UnityNetwork.SimpleDenseLayerDef()); var trainer = obj2.GetComponent <TrainerMimic>(); trainer.modelRef = obj1.GetComponent <SupervisedLearningModel>(); trainer.parameters = trainerParam; trainer.checkpointPath = checkpointPath; trainer.checkpointFileName = "Checkpoint_" + obj1.scene.name + ".bytes"; trainer.trainingDataSaveFileName = "Collected_SL_Data_" + obj1.scene.name + ".bytes"; ((SupervisedLearningModel)trainer.modelRef).network = network; }