//+------------------------------------------------------------------+ //| LayerDescription.mqh| //| AnimateDread | //| https://www.mql5.com | //+------------------------------------------------------------------+ //| CLayerDescription - plain topology-spec data holder consumed by | //| CNet's topology-build code (AI\Network.mqh). Self-contained (no | //| class-type dependencies, just enum/int defaults). Extracted | //| verbatim (SOLID cleanup) - no logic changes. | //+------------------------------------------------------------------+ class CLayerDescription : public CObject { public: CLayerDescription(void); ~CLayerDescription(void) {}; //--- int type; int count; int window; int step; //--- Batch-normalization layers only (defNeuronBatchNorm): the EMA window length over which the //--- running mean/variance are estimated. Ignored by every other layer type. Not folded into //--- `window`, which already means "input window width" for conv/pool and would read as a //--- completely different quantity here. int batch; ENUM_ACTIVATION activation; ENUM_OPTIMIZATION optimization; }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CLayerDescription::CLayerDescription(void) : type(defNeuron), count(0), window(1), step(1), batch(1), // 1 == normalization disabled; only batch-norm descriptors ever raise it activation(TANH), optimization(SGD) {}