Trying to avoid many synapse copies for cluster neurons
This commit is contained in:
parent
22fe85478b
commit
1f7c3ef7e8
@ -187,22 +187,24 @@ namespace NanoBrain {
|
|||||||
Debug.LogError($"Could not find cluster Resource {synapseData.clusterName}");
|
Debug.LogError($"Could not find cluster Resource {synapseData.clusterName}");
|
||||||
else {
|
else {
|
||||||
uint instanceCount = 1;
|
uint instanceCount = 1;
|
||||||
|
ExternalClusterData externalClusterData = null;
|
||||||
foreach (ExternalClusterData externalCluster in clusterData.clusters) {
|
foreach (ExternalClusterData externalCluster in clusterData.clusters) {
|
||||||
if (externalCluster.clusterName == synapseData.clusterName) {
|
if (externalCluster.clusterName == synapseData.clusterName) {
|
||||||
instanceCount = externalCluster.instanceCount;
|
instanceCount = externalCluster.instanceCount;
|
||||||
//extPrefab.name = externalCluster.name;
|
externalClusterData = externalCluster;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (this.nuclei.Find(nucleus => nucleus.name == synapseData.clusterName) is not Cluster extCluster) {
|
if (this.nuclei.Find(nucleus => nucleus.name == synapseData.clusterName) is not Cluster extCluster) {
|
||||||
extCluster = new(extPrefab, this, instanceCount);
|
extCluster = new(extPrefab, this, instanceCount);
|
||||||
|
if (externalClusterData != null)
|
||||||
|
extCluster.name = externalClusterData.name;
|
||||||
//extCluster.name = clusterData.name;
|
//extCluster.name = clusterData.name;
|
||||||
extCluster.name = externalCluster.name;
|
|
||||||
}
|
}
|
||||||
Neuron extNeuron = extCluster.GetNeuron(synapseData.neuronName);
|
Neuron extNeuron = extCluster.GetNeuron(synapseData.neuronName);
|
||||||
Debug.Log("Add receiver for external");
|
Debug.Log("Add receiver for external");
|
||||||
extNeuron.AddReceiver(receiver);
|
extNeuron.AddReceiver(receiver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
Neuron sender = this.GetNeuron(synapseData.neuronName);
|
Neuron sender = this.GetNeuron(synapseData.neuronName);
|
||||||
sender?.AddReceiver(receiver, synapseData.weight, synapseData.trainable);
|
sender?.AddReceiver(receiver, synapseData.weight, synapseData.trainable);
|
||||||
@ -392,7 +394,7 @@ namespace NanoBrain {
|
|||||||
foreach (Synapse synapse in neuron.synapses) {
|
foreach (Synapse synapse in neuron.synapses) {
|
||||||
if (synapse.trainable) {
|
if (synapse.trainable) {
|
||||||
synapse.weight = (float)randomGenerator.NextDouble() * 2.0f - 1.0f;
|
synapse.weight = (float)randomGenerator.NextDouble() * 2.0f - 1.0f;
|
||||||
// Debug.Log($"{neuron.name}-{synapse.neuron.name} weight = {synapse.weight}");
|
Debug.Log($"{neuron.name}-{synapse.neuron.name} weight = {synapse.weight}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user