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(); }
private void OnEmptySlotsEndedHdl() { ReadyToRun.Reset(); }
private void OnEmptySlotHdl() { ReadyToRun.Set(); }