Refactored into folders

This commit is contained in:
2026-03-22 10:42:08 +01:00
parent 977c259cb9
commit 4717254da4
18 changed files with 258 additions and 44 deletions

View File

@@ -3,10 +3,9 @@
namespace App\Models;
use App\Events\PerceptronTrainingEnded;
use App\Services\DataSetReader;
use App\Services\IPerceptronIterationEventBuffer;
use App\Services\ISynapticWeightsProvider;
use App\Services\PerceptronIterationEventBuffer;
use App\Services\DatasetReader\IDataSetReader;
use App\Services\IterationEventBuffer\IPerceptronIterationEventBuffer;
use App\Services\SynapticWeightsProvider\ISynapticWeightsProvider;
class GradientDescentPerceptronTraining extends NetworkTraining
{
@@ -17,7 +16,7 @@ class GradientDescentPerceptronTraining extends NetworkTraining
private float $epochError;
public function __construct(
DataSetReader $datasetReader,
IDataSetReader $datasetReader,
protected float $learningRate,
int $maxEpochs,
protected ISynapticWeightsProvider $synapticWeightsProvider,
@@ -38,7 +37,7 @@ class GradientDescentPerceptronTraining extends NetworkTraining
$epochCorrectorPerWeight = [];
$this->epoch++;
while ($nextRow = $this->datasetReader->getRandomLine()) {
while ($nextRow = $this->datasetReader->getNextLine()) {
$inputs = array_slice($nextRow, 0, -1);
$correctOutput = (float) end($nextRow);
@@ -89,4 +88,9 @@ class GradientDescentPerceptronTraining extends NetworkTraining
return $error;
}
public function getSynapticWeights(): array
{
return [[$this->perceptron->getSynapticWeights()]];
}
}