\hypertarget{class_layer_1_1_full_connected_layer}{}\doxysection{Layer\+::Full\+Connected\+Layer Class Reference}
\label{class_layer_1_1_full_connected_layer}\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}


{\ttfamily \#include $<$full\+\_\+connected.\+hpp$>$}



Inheritance diagram for Layer\+::Full\+Connected\+Layer\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=226pt]{class_layer_1_1_full_connected_layer__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_layer_1_1_full_connected_layer_a265e6c89b93732e39aba1217de621302}{Full\+Connected\+Layer}} (size\+\_\+t \mbox{\hyperlink{class_layer_1_1_layer_a99d315d8bcc460de6feba4bdac77766c}{n}}, size\+\_\+t \mbox{\hyperlink{class_layer_1_1_layer_a8d294cb3fc3d2970a2895ad8298d2e4d}{m}})
\item 
\mbox{\hyperlink{class_layer_1_1_full_connected_layer_a1a79650aea9f1de1f7c3a6030d807723}{$\sim$\+Full\+Connected\+Layer}} ()
\item 
void \mbox{\hyperlink{class_layer_1_1_full_connected_layer_a799024d9ac46169f5db7340ad82f2780}{init\+\_\+standard}} ()
\item 
void \mbox{\hyperlink{class_layer_1_1_full_connected_layer_ab24beb65794ad9c7c5bda1fc1c85a65c}{init}} (\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}} mu, \mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}} sigma)
\item 
\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_full_connected_layer_aea3b894c5efa65676c877c48a66b65cd}{feed\+\_\+forward}} (\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_layer_af2ebcf019bc0e4b97f41fc9205706665}{x}}) override
\item 
void \mbox{\hyperlink{class_layer_1_1_full_connected_layer_afd7c08ff8b30bbfc217159188ef483c5}{init\+\_\+nabla}} () override
\item 
\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_full_connected_layer_a60219f302828bdf5ae4206b9a346627f}{back\+\_\+propagation}} (\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} e) override
\item 
void \mbox{\hyperlink{class_layer_1_1_full_connected_layer_ab07a441a9cfead787120daea7193bc63}{update}} (\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}} eta) override
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_full_connected_layer_a3d4deed201f2b7f49ec675768d504da6}{b}}
\item 
\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_full_connected_layer_a906537c209c6b2ba90e4f9df64ad7ba4}{w}}
\item 
\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_full_connected_layer_a5c919480d8e67974aa120b5fa9bdb20c}{nabla\+\_\+b}}
\item 
\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} \mbox{\hyperlink{class_layer_1_1_full_connected_layer_acb94cbdcb8f8477b196e123dd092deac}{nabla\+\_\+w}}
\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_a265e6c89b93732e39aba1217de621302}\label{class_layer_1_1_full_connected_layer_a265e6c89b93732e39aba1217de621302}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!FullConnectedLayer@{FullConnectedLayer}}
\index{FullConnectedLayer@{FullConnectedLayer}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{FullConnectedLayer()}{FullConnectedLayer()}}
{\footnotesize\ttfamily Layer\+::\+Full\+Connected\+Layer\+::\+Full\+Connected\+Layer (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{n,  }\item[{size\+\_\+t}]{m }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_a1a79650aea9f1de1f7c3a6030d807723}\label{class_layer_1_1_full_connected_layer_a1a79650aea9f1de1f7c3a6030d807723}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!````~FullConnectedLayer@{$\sim$FullConnectedLayer}}
\index{````~FullConnectedLayer@{$\sim$FullConnectedLayer}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{$\sim$FullConnectedLayer()}{~FullConnectedLayer()}}
{\footnotesize\ttfamily Layer\+::\+Full\+Connected\+Layer\+::$\sim$\+Full\+Connected\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_a60219f302828bdf5ae4206b9a346627f}\label{class_layer_1_1_full_connected_layer_a60219f302828bdf5ae4206b9a346627f}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!back\_propagation@{back\_propagation}}
\index{back\_propagation@{back\_propagation}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{back\_propagation()}{back\_propagation()}}
{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Full\+Connected\+Layer\+::back\+\_\+propagation (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}}}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

Apply back propagation algorithm on the delta output vector d. Used the input vector stored in x\+\_\+in\+\_\+ref during feedforward. Return a reference to the computed (and stored) input delta vector. Nabla vectors must be computed here. 

Implements \mbox{\hyperlink{class_layer_1_1_layer_ad9e2853fce56b014b1e9de5097e21dbd}{Layer\+::\+Layer}}.

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_aea3b894c5efa65676c877c48a66b65cd}\label{class_layer_1_1_full_connected_layer_aea3b894c5efa65676c877c48a66b65cd}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!feed\_forward@{feed\_forward}}
\index{feed\_forward@{feed\_forward}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{feed\_forward()}{feed\_forward()}}
{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Full\+Connected\+Layer\+::feed\+\_\+forward (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}}}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

