34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?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/Régression_-_Vague.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]);
|
|
}
|
|
}
|