Ejemplo n.º 1
0
        public static void GenerateResults(string path)
        {
            NeuralNetwork network = NetworkBuilder.LoadLSTM(path);
            string        output  = generateOutput(network, 'a', 1000);

            using (StreamWriter sw = new StreamWriter(Path.Combine(path, "output.txt")))
            {
                sw.WriteLine(output);
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            //ExampleDsr.Run(); incomplete
            //Thread t = new Thread(() => {
            //    ExampleText.Run();
            //}, 1000000000);
            //t.Start();
            //ExampleXor.Run();
            Random rnd = new Random();

            while (true)
            {
                NeuralNetwork network = new NeuralNetwork(null);
                if (ask("chcete síť načíst (y) nebo vygenerovat novou (n)?: "))
                {
                    while (true)
                    {
                        try
                        {
                            Console.Write("Zadejte cestu ke složce se uloženou sítí: ");
                            string path = Console.ReadLine();
                            Console.WriteLine("-------------------------LOADING STARTED----------------------------");
                            network = NetworkBuilder.LoadLSTM(path);
                            Console.WriteLine("-------------------------LOADING COMPLEAT---------------------------");
                            break;
                        }
                        catch
                        {
                            Console.WriteLine("Zadali jste neplatnou cestu");
                        }
                    }
                }
                else
                {
                    int    hiddenDimension = askInt("Zadejte dimenzi skryté vrstvy: ");
                    int    hiddenLayers    = askInt("Zadejte počet skrytých vrstev: ");
                    double init            = askDouble("Zadejte hodnotu, která určí rozsah vygenerovaných vah: ");
                    network = NetworkBuilder.MakeLstm(FieldLetterTranslator.Letters.Length, hiddenDimension, hiddenLayers, FieldLetterTranslator.Letters.Length, new SigmoidUnit(), init, rnd);
                }
                if (ask("Přejete si síť naučit (y) nebo jen vygenerovat výstup (n)?: "))
                {
                    int    epochs = askInt("Zadejte počet epoch, který se má síť naučit: ");
                    double lr     = askDouble("Zadejte počáteční hodnotu learning rate: ");
                    double dr     = askDouble("Zadejte hodnotu, kterou chcete learing rate po každé epoše násobit: ");
                    while (true)
                    {
                        try
                        {
                            Console.Write("Zadejte cestu k tréninkovým datům: ");
                            string learningPath = Console.ReadLine();
                            Console.Write("Zadejte cestu ke složce, kam chcete ukládat výstupy z učení: ");
                            string savePath = Console.ReadLine();
                            ExampleText.Run(network, learningPath, savePath, epochs, lr, dr, rnd);
                            break;
                        }
                        catch
                        {
                            Console.WriteLine("zadali jste špatnou cestu");
                        }
                    }
                }
                else
                {
                    int numOfChars = askInt("Zadejte počet znaků, které chcete vygenerovat: ");
                    while (true)
                    {
                        Console.Write("Zadejte cestu k souboru, kam chcete výstup uložit: ");
                        string path  = Console.ReadLine();
                        char   start = (char)rnd.Next(97, 123);
                        Console.WriteLine("-------------------------GENERATE STARTED----------------");
                        string output = start + ExampleText.generateOutput(network, start, numOfChars);
                        try
                        {
                            using (System.IO.StreamWriter sw = new System.IO.StreamWriter(path))
                            {
                                sw.WriteLine(output);
                            }
                            break;
                        }
                        catch
                        {
                            Console.WriteLine("Zadali jste neplatnou cestu");
                        }
                    }
                    Console.WriteLine("-------------------------GENERATE COMPLEAT---------------");
                }
                if (ask("Přejete si aplikaci ukočit?: "))
                {
                    break;
                }
            }
        }