private void ExecuteStartTraining(bool canEvaluate)
        {
            ((MainWindowVM)Parent).Save();

            var config = GetTestConfiguration();

            ((MainWindowVM)Parent).ExpressionsVisibility = Visibility.Hidden;

            try
            {
                if (_defaultChooser == null)
                {
                    _defaultChooser             = new DefaultExpressionChooser(DateTimeProvider, DataAccess);
                    _flashCardsAlgorithmChooser = new FlashCardsExpressionsChooser(DateTimeProvider, DataAccess);

                    _defaultLearningAlgorithm    = new DefaultLearningAlgorithm(DateTimeProvider);
                    _flashCardsLearningAlgorithm = new FlashCardsLearningAlgorithm();
                }

                WindowService.ShowDialog(
                    new TestVM(
                        canEvaluate,
                        config,
                        FlashCardsAlgorithm ? _flashCardsAlgorithmChooser : _defaultChooser,
                        FlashCardsAlgorithm ? _flashCardsLearningAlgorithm : _defaultLearningAlgorithm));
            }
            catch (Exception ex)
            {
                WindowService.ShowError(ex);
            }

            ((MainWindowVM)Parent).ExpressionsVisibility = Visibility.Visible;
            ((MainWindowVM)Parent).RebuildList();
        }
Exemplo n.º 2
0
        public TestVM(bool canEvaluate, TestConfiguration config, IExpressionsChooser chooser, ILearningAlgorithm algorithm)
        {
            config.NotNull("config");
            chooser.NotNull("chooser");
            algorithm.NotNull("algorithm");

            CanEvaluate = canEvaluate;
            Config      = config;
            Algorithm   = algorithm;

            Expressions     = chooser.SelectExpressions(Config);
            ExpressionsView = CollectionViewSource.GetDefaultView(Expressions);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MultiLayerNetwork{T}" /> class.
 /// </summary>
 /// <param name="learningAlgorithm">The learning algorithm.</param>
 /// <param name="minWeight">The minimum weight.</param>
 /// <param name="maxWeight">The maximum weight.</param>
 /// <param name="weightProbabilities">The weight probability distribution.</param>
 /// <param name="maxInputActivations">The maximum number of activated input units.</param>
 /// <param name="activationThreshold">The total 'signal' required for a unit to become active.</param>
 /// <param name="classes">The number of distinct classes.</param>
 /// <param name="unitsPerClass">The number of output units per class.</param>
 /// <param name="units">The number of units in each layer, excluding the output layer.</param>
 public MultiLayerNetwork(
     ILearningAlgorithm learningAlgorithm,
     int minWeight,
     int maxWeight,
     double[] weightProbabilities,
     int maxInputActivations,
     int activationThreshold,
     int classes,
     int unitsPerClass,
     params int[] units)
     : base(
         learningAlgorithm,
         minWeight,
         maxWeight,
         weightProbabilities,
         1.0,                                                    // Synapse success probability
         maxInputActivations,
         activationThreshold,
         classes,
         unitsPerClass,
         units)
 {
 }
Exemplo n.º 4
0
 /// <summary>
 /// Initializes the agent
 /// </summary>
 /// <param name="environment">The environment that the agent is added to</param>
 public void Initialize(TEnvironment environment)
 {
     this.environment = environment;
     this.learner     = this.createLearnerFn(environment);
 }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes the agent
 /// </summary>
 /// <param name="environment">The environment that the agent is added to</param>
 public virtual void Initialize(TEnvironment environment)
 {
     this.environment = environment;
     this.learner     = this.CreateLearner();
 }