Member 14129828 Ответов: 0

Как сохранить сеть, которая работает с использованием encog.neural.activation?


Я тренировал свою работу с помощью библиотеки encog, после получения желаемого результата я хочу сохранить свою обучающую сеть
Я написал этот код:

Что я уже пробовал:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
using Encog.Neural.Networks;
using Encog.Neural.Networks.Layers;
using Encog.Neural.NeuralData;
using Encog.Neural.Networks.Training;
using Encog.Neural.Networks.Training.Propagation.Resilient;
using Encog.Neural.Data.Basic;
using Encog.Neural.Activation;
using Encog.Neural.Data;
using Encog.Persist;

<pre>public class Program
    {
        
        public static double[][] XOR_INPUT ={
            new double[4] { 0.0, 0.0,0.0,0.2 },
            new double[4] { 0.5, 1.0 ,0.0,0.7},
            new double[4] { 0.5, 0.0 ,1.0,0.3},
            new double[4] { 0.5, 1.0 ,0.0,0.7},
            new double[4] { 0.5, 1.0 ,0.0,0.7},
	    new double[4] { 0.0, 1.0,0.0,0.4 },
            new double[4] { 1.0, 1.0 ,0.0,0.5} };

        public static double[][] XOR_IDEAL = {                                              
            new double[1] { 0.0 }, 
            new double[1] { 1.0 }, 
            new double[1] { 0.5 },
            new double[1] { 1.0 },
            new double[1] { 1.0 },
            new double[1] { 0.5 },
            new double[1] { 1.0 } };

       
        public static void Main()
        {
            BasicNetwork network = new BasicNetwork();
            network.AddLayer(new BasicLayer(new ActivationSigmoid(), true, 4));
            network.AddLayer(new BasicLayer(new ActivationSigmoid(), true, 6));
            network.AddLayer(new BasicLayer(new ActivationSigmoid(), true, 1));
            network.Structure.FinalizeStructure();
            network.Reset();

            INeuralDataSet trainingSet = new BasicNeuralDataSet(XOR_INPUT, XOR_IDEAL);

            
            // train the neural network
            ITrain train = new ResilientPropagation(network, trainingSet);

            int epoch = 1;

            do
            {
                train.Iteration();
                Console.WriteLine("Epoch #" + epoch + " Error:" + train.Error);
                epoch++;
            } while ((epoch < 5000) && (train.Error > 0.001));
         
         FileInfo networkFile = new FileInfo(@"C:\Data\network.eg");
         Encog.Persist.EncogDirectoryPersistence.SaveObject(networkFile,  (BasicNetwork)network);



эта программа не принимает команду "Persist.EncogDirectoryPersistence". Как решить эту проблему, пожалуйста, я хочу получить помощь для замены "Encog.Настаивать.EncogDirectoryPersistence.SaveObject(networkFile, (BasicNetwork)network);" или устранение этой проблемы.

Richard MacCutchan

Вам нужно поговорить с людьми, которые написали эту библиотеку.

phil.o

Пожалуйста, укажите точное сообщение об ошибке.

Member 14129828

Нет никакой ошибки >>>>сохраните пустую сеть с 0kb

phil.o

"эта программа не принимает команду "упорствовать.EncogDirectoryPersistence"
Программа не принимает ничего. Любой ты используйте правильный объект/синтаксис языка/фреймворка, или ты не.
В любом случае, как уже было сказано в вашем предыдущем вопросе, ваш лучший шанс получить содержательный совет-это спросить людей, которые написали эту библиотеку или регулярно ею пользуются.

Member 14129828

благодарю вас, сэр.

0 Ответов