Multilayer neuron network
linter / quality (push) Successful in 7m10s
tests / ci (8.4) (push) Successful in 4m43s
tests / ci (8.5) (push) Successful in 4m47s

This commit is contained in:
2026-09-08 16:29:02 +02:00
parent 2f4db07918
commit 08aa04fe56
17 changed files with 630 additions and 50 deletions
+10 -2
View File
@@ -47,6 +47,7 @@ const props = defineProps<{
minError: number;
learningRate: number;
maxIterations: number;
maxDisplayedWeights: number;
}>();
const selectedDatasetName = ref<string>('');
@@ -82,7 +83,9 @@ const cleanedDataset = computed<
});
return cleanedDataset;
});
const initializationMethod = ref<InitializationMethod>('zeros');
const hiddenLayers = ref(3);
const hiddenLayersNeurons = ref(3);
const initializationMethod = ref<InitializationMethod>(props.type === 'multilayer' ? 'random' : 'zeros');
console.log('Session ID:', props.sessionId);
@@ -145,7 +148,7 @@ function perceptroninitialization(data: any) {
);
return;
}
activationFunction.value = data.activation_function;
activationFunction.value = data.activationFunction;
}
function getActivationFunction(type: string): (x: number) => number {
switch (type) {
@@ -179,6 +182,8 @@ function resetTraining() {
:datasets="props.datasets"
:selectedDataset="selectedDatasetName"
:initializationMethod="initializationMethod"
:hidden-layers="hiddenLayers"
:hidden-layers-neurons="hiddenLayersNeurons"
:minError="props.minError"
:sessionId="props.sessionId"
:defaultLearningRate="props.learningRate"
@@ -203,6 +208,7 @@ function resetTraining() {
:iterations="iterations"
:trainingEnded="trainingEnded"
:trainingEndReason="trainingEndReason"
:maxDisplayedWeights="props.maxDisplayedWeights"
/>
</div>
<div class="sticky top-0 h-full w-full">
@@ -210,6 +216,7 @@ function resetTraining() {
<PerceptronDecisionGraph
:cleanedDataset="cleanedDataset"
:iterations="iterations"
:is-regression="activationFunction === 'linear'"
:activation-function="
getActivationFunction(activationFunction)
"
@@ -218,6 +225,7 @@ function resetTraining() {
<div>
<PerceptronIterationsErrorsGraph
:iterations="iterations"
:is-regression="activationFunction === 'linear'"
v-if="iterations.length > 0"
/>
</div>