コード例 #1
0
        public override void RefreshView(object genome)
        {
            if (genome == null)
            {
                return;
            }

            if (scatterPlotView != null)
            {
                scatterPlotView.RefreshView(genome);
            }

            var box = decoder.Decode(genome as NeatGenome);

            var samples = dataset.GetSamplesMatrix();
            var n       = samples.GetLength(1);
            var m       = samples.GetLength(2);

            int c = 0, i = 0, j = 0;

            evaluator.Test(box, evaluator.GetAllInputs().ToArray(), (idx, output) =>
            {
                outputs[c, i, j] = output;

                j++;
                if (j == m)
                {
                    i++;
                }
                if (i == n)
                {
                    c++;
                }
                c %= nbClusters;
                i %= n;
                j %= m;
            });


            RefreshOutput();
        }