Exemple #1
0
        private void RenderNetworkOutline(Graphics g, GridObject go, Point p)
        {
            Rail rail = go as Rail;

            if (rail == null)
            {
                return;
            }
            TrainNetwork network = TrainNetworkRegistry.GetNetworkForRail(rail);

            if (network == null)
            {
                return;
            }
            using (Pen pen = new Pen(debugColors[network.ID % debugColors.Length]))
            {
                pen.Width = 3;
                g.DrawRectangle(pen, p.X, p.Y, GlobalVars.GRIDSIZE, GlobalVars.GRIDSIZE);
            }
        }
Exemple #2
0
        public static object TrainNetwork(
            [ExcelArgument(Name = "Name", Description = "The name of the neural network to be built")]
            object nameXl,
            [ExcelArgument(Name = "Input Activation Function", Description = "The activation function for the input layer")]
            object inputActivationFuncXl,
            [ExcelArgument(Name = "Input Layer has bias?", Description = "Whether or not the input layer has a bias")]
            object inputHasBiasXl,
            [ExcelArgument(Name = "Hidden Layer Config", Description = "A structured range detailing the network configuration")]
            object hiddenConfigXl,
            [ExcelArgument(Name = "Output Activation Function", Description = "The activation function for the output layer")]
            object outputActivationFuncXl,
            [ExcelArgument(Name = "Output Layer has bias?", Description = "Whether or not the output layer has a bias")]
            object outputHasBiasXl,
            [ExcelArgument(Name = "Inputs", Description = "The traning data inputs")]
            object inputsXl,
            [ExcelArgument(Name = "Targets", Description = "The training data target")]
            object targetsXl,
            [ExcelArgument(Name = "Error Tolerance", Description = "The error tolerance to train within")]
            object errorToleranceXl,
            [ExcelArgument(Name = "Epoch Cut-off", Description = "The maximum number of epoch to train for")]
            object epochLimitXl)
        {
            var function = new TrainNetwork(Enums.FunctionType.Heavy | Enums.FunctionType.Sticky)
            {
                Name = Arg(nameXl, "Name"),
                InputActivationFunction  = Arg(inputActivationFuncXl, "Input Activation Function"),
                InputHasBias             = Arg(inputHasBiasXl, "Input Has Bias"),
                HiddenLayerConfig        = Arg(hiddenConfigXl, "Hidden Layer Configuration"),
                OutputActivationFunction = Arg(outputActivationFuncXl, "Output Activation Function"),
                OutputHasBias            = Arg(outputHasBiasXl, "Output Bias Flag"),
                Inputs         = Arg(inputsXl, "Input Values"),
                Targets        = Arg(targetsXl, "Target Values"),
                ErrorTolerance = Arg(errorToleranceXl, "Error Tolerance"),
                EpochLimit     = Arg(epochLimitXl, "Epoch Limit")
            };

            return(FunctionRunner.Run(function));
        }