From 42e07de2874f330925dff14e4d04fe9dde16ffb5 Mon Sep 17 00:00:00 2001 From: Matthias Guillitte Date: Sun, 22 Mar 2026 14:58:34 +0100 Subject: [PATCH] Rafactored Perceptrons and network training --- app/Http/Controllers/PerceptronController.php | 18 ++++-------------- app/Models/Network.php | 8 -------- .../GradientDescentPerceptronTraining.php | 5 ++++- .../{ => NetworksTraining}/NetworkTraining.php | 3 ++- .../SimpleBinaryPerceptronTraining.php | 5 ++++- .../GradientDescentPerceptron.php | 2 +- app/Models/{ => Perceptrons}/Perceptron.php | 2 +- .../SimpleBinaryPerceptron.php | 2 +- .../DatasetReader/RandomOrderDataSetReader.php | 2 +- 9 files changed, 18 insertions(+), 29 deletions(-) delete mode 100644 app/Models/Network.php rename app/Models/{ => NetworksTraining}/GradientDescentPerceptronTraining.php (95%) rename app/Models/{ => NetworksTraining}/NetworkTraining.php (95%) rename app/Models/{ => NetworksTraining}/SimpleBinaryPerceptronTraining.php (95%) rename app/Models/{ => Perceptrons}/GradientDescentPerceptron.php (89%) rename app/Models/{ => Perceptrons}/Perceptron.php (96%) rename app/Models/{ => Perceptrons}/SimpleBinaryPerceptron.php (90%) diff --git a/app/Http/Controllers/PerceptronController.php b/app/Http/Controllers/PerceptronController.php index 9832c62..faa726e 100644 --- a/app/Http/Controllers/PerceptronController.php +++ b/app/Http/Controllers/PerceptronController.php @@ -3,16 +3,16 @@ namespace App\Http\Controllers; use App\Events\PerceptronInitialization; -use App\Models\GradientDescentPerceptronTraining; -use App\Models\SimpleBinaryPerceptronTraining; +use App\Models\NetworksTraining\GradientDescentPerceptronTraining; +use App\Models\NetworksTraining\SimpleBinaryPerceptronTraining; use App\Services\DatasetReader\IDataSetReader; use App\Services\DatasetReader\LinearOrderDataSetReader; +use App\Services\DatasetReader\RandomOrderDataSetReader; use App\Services\IterationEventBuffer\PerceptronIterationEventBuffer; use App\Services\IterationEventBuffer\PerceptronLimitedEpochEventBuffer; use App\Services\SynapticWeightsProvider\ISynapticWeightsProvider; use App\Services\SynapticWeightsProvider\ZeroSynapticWeights; use Illuminate\Http\Request; -use Tests\Services\IterationEventBuffer\DullIterationEventBuffer; class PerceptronController extends Controller { @@ -113,7 +113,7 @@ class PerceptronController extends Controller private function getDataSetReader(string $dataSet): IDataSetReader { $dataSetFileName = "data_sets/{$dataSet}.csv"; - return new LinearOrderDataSetReader($dataSetFileName); + return new RandomOrderDataSetReader($dataSetFileName); } public function run(Request $request, ISynapticWeightsProvider $synapticWeightsProvider) @@ -143,16 +143,6 @@ class PerceptronController extends Controller $networkTraining = match ($perceptronType) { 'simple' => new SimpleBinaryPerceptronTraining($dataSetReader, $learningRate, $maxIterations, $synapticWeightsProvider, $iterationEventBuffer, $sessionId, $trainingId), 'gradientdescent' => new GradientDescentPerceptronTraining($dataSetReader, $learningRate, $maxIterations, $synapticWeightsProvider, $iterationEventBuffer, $sessionId, $trainingId, $minError), - 'gradientdescentTest' => new GradientDescentPerceptronTraining( - datasetReader: new LinearOrderDataSetReader(public_path('data_sets/logic_and_gradient.csv')), - learningRate: 0.2, - maxEpochs: 100, - synapticWeightsProvider: new ZeroSynapticWeights(), - iterationEventBuffer: $iterationEventBuffer, - sessionId: 'test-session', - trainingId: 'test-training', - minError: 0.125001, - ), default => null, }; diff --git a/app/Models/Network.php b/app/Models/Network.php deleted file mode 100644 index 06b099d..0000000 --- a/app/Models/Network.php +++ /dev/null @@ -1,8 +0,0 @@ -