public NeuralAgentTrainer(NeuralAgentTrainerConfiguration configuration) { NetworkName = $"Auto-R{configuration.ViewRadius}-{string.Join("_", configuration.LayersSizes)}"; InitialiseNetwork(NetworkName, configuration); TrainingPluginConfiguration = configuration.TrainingPluginConfiguration; TrainingSimulationConfiguration = configuration.TrainingSimulationConfiguration; TrainingProgressTrackerConfiguration = configuration.TrainingProgressTrackerConfiguration; TestingSimulationConfiguration = configuration.TrainingProgressSimulationConfiguration; SpaceTemplateFactory = Workspace.Instance.Spaces.GetByName(configuration.Space); TrainingOuputDirectory = Workspace.Instance.NeuralTrainingsDirectory.Ensure().CreateSubdirectory($"{NetworkName}-{DateTime.Now:yyyy_MM_dd-HH_mm}"); WriteLine("Training Plugin Configuration"); WriteLine("-----------------------------"); WriteLine(TrainingPluginConfiguration.ConvertToJson()); WriteLine(""); WriteLine("Training Simulation Configuration"); WriteLine("---------------------------------"); WriteLine(TrainingSimulationConfiguration.ConvertToJson()); WriteLine(""); WriteLine("Training Progress Tracker Configuration"); WriteLine("---------------------------------------"); WriteLine(TrainingProgressTrackerConfiguration.ConvertToJson()); WriteLine(""); WriteLine("Training Simulation Configuration"); WriteLine("---------------------------------"); WriteLine(TestingSimulationConfiguration.ConvertToJson()); WriteLine(""); }
public NeuralSimulationPluginFactory(string name, string network, int trainingSeed) { Name = name; Network = network; TrainingSeed = trainingSeed; TrainingConfiguration = new AgentNetworkTrainingConfiguration(); TrainingProgressTrackerConfiguration = new TrainingProgressTrackerConfiguration(); }
public NeuralAgentTrainerConfiguration() { TrainingPluginConfiguration = new AgentNetworkTrainingConfiguration(); TrainingSimulationConfiguration = new SimulationModelConfiguration(); TrainingProgressTrackerConfiguration = new TrainingProgressTrackerConfiguration(); TrainingProgressSimulationConfiguration = new SimulationModelConfiguration(); TrainingSimulationConfiguration.AgentDestructionModel.RemoveDestoryed = true; TrainingSimulationConfiguration.IterationLimit = 50000; TrainingProgressSimulationConfiguration.AgentDestructionModel.RemoveDestoryed = true; }