\hypertarget{pooling_8hpp_source}{}\doxysection{pooling.\+hpp} \label{pooling_8hpp_source}\index{src/layers/pooling.hpp@{src/layers/pooling.hpp}} \mbox{\hyperlink{pooling_8hpp}{Go to the documentation of this file.}} \begin{DoxyCode}{0} \DoxyCodeLine{1 \textcolor{preprocessor}{\#ifndef POOLING\_LAYER\_HPP}} \DoxyCodeLine{2 \textcolor{preprocessor}{\#define POOLING\_LAYER\_HPP}} \DoxyCodeLine{3 } \DoxyCodeLine{4 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{layer_8hpp}{layer.hpp}}"{}}} \DoxyCodeLine{5 } \DoxyCodeLine{6 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespace_layer}{Layer}}\{} \DoxyCodeLine{7 } \DoxyCodeLine{8 \textcolor{keyword}{class }\mbox{\hyperlink{class_layer_1_1_pooling}{Pooling}}:\textcolor{keyword}{public} \mbox{\hyperlink{namespace_layer}{Layer}}\{} \DoxyCodeLine{9 \textcolor{keyword}{public}:} \DoxyCodeLine{10 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a39aaffa3c994629ae48acddd980debe0}{nf}};} \DoxyCodeLine{11 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_aa5039166bf8e18418f4173f778adc199}{ni}};} \DoxyCodeLine{12 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a2d3205efd40debac2409d505fdcc7ecc}{nj}};} \DoxyCodeLine{13 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a9fc1a9baf77fa32e25ccf74c088b45d5}{p}};} \DoxyCodeLine{14 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_ab0e8c8cc580e5fdc0f86437ee95b9d94}{q}};} \DoxyCodeLine{15 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a1360199bea24a84eba49c82fa7c85afa}{mi}};} \DoxyCodeLine{16 \textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a70a33709b8f2e3d623b2b7be016e0097}{mj}};} \DoxyCodeLine{17 \textcolor{keyword}{public}:} \DoxyCodeLine{18 \mbox{\hyperlink{class_layer_1_1_pooling_ae4782bcaa9306742b54d01d1f26c9837}{Pooling}}(\textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a39aaffa3c994629ae48acddd980debe0}{nf}},\textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_aa5039166bf8e18418f4173f778adc199}{ni}},\textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a2d3205efd40debac2409d505fdcc7ecc}{nj}},\textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_a9fc1a9baf77fa32e25ccf74c088b45d5}{p}},\textcolor{keywordtype}{size\_t} \mbox{\hyperlink{class_layer_1_1_pooling_ab0e8c8cc580e5fdc0f86437ee95b9d94}{q}});} \DoxyCodeLine{19 \mbox{\hyperlink{class_layer_1_1_pooling_adf15e44fc1480e17420808c15aa44067}{\string~Pooling}}()\{\};} \DoxyCodeLine{20 \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_pooling_a91e5d2cfd897d0f196de969909c92afc}{feed\_forward}}(\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_layer_af2ebcf019bc0e4b97f41fc9205706665}{x}}) \textcolor{keyword}{override};} \DoxyCodeLine{21 \textcolor{keywordtype}{void} \mbox{\hyperlink{class_layer_1_1_pooling_a5c59ea7b198d3e42e334051f7a6e4645}{init\_nabla}}()\textcolor{keyword}{ override }\{\};} \DoxyCodeLine{22 \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_pooling_a3dc9bb1a69d3d7c2f627da9d2b737ac2}{back\_propagation}}(\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} e) \textcolor{keyword}{override};} \DoxyCodeLine{23 \textcolor{keywordtype}{void} \mbox{\hyperlink{class_layer_1_1_pooling_ab04c4682d176b4bc760aee53c0ecc36a}{update}}(\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}})\textcolor{keyword}{ override }\{\};} \DoxyCodeLine{24 \};} \DoxyCodeLine{25 } \DoxyCodeLine{26 \textcolor{keyword}{inline}} \DoxyCodeLine{27 \mbox{\hyperlink{class_layer_1_1_pooling_ae4782bcaa9306742b54d01d1f26c9837}{Pooling::Pooling}}(\textcolor{keywordtype}{size\_t} nf\_,\textcolor{keywordtype}{size\_t} ni\_,\textcolor{keywordtype}{size\_t} nj\_,\textcolor{keywordtype}{size\_t} p\_,\textcolor{keywordtype}{size\_t} q\_):} \DoxyCodeLine{28 \mbox{\hyperlink{namespace_layer}{Layer}}(nf\_*ni\_*nj\_,nf\_*((ni\_+p\_-\/1)/p\_)*((nj\_+q\_-\/1)/q\_))\{} \DoxyCodeLine{29 \mbox{\hyperlink{class_layer_1_1_pooling_a39aaffa3c994629ae48acddd980debe0}{nf}}=nf\_;} \DoxyCodeLine{30 \mbox{\hyperlink{class_layer_1_1_pooling_aa5039166bf8e18418f4173f778adc199}{ni}}=ni\_;} \DoxyCodeLine{31 \mbox{\hyperlink{class_layer_1_1_pooling_a2d3205efd40debac2409d505fdcc7ecc}{nj}}=nj\_;} \DoxyCodeLine{32 \mbox{\hyperlink{class_layer_1_1_pooling_a9fc1a9baf77fa32e25ccf74c088b45d5}{p}}=p\_;} \DoxyCodeLine{33 \mbox{\hyperlink{class_layer_1_1_pooling_ab0e8c8cc580e5fdc0f86437ee95b9d94}{q}}=q\_;} \DoxyCodeLine{34 \mbox{\hyperlink{class_layer_1_1_pooling_a1360199bea24a84eba49c82fa7c85afa}{mi}}=(\mbox{\hyperlink{class_layer_1_1_pooling_aa5039166bf8e18418f4173f778adc199}{ni}}+\mbox{\hyperlink{class_layer_1_1_pooling_a9fc1a9baf77fa32e25ccf74c088b45d5}{p}}-\/1)/\mbox{\hyperlink{class_layer_1_1_pooling_a9fc1a9baf77fa32e25ccf74c088b45d5}{p}};} \DoxyCodeLine{35 \mbox{\hyperlink{class_layer_1_1_pooling_a70a33709b8f2e3d623b2b7be016e0097}{mj}}=(\mbox{\hyperlink{class_layer_1_1_pooling_a2d3205efd40debac2409d505fdcc7ecc}{nj}}+\mbox{\hyperlink{class_layer_1_1_pooling_ab0e8c8cc580e5fdc0f86437ee95b9d94}{q}}-\/1)/\mbox{\hyperlink{class_layer_1_1_pooling_a9fc1a9baf77fa32e25ccf74c088b45d5}{p}};} \DoxyCodeLine{36 \}} \DoxyCodeLine{37 } \DoxyCodeLine{38 \}} \DoxyCodeLine{39 } \DoxyCodeLine{40 \textcolor{preprocessor}{\#endif}} \end{DoxyCode}