Ejemplo n.º 1
0
        public void TestXMLSerializationAndDeserialization()
        {
            IActivationFunction func = new BipolarSigmoid(2.0);
            var layerCounts = new List<int>();
            layerCounts.Add(5);
            layerCounts.Add(10);
            layerCounts.Add(1);
            var network = new Network(5, 3, layerCounts, func, new RandomInitializer());

            var serializer = new DataContractSerializer(typeof(Network), new[] { func.GetType(), typeof(RandomInitializer) });

            var settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.IndentChars = "    ";//4 spaces
            string file = "serialized_net.xml";
            using (var writer = XmlWriter.Create(file, settings))
            {
                serializer.WriteObject(writer, network);
            }

            Network newNet = (Network)serializer.ReadObject(XmlReader.Create(file));
            Assert.IsNotNull(newNet);
            Assert.AreEqual(5, newNet.Inputs);
            Assert.AreEqual(3, newNet.LayersCount);
            Assert.IsTrue(0 < newNet[0][0].Weights[0]);
            Assert.AreEqual(typeof(BipolarSigmoid), newNet[0][0].ActivationFunction.GetType());
        }
Ejemplo n.º 2
0
        public void TestXMLSerialization()
        {
            IActivationFunction func = new BipolarSigmoid(2.0);
            var layerCounts = new List<int>();
            layerCounts.Add(5);
            layerCounts.Add(10);
            layerCounts.Add(1);
            var network = new Network(5, 3, layerCounts, func, new RandomInitializer());

            var serializer = new DataContractSerializer(typeof(Network),new[]{func.GetType(), typeof(RandomInitializer)});

            var fileName = "serialized_net.xml";

            var settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.IndentChars = "    ";//4 spaces

            using (var writer = XmlWriter.Create(fileName, settings))
            {
                serializer.WriteObject(writer, network);
            }

            var fInfo = new FileInfo(fileName);
            Assert.IsTrue(fInfo.Exists);
            Assert.IsTrue(fInfo.Length > 0);
        }