Trying to avoid many synapse copies for cluster neurons

This commit is contained in:
Pascal Serrarens 2026-08-11 16:54:16 +02:00
parent 22fe85478b
commit 1f7c3ef7e8

View File

@ -187,22 +187,24 @@ namespace NanoBrain {
Debug.LogError($"Could not find cluster Resource {synapseData.clusterName}");
else {
uint instanceCount = 1;
ExternalClusterData externalClusterData = null;
foreach (ExternalClusterData externalCluster in clusterData.clusters) {
if (externalCluster.clusterName == synapseData.clusterName) {
instanceCount = externalCluster.instanceCount;
//extPrefab.name = externalCluster.name;
externalClusterData = externalCluster;
}
}
if (this.nuclei.Find(nucleus => nucleus.name == synapseData.clusterName) is not Cluster extCluster) {
extCluster = new(extPrefab, this, instanceCount);
if (externalClusterData != null)
extCluster.name = externalClusterData.name;
//extCluster.name = clusterData.name;
extCluster.name = externalCluster.name;
}
Neuron extNeuron = extCluster.GetNeuron(synapseData.neuronName);
Debug.Log("Add receiver for external");
extNeuron.AddReceiver(receiver);
}
}
}
}
else {
Neuron sender = this.GetNeuron(synapseData.neuronName);
sender?.AddReceiver(receiver, synapseData.weight, synapseData.trainable);
@ -392,7 +394,7 @@ namespace NanoBrain {
foreach (Synapse synapse in neuron.synapses) {
if (synapse.trainable) {
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}");
}
}
}