private void RefreshDgwParametersAF() { dgwEditParametersAF.Rows.Clear(); int countParameters = LibraryOfActivateFunctions.GetCountParametersOfAF(cbActivateFunction.SelectedItem.ToString(), LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName); ActivateFunction af = LibraryOfActivateFunctions.GetActivateFunction(cbActivateFunction.SelectedItem.ToString(), LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName); for (int i = 0; i < countParameters; i++) { string[] row = new string[2]; row[0] = Convert.ToString(af.GetNameOfParameter(i)); row[1] = Convert.ToString(af.GetDefaultValueOfParameter(i)); dgwEditParametersAF.Rows.Add(row); dgwEditParametersAF.Rows[i].Cells[0].ReadOnly = true; } }
private void btnUse_Click(object sender, EventArgs e) { int countInputNeurons = dbHandler.SelectCountInputParametersInTask(lbTaskSelected.Text); int countOutputNeurons = 1; ActivateFunction af = LibraryOfActivateFunctions. GetActivateFunction(dbHandler.SelectActivateFunctionTypeByNeuroNet(lbNetSelected.Text), LibraryOfActivateFunctions.GetterParameter.TypeOfActivateFunctionName); List <double> valuesOfParametersAF = dbHandler.SelectValuesOfParametersOfAF(lbNetSelected.Text); int k = 0; foreach (double item in valuesOfParametersAF) { af.SetValueOfParameter(k, item); k++; } int countNeurons = dbHandler.SelectCountNeuronsInNet(lbNetSelected.Text); bool[,] connections = new bool[countNeurons, countNeurons]; double[,] weights = new double[countNeurons, countNeurons]; List <Tuple <int, int, double> > ls = dbHandler.SelectLearnedTopology(lbNetSelected.Text, lbSelSelected.Text, LearningAlgorithmsLibrary.GetNameOfTypeOfAlgoritm(lbLASelected.Text)); for (int i = 0; i < countNeurons; i++) { for (int j = 0; j < countNeurons; j++) { connections[i, j] = false; weights[i, j] = 0.0; } } foreach (Tuple <int, int, double> item in ls) { connections[item.Item2, item.Item1] = true; weights[item.Item2, item.Item1] = item.Item3; } int[] neuronsInLayers = dbHandler.SelectNeuronsInLayers(lbNetSelected.Text); NeuroNet net = new NeuroNet(countInputNeurons, countOutputNeurons, neuronsInLayers, connections, weights, af); NeuroNetSolvingWindow solvingWnd = new NeuroNetSolvingWindow(net); solvingWnd.Show(); }
public List <string[]> SelectParametersOfAF(string NeuroNetName, int countNeurons, string NameAF) { int IDAF = LibraryOfActivateFunctions.GetCountParametersOfAF(NameAF, LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName); ActivateFunction af = LibraryOfActivateFunctions.GetActivateFunction(NameAF, LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName); if (IDAF != -1) { List <string[]> ls = new List <string[]>(); connector.ConnectToDB(); SQLiteCommand cmd = new SQLiteCommand(connector.connection); int[] neurons = new int[countNeurons]; double[] valuesPars = new double[IDAF]; cmd.CommandText = "SELECT AFParameters " + "FROM NeuroNet,TASK WHERE NeuroNet.TaskID = TASK.ID AND NeuroNet.Name ='" + NeuroNetName + "'"; try { string line = Convert.ToString(cmd.ExecuteScalar()); int k = 0; int j = 0; string buf = ""; string[] row; while (j < line.Length) { row = new string[2]; if (line[j] != ' ') { buf += line[j]; } else { row[0] = af.GetNameOfParameter(k); row[1] = buf; ls.Add(row); k++; buf = ""; } j++; } row = new string[2]; row[0] = af.GetNameOfParameter(k); row[1] = buf; ls.Add(row); } catch (SQLiteException ex) { MessageBox.Show(ex.Message); } connector.DisconnectFromDB(); return(ls); } else { throw new Exception("No such name of Activate Function!"); } }