コード例 #1
0
        static void M()
        {
            // Get Data
            var images     = IDXFileParser <byte>("C:\\MNist\\train-images.idx3-ubyte");
            var labels     = IDXFileParser <byte>("C:\\MNist\\train-labels.idx1-ubyte");
            var testImages = IDXFileParser <byte>("C:\\MNist\\t10k-images.idx3-ubyte");
            var testLabels = IDXFileParser <byte>("C:\\MNist\\t10k-labels.idx1-ubyte");
            // Process
            List <List <double> > inputs      = new List <List <double> >();
            List <List <double> > outputs     = new List <List <double> >();
            List <List <double> > testInputs  = new List <List <double> >();
            List <List <double> > testOutputs = new List <List <double> >();

            foreach (var pair in images.Zip(labels))
            {
                DigitImage _ = new DigitImage(pair);
                inputs.Add(_.GetPixelInput());
                outputs.Add(_.GetLabelOutput());
            }
            foreach (var pair in testImages.Zip(testLabels))
            {
                DigitImage _ = new DigitImage(pair);
                testInputs.Add(_.GetPixelInput());
                testOutputs.Add(_.GetLabelOutput());
            }
            NeuralNetwork nn = new NeuralNetwork(new List <int>()
            {
                28 * 28, 200, 50, 10
            });

            NNTrainer.Train(nn, 0.01, inputs, outputs, testInputs, testOutputs);
        }
コード例 #2
0
    // Update is called once per frame
    void Update()
    {
        if (hoverSelector == null)
        {
            hoverSelector = GameObject.Instantiate(hoverSelectorPrefab);
        }
        hoverSelector.transform.position = GetTilePosUnderMouse();

        if (Input.GetMouseButtonDown(0))
        {
            Vector3Int tilePos = GetTilePosUnderMouse();
            RegisterClickOnTile(new Vector2Int(tilePos.x, tilePos.y));
        }

        if (Input.GetKeyDown(KeyCode.T))
        {
            NNTrainer.StartTraining(10, 20);
        }
        if (Input.GetKeyDown(KeyCode.Tab))
        {
            NNTrainer.DoShowMoves = !NNTrainer.DoShowMoves;
        }
    }