Skip to content

Commit e41ec49

Browse files
author
lukas.molzberger
committed
- Moved trainingAllowed to Neuron/SynapseTypeDefinition
1 parent ec91791 commit e41ec49

14 files changed

+35
-36
lines changed

core/src/main/java/network/aika/elements/neurons/CategoryNeuron.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ public CategoryInputSynapse getOutgoingCategoryInputSynapse() {
4444
return getOutputSynapseByType(CategoryInputSynapse.class);
4545
}
4646

47-
@Override
48-
public boolean isTrainingAllowed() {
49-
return false;
50-
}
51-
5247
@Override
5348
public CategorySynapse createCategorySynapse() {
5449
throw new UnsupportedOperationException();

core/src/main/java/network/aika/elements/neurons/Neuron.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,8 +301,8 @@ public boolean isAbstract() {
301301

302302
public abstract CategorySynapse getCategoryOutputSynapse();
303303

304-
public boolean isTrainingAllowed() {
305-
return true;
304+
public final boolean isTrainingAllowed() {
305+
return neuronType.isTrainingAllowed();
306306
}
307307

308308
public abstract A createActivation(Document doc);

core/src/main/java/network/aika/elements/neurons/NeuronType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,6 @@
3838
ActivationFunction activationFunction();
3939

4040
BSSlotDefinition[] bindingSignalSlots();
41+
42+
boolean trainingAllowed() default true;
4143
}

core/src/main/java/network/aika/elements/neurons/types/BindingCategoryNeuron.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
@NeuronType(
3737
type = BINDING,
3838
activationFunction = LIMITED_RECTIFIED_LINEAR_UNIT,
39-
bindingSignalSlots = {SINGLE_INPUT, SINGLE_SAME}
39+
bindingSignalSlots = {SINGLE_INPUT, SINGLE_SAME},
40+
trainingAllowed = false
4041
)
4142
public class BindingCategoryNeuron extends CategoryNeuron {
4243

core/src/main/java/network/aika/elements/neurons/types/InhibitoryCategoryNeuron.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
@NeuronType(
3636
type = INHIBITORY,
3737
activationFunction = LIMITED_RECTIFIED_LINEAR_UNIT,
38-
bindingSignalSlots = SINGLE_INPUT
38+
bindingSignalSlots = SINGLE_INPUT,
39+
trainingAllowed = false
3940
)
4041
public class InhibitoryCategoryNeuron extends CategoryNeuron {
4142

core/src/main/java/network/aika/elements/neurons/types/InhibitoryNeuron.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
@NeuronType(
4242
type = INHIBITORY,
4343
activationFunction = LIMITED_RECTIFIED_LINEAR_UNIT,
44-
bindingSignalSlots = SINGLE_INPUT
44+
bindingSignalSlots = SINGLE_INPUT,
45+
trainingAllowed = false
4546
)
4647
public class InhibitoryNeuron extends DisjunctiveNeuron<InhibitoryNeuron, InhibitoryActivation> {
4748

@@ -93,9 +94,4 @@ public InhibitoryCategoryInputSynapse getCategoryInputSynapse() {
9394
public InhibitoryCategorySynapse getCategoryOutputSynapse() {
9495
return getOutputSynapseByType(InhibitoryCategorySynapse.class);
9596
}
96-
97-
@Override
98-
public boolean isTrainingAllowed() {
99-
return false;
100-
}
10197
}

core/src/main/java/network/aika/elements/neurons/types/PatternCategoryNeuron.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
@NeuronType(
3636
type = PATTERN,
3737
activationFunction = LIMITED_RECTIFIED_LINEAR_UNIT,
38-
bindingSignalSlots = SINGLE_SAME
38+
bindingSignalSlots = SINGLE_SAME,
39+
trainingAllowed = false
3940
)
4041
public class PatternCategoryNeuron extends CategoryNeuron {
4142

core/src/main/java/network/aika/elements/synapses/Synapse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,8 @@ public Field getWeightForAnnealing() {
353353
return weight;
354354
}
355355

356-
public boolean isTrainingAllowed() {
357-
return trainingAllowed && getOutput().isTrainingAllowed();
356+
public final boolean isTrainingAllowed() {
357+
return trainingAllowed && synapseType.isTrainingAllowed() && getOutput().isTrainingAllowed();
358358
}
359359

360360
public void setTrainingAllowed(boolean trainingAllowed) {

core/src/main/java/network/aika/elements/synapses/SynapseType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,6 @@
5151
boolean propagateRange() default true;
5252

5353
DirectionEnum storedAt();
54+
55+
boolean trainingAllowed() default true;
5456
}

core/src/main/java/network/aika/elements/synapses/types/BindingCategoryInputSynapse.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@
4949
required = INPUT_INPUT,
5050
outputState = PRE_FEEDBACK,
5151
trigger = FIRED_PRE_FEEDBACK,
52-
storedAt = DirectionEnum.OUTPUT
52+
storedAt = DirectionEnum.OUTPUT,
53+
trainingAllowed = false
5354
)
5455
public class BindingCategoryInputSynapse extends ConjunctiveCategoryInputSynapse<
5556
BindingCategoryInputSynapse,
@@ -67,11 +68,6 @@ public BindingCategoryInputLink createLink(CategoryActivation input, BindingActi
6768
return new BindingCategoryInputLink(this, input, output);
6869
}
6970

70-
@Override
71-
public boolean isTrainingAllowed() {
72-
return false;
73-
}
74-
7571
@Override
7672
public void setInitialCategorySynapseWeight(double initialCategorySynapseWeight) {
7773
this.initialCategorySynapseWeight = initialCategorySynapseWeight;

0 commit comments

Comments
 (0)