public void Create(TrainedNetwork entity, string userId) { entity.User = db.Users.Find(userId); entity.CreatedDate = DateTime.Now; db.TrainedNetworks.Add(entity); TestNetwork testNetwork = new TestNetwork(); testNetwork.TrainedNetwork = entity; testNetwork.TrainedNetworkId = entity.Id; db.TestNetworks.Add(testNetwork); }
//Saves the given network public void saveNetwork(NeuralNet network) { TrainedNetwork netToSave = new TrainedNetwork(); netToSave.nnStructure = network.getStructure(); netToSave.weights = network.flattenWeightsToArray(); netToSave.generation = generatation; netToSave.creatureName = creatureName; netToSave.spawnHeight = spawnHeight; string networkAsJSON = JsonUtility.ToJson(netToSave); string filePath = Application.dataPath + trainedFilePath + trainingName + "_" + generatation + ".json"; File.WriteAllText(filePath, networkAsJSON); }
// метод для навчання нейронної мережі для певної задачі на основі даних користувача public TrainedNetwork TrainNetwork(NetworkInitializer data, string userId) { INetworkService service = networkBuilder(data); // виклик іос-контейнера для побудови необхідного сервіса-нейромережі IAnswerService answerservice = answerBuilder(data, Database); // виклик іос-контейнера для побудови необхідного сервіса для отримання відповідей для задач service.InitializeService(data); // ініціалізація сервіса service.CreateNetwork(); // створення мережі // навчання нейронної мережі { service.Train(answerservice.GetInputs(), answerservice.GetAnswers()); string xml = service.SaveNetworkXml(); // збереження навченої мережі TrainedNetwork network = new TrainedNetwork(); network.AvailableNetworkId = Database.AvailableNetworks.Find(aNet => aNet.NeuralNetwork.Name.Equals(data.networkName) && aNet.Task.Name.Equals(data.taskName)).FirstOrDefault().Id; network.XmlName = xml; return(network); } }