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); } }
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; } } }