Example #1
0
        static List <ImageDescription> CombineImages(ImagesContainer trainIC, LabelsContainer trainLC)
        {
            var ret = new List <ImageDescription>();

            for (int i = 0; i < trainIC.ImagesCount; i++)
            {
                ret.Add(new ImageDescription()
                {
                    Image = trainIC.Images[i], Label = trainLC.Labels[i]
                });
            }
            return(ret);
        }
Example #2
0
        private void CreateButtons()
        {
            CreateButtonBack();

            var windowButtonSelected       = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/window_target" + ".png");
            var windowButtonNoSelected     = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/window_notarget" + ".png");
            var fullscreenButtonSelected   = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/fullscreen_target" + ".png");
            var fullscreenButtonNoSelected = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/fullscreen_notarget" + ".png");
            var paths = new ImagesContainer(windowButtonSelected, windowButtonNoSelected, fullscreenButtonSelected, fullscreenButtonNoSelected);

            modeButton         = new ToggleButton(paths, new Vector3(0.9f, 2.95f, -2f), new Vector2(1.35f, 0.63f), screenContainer.renderer);
            modeButton.Choose += ModeButton_Choose;

            var sl         = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/big_target" + ".png");
            var nsl        = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/big_notarget" + ".png");
            var sr         = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/little_target" + ".png");
            var nsr        = GPUTextureLoader.LoadAsync("Images/" + "GUI/ConfigureScreen/Buttons/little_notarget" + ".png");
            var paths2     = new ImagesContainer(sl, nsl, sr, nsr);
            var fontButton = new ToggleButton(paths2, new Vector3(0.9f, 1.75f, -2f), new Vector2(1.35f, 0.63f), screenContainer.renderer);

            fontButton.Choose += FontButton_Choose;

            var textSpeed = new Slider(new Vector3(2.3f, 0.58f, -2f), screenContainer.renderer);

            textSpeed.UpdatePosition += TextSpeed_UpdatePosition;
            textSpeed.SetPosition(GameKernel.settings.settingsData.TextSpeed);

            var volumeMusic = new Slider(new Vector3(2.3f, -0.42f, -2f), screenContainer.renderer);

            volumeMusic.UpdatePosition += VolumeMusic_UpdatePosition;
            volumeMusic.SetPosition(GameKernel.settings.settingsData.MusicVolume);

            var volumeAmbient = new Slider(new Vector3(2.3f, -1.42f, -2f), screenContainer.renderer);

            volumeAmbient.UpdatePosition += VolumeAmbient_UpdatePosition;
            volumeAmbient.SetPosition(GameKernel.settings.settingsData.AmbientVolume);

            var volumeEffects = new Slider(new Vector3(2.3f, -2.42f, -2f), screenContainer.renderer);

            volumeEffects.UpdatePosition += VolumeEffects_UpdatePosition;
            volumeEffects.SetPosition(GameKernel.settings.settingsData.EffectsVolume);

            if (GameKernel.settings.settingsData.Fullscreen)
            {
                FullScreenMode();
            }
            else
            {
                WindowScreenMode();
            }
        }
        private async void ImageViewerPage_Loaded(object sender, RoutedEventArgs e)
        {
            using (var cts = new CancellationTokenSource(5000))
            {
                ImagesContainer.Opacity = 0.0;
                while (!ImageItemsControl.Items.Any())
                {
                    await Task.Delay(50, cts.Token);
                }

                ImagesContainer.Fade(1.0f, 175f)
                .Start();
            }
        }
Example #4
0
        static void Main(string[] args)
        {
            var config = new
            {
                EpochsCount       = 10,
                HiddenLayerSize   = 50,
                CrossEntropyError = 0.005f,
                LearningRate      = 0.01f
            };
            Stopwatch sw = new Stopwatch();

            sw.Start();

            ImagesContainer trainIC   = new ImagesContainer(trainImagesPath);
            LabelsContainer trainLC   = new LabelsContainer(trainLabelsPath);
            var             imageSize = trainIC.ImagesWidth * trainIC.ImagesHeight;

            Console.WriteLine("Initializing of neural network...");
            NeuralNetwork NN = new NeuralNetwork(imageSize, config.HiddenLayerSize, 10, config.LearningRate);

            var combinedData = CombineImages(trainIC, trainLC);

            Console.WriteLine("Begin training...");
            NN.Train(combinedData, config.EpochsCount, config.CrossEntropyError);
            sw.Stop();
            Console.WriteLine($"Training complete in {sw.ElapsedMilliseconds} milliseconds");
            Console.WriteLine("\r\n______________________________\r\n");

            ImagesContainer testIC           = new ImagesContainer(testImagesPath);
            LabelsContainer testLC           = new LabelsContainer(testLabelsPath);
            var             combinedTestData = CombineImages(testIC, testLC);

            Console.WriteLine("Begin training...");
            NN.Test(combinedTestData, config.CrossEntropyError);

            Console.ReadLine();
        }