コード例 #1
0
        public void Train()
        {
            stopFlag = false;
            var dataProvider = dataProviderFactory();
            var trainLoops   = settingsProvider.TrainLoops;

            UpdateNetworkHyperParameters();
            for (var i = 0; i < trainLoops && !stopFlag; i++)
            {
                var data = dataProvider.GetTrainData();
                InternalNetwork.Train(data.Input, data.Output);
                if (i % 500 == 0)
                {
                    Network = InternalNetwork.Clone();
                    ReadyToRun?.Invoke(this, null);
                }
                if ((i + 1) % 10000 == 0)
                {
                    Network = InternalNetwork.Clone();
                    ReadyToFullTest?.Invoke(this, null);
                }
            }
            Network = InternalNetwork.Clone();
        }
コード例 #2
0
 private void OnEmptySlotsEndedHdl()
 {
     ReadyToRun.Reset();
 }
コード例 #3
0
 private void OnEmptySlotHdl()
 {
     ReadyToRun.Set();
 }