void InitUi() { var scse = (SimUtils.SimCliqueSetForEpoch)AppVm.Sim; var m = scse.CliqueNetworkTr.NodeGroups; CliqueEConfigVm = new CliqueEConfigVm ( gain: scse.UpdateParams.Gain, stepSize: scse.UpdateParams.StepSize, noiseLevel: scse.UpdateParams.NoiseLevel, reportFreq: scse.UpdateParams.Epochs ); NodeCount = m.RowCount; GroupCount = m.ColumnCount; MemCount = scse.Memories.ColumnCount; }
void InitUi() { var scse = (SimUtils.SimCliqueSetForEpoch)AppVm.Sim; var m = scse.CliqueNetworkTr.NodeGroups; CliqueEConfigVm = new CliqueEConfigVm ( gain: scse.UpdateParams.Gain, stepSize: scse.UpdateParams.StepSize, noiseLevel: scse.UpdateParams.NoiseLevel, reportFreq: scse.UpdateParams.Epochs ); NodeCount = m.RowCount; GroupCount = m.ColumnCount; MemCount = scse.Memories.ColumnCount; MatrixSfVm = new Grid2DVm<float>( strides: MathNetUtils.ToD2Bounds(scse.Memories), colorMapper: ColorMap.RedBlue(NodeCount), title: "Correlations"); }
void ConfigChanged(CliqueEConfigVm cliqueEConfigVm) { OnPropertyChanged(nameof(UpdateCommand)); }
private void DoUpdate() { var scse = (SimUtils.SimCliqueSetForEpoch)AppVm.Sim; var wak = new CliqueUpdateParams( nodeGroupSynapses: scse.UpdateParams.NodeGroupSynapses, gain: CliqueEConfigVm.Gain, stepSize: CliqueEConfigVm.StepSize, randSeed: MersenneTwister.Default.Next(), noiseLevel: CliqueEConfigVm.NoiseLevel, epochs: CliqueEConfigVm.ReportFreq ); CliqueEConfigVm = new CliqueEConfigVm ( gain: CliqueEConfigVm.Gain, stepSize: CliqueEConfigVm.StepSize, noiseLevel: CliqueEConfigVm.NoiseLevel, reportFreq: CliqueEConfigVm.ReportFreq ); var result = AppVm.Sim.SetParams(wak); if (result.IsSuccess) { AppVm.SimRunner.Stop(); AppVm.SetSim(Rop.ExtractResult(result).Value); AppVm.Run(); return; } AppVm.UpdateError(Rop.ExtractErrorMessage(result).Value[0]); }