Example #1
0
 private void SaveLayer(Hashtable neuronInvMap, Layer layer, NeuralDataSet.NetworksRow networkRow)
 {
     NeuralDataSet.LayersRow layerRow = database.Layers.AddLayersRow(networkRow, layer.Title);
     for (int i = 0; i < layer.Count; i++)
     {
         neuronInvMap.Add(layer[i], database.Neurons.AddNeuronsRow(layerRow));
     }
 }
Example #2
0
 private void SaveLayerAsCurrent(Hashtable neuronInvMap, Layer layer, NeuralDataSet.NetworksRow networkRow)
 {
     NeuralDataSet.LayersRow layerRow = database.Layers.AddLayersRow(networkRow, layer.Title);
     for (int i = 0; i < layer.Count; i++)
     {
         NeuralDataSet.NeuronsRow row = database.Neurons.AddNeuronsRow(layerRow);
         neuronInvMap.Add(layer[i], row);
         currentNeuronMap.Add(row.neID, layer[i]);
     }
 }
Example #3
0
 /// <summary>
 /// Load a network from the repository by its repository title.
 /// </summary>
 /// <param name="title">The network's repository title</param>
 public void LoadNetworkStructure(string title)
 {
     NeuralDataSet.NetworksRow[] rows = (NeuralDataSet.NetworksRow[])database.Networks.Select("nw_name LIKE '" + title.Trim() + "'");
     if (rows.Length == 0)
     {
         throw new ArgumentOutOfRangeException("title", title, "Network not found");
     }
     currentNetworkRow = rows[0];
     RebuildCurrentNetworkStructure();
 }
Example #4
0
 /// <summary>
 /// Load a network from the repository by its repository ID.
 /// </summary>
 /// <param name="networkID">The network's repository ID</param>
 public void LoadNetworkStructure(int networkID)
 {
     NeuralDataSet.NetworksRow[] rows = (NeuralDataSet.NetworksRow[])database.Networks.Select("nwID = " + networkID);
     if (rows.Length != 1)
     {
         throw new ArgumentOutOfRangeException("networkId", networkID, "Network not found");
     }
     currentNetworkRow = rows[0];
     RebuildCurrentNetworkStructure();
 }
Example #5
0
 /// <summary>
 /// Import a network to the repository and name it with a new repository title.
 /// </summary>
 /// <param name="title">The new network's repository title (choosable).</param>
 /// <param name="network">The neural network instance to import.</param>
 /// <param name="setAsCurrent">Whether the network should be marked as the current network.</param>
 /// <returns>The new network's repository ID</returns>
 public int ImportNetworkStructure(string title, Network network, bool setAsCurrent)
 {
     NeuralDataSet.NetworksRow row = database.Networks.AddNetworksRow(title);
     if (setAsCurrent)
     {
         SaveNetworkStructureAsCurrent(row, network);
         currentNetwork    = network;
         currentNetworkRow = row;
     }
     else
     {
         SaveNetworkStructure(row, network);
     }
     return(row.nwID);
 }
Example #6
0
        private void SaveNetworkStructure(NeuralDataSet.NetworksRow networkRow, Network network)
        {
            Hashtable neuronInvMap = new Hashtable();
            Layer     layer        = network.FirstLayer;

            SaveLayer(neuronInvMap, layer, networkRow);
            while (layer.TargetLayer != null)
            {
                layer = layer.TargetLayer;
                SaveLayer(neuronInvMap, layer, networkRow);
            }
            foreach (Neuron neuron in neuronInvMap.Keys)
            {
                foreach (Synapse synapse in neuron.SourceSynapses)
                {
                    database.Synapses.AddSynapsesRow((NeuralDataSet.NeuronsRow)neuronInvMap[synapse.SourceNeuron], (NeuralDataSet.NeuronsRow)neuronInvMap[neuron], networkRow);
                }
            }
        }
Example #7
0
 private NeuralDataSet.SynapsesRow[] SelectSynapsesFromNetwork(NeuralDataSet.NetworksRow network)
 {
     return((NeuralDataSet.SynapsesRow[])database.Synapses.Select("syFK_network = " + network.nwID));
 }
Example #8
0
 private NeuralDataSet.LayersRow[] SelectLayersFromNetwork(NeuralDataSet.NetworksRow network)
 {
     return((NeuralDataSet.LayersRow[])database.Layers.Select("laFK_network = " + network.nwID));
 }
Example #9
0
 /// <summary>
 /// Load a network from the repository by its repository title.
 /// </summary>
 /// <param name="title">The network's repository title</param>
 public void LoadNetworkStructure(string title)
 {
     NeuralDataSet.NetworksRow[] rows = (NeuralDataSet.NetworksRow[])database.Networks.Select("nw_name LIKE '" + title.Trim() + "'");
     if(rows.Length == 0)
         throw new ArgumentOutOfRangeException("title",title,"Network not found");
     currentNetworkRow = rows[0];
     RebuildCurrentNetworkStructure();
 }
Example #10
0
 /// <summary>
 /// Load a network from the repository by its repository ID.
 /// </summary>
 /// <param name="networkID">The network's repository ID</param>
 public void LoadNetworkStructure(int networkID)
 {
     NeuralDataSet.NetworksRow[] rows = (NeuralDataSet.NetworksRow[])database.Networks.Select("nwID = " + networkID);
     if(rows.Length != 1)
         throw new ArgumentOutOfRangeException("networkId",networkID,"Network not found");
     currentNetworkRow = rows[0];
     RebuildCurrentNetworkStructure();
 }
Example #11
0
 /// <summary>
 /// Import a network to the repository and name it with a new repository title.
 /// </summary>
 /// <param name="title">The new network's repository title (choosable).</param>
 /// <param name="network">The neural network instance to import.</param>
 /// <param name="setAsCurrent">Whether the network should be marked as the current network.</param>
 /// <returns>The new network's repository ID</returns>
 public int ImportNetworkStructure(string title, Network network, bool setAsCurrent)
 {
     NeuralDataSet.NetworksRow row = database.Networks.AddNetworksRow(title);
     if(setAsCurrent)
     {
         SaveNetworkStructureAsCurrent(row, network);
         currentNetwork = network;
         currentNetworkRow = row;
     }
     else
         SaveNetworkStructure(row, network);
     return row.nwID;
 }