Modified limitedEventBuffer to send in linear delay
This commit is contained in:
@@ -32,20 +32,12 @@ class PerceptronLimitedEpochEventBuffer implements IPerceptronIterationEventBuff
|
||||
'weights' => $synaptic_weights,
|
||||
];
|
||||
|
||||
if ($this->underSizeIncreaseCount <= $this->sizeIncreaseStart) { // Special case where we need to send each iteration separately
|
||||
$this->underSizeIncreaseCount++;
|
||||
$this->data[] = $newData;
|
||||
$this->flush();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$lastEpoch = $this->data[0]['epoch'] ?? null;
|
||||
if ($this->data && $lastEpoch !== $epoch) { // Current Epoch has changed from the last one
|
||||
if ($lastEpoch % $this->epochInterval === 0) { // The last epoch need to be sent
|
||||
if ($lastEpoch == 1 || $lastEpoch % $this->epochInterval === 0) { // The last saved epoch need to be sent
|
||||
$this->flush(); // Flush all data from the previous epoch
|
||||
} else {
|
||||
$this->data = [];
|
||||
$this->data = []; // We clear the data without sending it as we are saving the next epoch data
|
||||
}
|
||||
|
||||
$lastEpoch = $epoch;
|
||||
|
||||
@@ -7,12 +7,12 @@ return [
|
||||
* Beyond this number of iterations, the broadcast will be splitted every x iterations,
|
||||
* x is limited_broadcast_number
|
||||
*/
|
||||
'limited_broadcast_iterations' => 200,
|
||||
'limited_broadcast_iterations' => 100,
|
||||
|
||||
/**
|
||||
* How much broadcasts is sent when in limmited broadcast mode
|
||||
*/
|
||||
'limited_broadcast_number' => 200,
|
||||
'limited_broadcast_number' => 100,
|
||||
|
||||
'broadcast_iteration_size' => 75,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user