Apply the layer to the input vector {\ttfamily x}. Vectors {\ttfamily x\+\_\+in\+\_\+ref} and {\ttfamily x\+\_\+out} must be updated in consequence. Return a reference to x\+\_\+out. 

Implements \mbox{\hyperlink{class_layer_1_1_layer_aeb5b92a01bc4e867d347bff4767e919f}{Layer\+::\+Layer}}.

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_ab24beb65794ad9c7c5bda1fc1c85a65c}\label{class_layer_1_1_full_connected_layer_ab24beb65794ad9c7c5bda1fc1c85a65c}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!init@{init}}
\index{init@{init}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{init()}{init()}}
{\footnotesize\ttfamily void Layer\+::\+Full\+Connected\+Layer\+::init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}}}]{mu,  }\item[{\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}}}]{sigma }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_afd7c08ff8b30bbfc217159188ef483c5}\label{class_layer_1_1_full_connected_layer_afd7c08ff8b30bbfc217159188ef483c5}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!init\_nabla@{init\_nabla}}
\index{init\_nabla@{init\_nabla}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{init\_nabla()}{init\_nabla()}}
{\footnotesize\ttfamily void Layer\+::\+Full\+Connected\+Layer\+::init\+\_\+nabla (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

Initialize nabla vectors which are used during gradient descent. 

Implements \mbox{\hyperlink{class_layer_1_1_layer_a87dbd5d1c1091769ba285084bd3513e7}{Layer\+::\+Layer}}.

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_a799024d9ac46169f5db7340ad82f2780}\label{class_layer_1_1_full_connected_layer_a799024d9ac46169f5db7340ad82f2780}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!init\_standard@{init\_standard}}
\index{init\_standard@{init\_standard}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{init\_standard()}{init\_standard()}}
{\footnotesize\ttfamily void Layer\+::\+Full\+Connected\+Layer\+::init\+\_\+standard (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_ab07a441a9cfead787120daea7193bc63}\label{class_layer_1_1_full_connected_layer_ab07a441a9cfead787120daea7193bc63}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!update@{update}}
\index{update@{update}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{update()}{update()}}
{\footnotesize\ttfamily void Layer\+::\+Full\+Connected\+Layer\+::update (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{vector_8hpp_a4b04262b81aa7d31eb5d2f607e2a35de}{Real}}}]{eta }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

Update layer parameters using gradient descent algorithm with learning rate eta. 

Implements \mbox{\hyperlink{class_layer_1_1_layer_a8f0801b946b94dfe856c57a632c9998f}{Layer\+::\+Layer}}.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_a3d4deed201f2b7f49ec675768d504da6}\label{class_layer_1_1_full_connected_layer_a3d4deed201f2b7f49ec675768d504da6}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!b@{b}}
\index{b@{b}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{b}{b}}
{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Full\+Connected\+Layer\+::b}

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_a5c919480d8e67974aa120b5fa9bdb20c}\label{class_layer_1_1_full_connected_layer_a5c919480d8e67974aa120b5fa9bdb20c}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!nabla\_b@{nabla\_b}}
\index{nabla\_b@{nabla\_b}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{nabla\_b}{nabla\_b}}
{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Full\+Connected\+Layer\+::nabla\+\_\+b}

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_acb94cbdcb8f8477b196e123dd092deac}\label{class_layer_1_1_full_connected_layer_acb94cbdcb8f8477b196e123dd092deac}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!nabla\_w@{nabla\_w}}
\index{nabla\_w@{nabla\_w}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{nabla\_w}{nabla\_w}}
{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Full\+Connected\+Layer\+::nabla\+\_\+w}

\mbox{\Hypertarget{class_layer_1_1_full_connected_layer_a906537c209c6b2ba90e4f9df64ad7ba4}\label{class_layer_1_1_full_connected_layer_a906537c209c6b2ba90e4f9df64ad7ba4}} 
\index{Layer::FullConnectedLayer@{Layer::FullConnectedLayer}!w@{w}}
\index{w@{w}!Layer::FullConnectedLayer@{Layer::FullConnectedLayer}}
\doxysubsubsection{\texorpdfstring{w}{w}}
{\footnotesize\ttfamily \mbox{\hyperlink{vector_8hpp_ab9855a300a7759f4c0f85067d44e4c38}{Vector}} Layer\+::\+Full\+Connected\+Layer\+::w}



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
src/layers/\mbox{\hyperlink{full__connected_8hpp}{full\+\_\+connected.\+hpp}}\item 
src/layers/\mbox{\hyperlink{full__connected_8cpp}{full\+\_\+connected.\+cpp}}\end{DoxyCompactItemize}
