Exemple #1
0
        static public void WriteNet(FeedForwardNet net, string netname, string filename)
        {
            Directory.CreateDirectory(netname);
            string       filepath = netname + @"/" + filename + ".ann";
            List <byte>  toWrite  = new List <byte>();
            List <Layer> Layers   = net.GetLayers();

            toWrite.AddRange(BitConverter.GetBytes(Layers.Count));
            for (int i = 0; i < Layers.Count; ++i)
            {
                List <List <double> > weights = Layers[i].GetWeghts();
                toWrite.Add((byte)Layers[i].GetLayerType());
                toWrite.AddRange(BitConverter.GetBytes(weights.Count));

                for (int j = 0; j < weights.Count; ++j)
                {
                    toWrite.AddRange(BitConverter.GetBytes(weights[j].Count));
                    for (int l = 0; l < weights[j].Count; ++l)
                    {
                        toWrite.AddRange(BitConverter.GetBytes(weights[j][l]));
                    }
                }
            }
            File.WriteAllBytes(filepath, toWrite.ToArray());
        }