Files
perceptron-viewer/tests/Unit/Training/SimplePerceptronTest.php
T
Ninluc 6d4fdffee9
linter / quality (push) Successful in 5m1s
tests / ci (8.4) (push) Successful in 5m8s
tests / ci (8.5) (push) Successful in 6m31s
Wiki
2026-09-15 19:44:58 +02:00

31 lines
1.0 KiB
PHP

<?php
namespace Tests\Unit\Training;
use App\Models\NetworksTraining\SimpleBinaryPerceptronTraining;
use App\Services\DatasetReader\LinearOrderDataSetReader;
use App\Services\SynapticWeightsProvider\ZeroSynapticWeights;
use Tests\Services\IterationEventBuffer\DullIterationEventBuffer;
class SimplePerceptronTest extends TrainingTestCase
{
public function test_simple_perceptron_training_logic_and()
{
$training = new SimpleBinaryPerceptronTraining(
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/Classification_-_Porte_logique_ET_(linéairement_séparable).csv')),
learningRate: 1.0,
maxEpochs: 100,
synapticWeightsProvider: new ZeroSynapticWeights,
iterationEventBuffer: new DullIterationEventBuffer,
sessionId: 'test-session',
trainingId: 'test-training',
);
$this->verifyTrainingResults(
training: $training,
expectedWeights: [[[-3.0, 2.0, 1.0]]],
expectedEpochs: 6
);
}
}