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
@@ -0,0 +1,33 @@
<?php
namespace Tests\Unit\Training;
use App\Models\NetworksTraining\MultiLayerPerceptronTraining;
use App\Services\DatasetReader\LinearOrderDataSetReader;
use App\Services\SynapticWeightsProvider\ZeroSynapticWeights;
use Tests\Services\IterationEventBuffer\DullIterationEventBuffer;
class MultiLayerPerceptronTest extends TrainingTestCase
{
public function test_multilayer_perceptron_uses_one_output_for_continuous_targets(): void
{
$training = new MultiLayerPerceptronTraining(
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/table_4_17.csv')),
learningRate: 0.01,
maxEpochs: 1,
hiddenLayers: 1,
hiddenLayersNeurons: 3,
synapticWeightsProvider: new ZeroSynapticWeights,
iterationEventBuffer: new DullIterationEventBuffer,
sessionId: 'test-session',
trainingId: 'test-training',
minError: 0,
);
$training->start();
$weights = $training->getSynapticWeights()[0][0];
$this->assertCount(1, $weights[count($weights) - 1]);
}
}