Esempio n. 1
0
        public void Save(string filename)
        {
            var file = File.Create(filename);

            using (var writer = XmlWriter.Create(file, new XmlWriterSettings {
                Indent = true
            })) {
                writer.WriteStartElement(GetType().Name);
                //Constructor arguments
                writer.WriteElementString("matsize", _matsize.ToString());
                writer.WriteElementString("vecsize", _vecsize.ToString());
                writer.WriteElementString("labels", _labels.ToString());
                writer.WriteElementString("depth", _depth.ToString());
                writer.XmlSerialize(_args);
                //Layers
                foreach (var conv in ConvolutionalLayers)
                {
                    conv.Serialize(writer);
                }
                LinearHiddenLayer.Serialize(writer);
                OutputLayer.Serialize(writer);
                writer.WriteEndElement();
            }
            file.Close();
        }
Esempio n. 2
0
        public Vector <float> Compute(StatePair input, bool training)
        {
            // Forward propagate.
            var img = InputLayer.Compute(input.Spatial);

            for (int i = 0; i < ConvolutionalLayers.Length; i++)
            {
                img = SubSampleLayers[i].Compute(ConvolutionalLayers[i].Compute(img));
            }
            _vecp.left           = FlattenLayer.Compute(img);
            _vecp.right          = LinearHiddenLayer.Compute(VectorInput.Compute(input.Linear));
            IsOutputFromTraining = false;
            var res = OutputLayer.Compute(CombinationLayer.Compute(_vecp));

            if (ValuesComputed != null)
            {
                ValuesComputed(res, training);
            }
            return(res);
        }