示例#1
0
        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);
        }
示例#2
0
    //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);
            }
        }