#pragma once #include #include #include #include "BatchPropagation.h" namespace NeuralNetwork { namespace Learning { /** @class QuickPropagation * @brief */ class QuickPropagation : public BatchPropagation { public: inline QuickPropagation(FeedForward::Network &feedForwardNetwork, std::shared_ptr correction = std::make_shared()): BatchPropagation(feedForwardNetwork,correction) { } virtual ~QuickPropagation() { } void setLearningCoefficient (const float& coefficient) { } protected: virtual void updateWeightsAndEndBatch() override; float _maxChange=1.75; virtual inline void resize() override { BatchPropagation::resize(); _lastGradients = _gradients; _lastDeltas = _gradients; } std::vector>> _lastDeltas = {}; std::vector>> _lastGradients = {}; }; } }