// Use this for initialization void Start() { PPONetworkContinuousSimple network; if (environment.is3D) { network = new PPONetworkContinuousSimple(8, 2, 2, 32, DeviceDescriptor.CPUDevice, 0.01f); model = new PPOModel(network); trainer = new TrainerPPOSimple(model, LearnerDefs.AdamLearner(learningRate), 1, 10000, 200); trainer.ClipEpsilon = 0.1f; } else { network = new PPONetworkContinuousSimple(5, 2, 2, 32, DeviceDescriptor.CPUDevice, 0.01f); model = new PPOModel(network); trainer = new TrainerPPOSimple(model, LearnerDefs.AdamLearner(learningRate), 1, 10000, 200); } //test //trainer.RewardDiscountFactor = 0.5f; loss = new AutoAverage(iterationForEachTrain); episodePointAve = new AutoAverage(episodeToRunForEachTrain); }
// Use this for initialization void Start() { environment.isContinuou = false; QNetworkSimple network = new QNetworkSimple(2, 2, 2, 64, DeviceDescriptor.CPUDevice, 0.4f); model = new DQLModel(network); //QNetworkSimple networkTarget = new QNetworkSimple(2, 2, 2, 64, DeviceDescriptor.CPUDevice, 1f); //modelTarget = new DQLModel(networkTarget); //trainer = new TrainerDQLSimple(model, null, LearnerDefs.MomentumSGDLearner(startLearningRate,0.9f),1, experienceBufferSize, 500); trainer = new TrainerDQLSimple(model, modelTarget, LearnerDefs.AdamLearner(startLearningRate), 1, experienceBufferSize, 500); //Save();//test }
// Use this for initialization void Start() { QNetworkSimple network = new QNetworkSimple(6, 3, 2, 64, DeviceDescriptor.GPUDevice(0), 0.4f); model = new DQLModel(network); QNetworkSimple networkTarget = new QNetworkSimple(6, 3, 2, 64, DeviceDescriptor.GPUDevice(0), 0.4f); modelTarget = new DQLModel(networkTarget); //trainer = new TrainerDQLSimple(model, null, LearnerDefs.SGDLearner(startLearningRate),1, experienceBufferSize, 2048); trainer = new TrainerDQLSimple(model, modelTarget, LearnerDefs.AdamLearner(startLearningRate), 1, experienceBufferSize, experienceBufferSize); //Save();//test }
// Use this for initialization void Start() { var network = new PPONetworkDiscreteSimple(6, 3, 4, 64, DeviceDescriptor.CPUDevice, 0.01f); model = new PPOModel(network); trainer = new TrainerPPOSimple(model, LearnerDefs.AdamLearner(learningRate), 1, 50000, 2000); //test //trainer.RewardDiscountFactor = 0.5f; loss = new AutoAverage(iterationForEachTrain); episodePointAve = new AutoAverage(episodeToRunForEachTrain); }
// Use this for initialization void Start() { //QNetworkSimple network = new QNetworkSimple(environment.mazeDimension.x* environment.mazeDimension.y, 4, 3, 64, DeviceDescriptor.CPUDevice, 0.4f); var network = new QNetworkConvSimple(environment.mazeDimension.x, environment.mazeDimension.y, 1, 4, new int[] { 3, 3 }, new int[] { 64, 128 }, new int[] { 1, 1 }, new bool[] { true, true }, 1, 128, false, DeviceDescriptor.GPUDevice(0), 1f); model = new DQLModel(network); //QNetworkSimple networkTarget = new QNetworkSimple(environment.mazeDimension.x * environment.mazeDimension.y, 4, 3, 64, DeviceDescriptor.CPUDevice, 0.4f); //modelTarget = new DQLModel(networkTarget); //trainer = new TrainerDQLSimple(model, modelTarget, LearnerDefs.SGDLearner(startLearningRate), 1, experienceBufferSize, 500); trainer = new TrainerDQLSimple(model, null, LearnerDefs.SGDLearner(startLearningRate), 1, experienceBufferSize, 500); //Save();//test }
public void CreateResnode() { var input = new InputLayerDense(2); //outputLayer = new OutputLayerDenseBayesian(1); outputLayer = new OutputLayerDense(1, null, OutputLayerDense.LossFunction.Square); network = new SequentialNetworkDense(input, LayerDefineHelper.DenseLayers(10, 5, true, NormalizationMethod.None), outputLayer, DeviceDescriptor.CPUDevice); //network = new SequentialNetworkDense(input, LayerDefineHelper.ResNodeLayers(10, 5), outputLayer, DeviceDescriptor.CPUDevice); trainer = new TrainerSimpleNN(network, LearnerDefs.AdamLearner(lr), DeviceDescriptor.CPUDevice); dataPlane.network = this; }
public void CreateGAN() { gan = new GAN(2, 0, 2, 10, 5, 10, 5, DeviceDescriptor.GPUDevice(0)); trainerGan = new TrainerGAN(gan, LearnerDefs.AdamLearner(lrGenerator), LearnerDefs.AdamLearner(lrDiscriminator), DeviceDescriptor.GPUDevice(0)); trainerGan.usePredictionInTraining = true; }