Wiki
This commit is contained in:
@@ -24,18 +24,20 @@ class IterationEventBufferTest extends TestCase
|
||||
});
|
||||
}
|
||||
|
||||
public function test_limited_buffer_discards_non_selected_epochs(): void
|
||||
public function test_limited_buffer_sends_the_latest_non_selected_epoch_on_final_flush(): void
|
||||
{
|
||||
Event::fake();
|
||||
$buffer = new PerceptronLimitedEpochEventBuffer('session', 'training', 2);
|
||||
|
||||
$buffer->addIteration(1, 0, 0.5, []);
|
||||
$buffer->addIteration(2, 0, 0.25, []);
|
||||
$buffer->addIteration(2, 1, 0.125, []);
|
||||
$buffer->flush();
|
||||
|
||||
Event::assertDispatchedTimes(PerceptronTrainingIteration::class, 2);
|
||||
Event::assertDispatched(PerceptronTrainingIteration::class, function (PerceptronTrainingIteration $event): bool {
|
||||
return count($event->iterations) === 1
|
||||
&& $event->iterations[0]['epoch'] === 1;
|
||||
return count($event->iterations) === 2
|
||||
&& $event->iterations[0]['epoch'] === 2;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ class ADALINEPerceptronTest extends TrainingTestCase
|
||||
public function test_adaline_perceptron_training_logic_and()
|
||||
{
|
||||
$training = new ADALINEPerceptronTraining(
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/logic_and_gradient.csv')),
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/Classification_-_Porte_logique_ET_(linéairement_séparable).csv')),
|
||||
learningRate: 0.03,
|
||||
maxEpochs: 10000,
|
||||
synapticWeightsProvider: new ZeroSynapticWeights,
|
||||
@@ -53,7 +53,7 @@ class ADALINEPerceptronTest extends TrainingTestCase
|
||||
public function test_adaline_perceptron_training_table_2_10()
|
||||
{
|
||||
$training = new ADALINEPerceptronTraining(
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/table_2_10.csv')),
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/Classification_-_Oblique_modifié_(non_linéairement_séparable).csv')),
|
||||
learningRate: 0.0015,
|
||||
maxEpochs: 1000,
|
||||
synapticWeightsProvider: new ZeroSynapticWeights,
|
||||
|
||||
@@ -12,7 +12,7 @@ class GradientDescentPerceptronTest extends TrainingTestCase
|
||||
public function test_gradient_descent_perceptron_training_logic_and()
|
||||
{
|
||||
$training = new GradientDescentPerceptronTraining(
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/logic_and_gradient.csv')),
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/Classification_-_Porte_logique_ET_(linéairement_séparable).csv')),
|
||||
learningRate: 0.2,
|
||||
maxEpochs: 100,
|
||||
synapticWeightsProvider: new ZeroSynapticWeights,
|
||||
@@ -52,7 +52,7 @@ class GradientDescentPerceptronTest extends TrainingTestCase
|
||||
public function test_gradient_descent_perceptron_training_table_2_10()
|
||||
{
|
||||
$training = new GradientDescentPerceptronTraining(
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/table_2_10.csv')),
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/Classification_-_Oblique_modifié_(non_linéairement_séparable).csv')),
|
||||
learningRate: 0.0015,
|
||||
maxEpochs: 1000,
|
||||
synapticWeightsProvider: new ZeroSynapticWeights,
|
||||
|
||||
@@ -12,7 +12,7 @@ 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')),
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/Régression_-_Vague.csv')),
|
||||
learningRate: 0.01,
|
||||
maxEpochs: 1,
|
||||
hiddenLayers: 1,
|
||||
@@ -30,4 +30,4 @@ class MultiLayerPerceptronTest extends TrainingTestCase
|
||||
|
||||
$this->assertCount(1, $weights[count($weights) - 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class SimplePerceptronTest extends TrainingTestCase
|
||||
public function test_simple_perceptron_training_logic_and()
|
||||
{
|
||||
$training = new SimpleBinaryPerceptronTraining(
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/logic_and.csv')),
|
||||
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/Classification_-_Porte_logique_ET_(linéairement_séparable).csv')),
|
||||
learningRate: 1.0,
|
||||
maxEpochs: 100,
|
||||
synapticWeightsProvider: new ZeroSynapticWeights,
|
||||
|
||||
Reference in New Issue
Block a user