Havuzlama
Uzamsal indirgeme ve gradyan dağılımı.
Doğrudan uygulamadaninclude/nexus_model/layers/pooling.hpp
01MaxPool2D#
MaxPool2D(kernel,stride=-1,padding=0). Negatif varsayılan stride kernel boyutuna dönüşür. Rank-4 NCHW girdi ister. İlk maksimum kazanır; ileri geçiş argmax saklar. Backward kazanan hücrelere scatter-add yapar.
MaxPool2D pool(2);auto x=Tensor::zeros({8,32,28,28});auto y=pool.forward(x); // [8,32,14,14]02AvgPool2D#
AvgPool2D(kernel,stride=-1,padding=0,count_include_pad=true). Payda varsayılan olarak dolgu hücrelerini içerir. false ise yalnız geçerli hücreler sayılır. Backward aynı payda ile gradyanı dağıtır, örtüşmeler toplanır.
03GlobalAvgPool2D#
GlobalAvgPool2D() her kanalın H×W ortalamasını alır. Çıktı doğrudan [N,C] şeklindedir; ek Flatten gerekmez. Her hücre 1/(HW) oranında gradyan alır.
◆Kaynak kodla birlikte okuyun. API davranışı mevcut uygulamayı esas alır.