Ejemplo n.º 1
0
 public static void Save(SimpleNeuralNetwork snn, String filepath)
 {
     if (!(snn.layers.Count > 0))
     {
         throw new System.ArgumentException("La red neuronal necesita almenos una capa para poder operar.");
     }
     File.WriteAllText(filepath, JsonConvert.SerializeObject(snn, Formatting.Indented));
 }
Ejemplo n.º 2
0
        public static SimpleNeuralNetwork Load(String filepath)
        {
            SimpleNeuralNetwork snn = JsonConvert.DeserializeObject <SimpleNeuralNetwork>(File.ReadAllText(filepath));

            // manualmente inicializa funciones activacion por que al deserializar solo traemos el enum
            snn.func  = Activation.FunctionsLst[(int)snn.ActivationFunction].Item1;
            snn.dfunc = Activation.FunctionsLst[(int)snn.ActivationFunction].Item2;

            // incializa manualmente las matrices inputs, errors, outputs de cada layer
            foreach (SimpleNeuralLayer snl in snn.layers)
            {
                snl.inputs  = new Matrix(snl.NoInputs, 1);
                snl.errors  = new Matrix(snl.NoOutputs, 1);
                snl.outputs = new Matrix(snl.NoOutputs, 1);
            }

            return(snn);
        }