\hypertarget{classnntrainer_1_1LayerNode}{}\doxysection{nntrainer\+::Layer\+Node Class Reference}
\label{classnntrainer_1_1LayerNode}\index{nntrainer::LayerNode@{nntrainer::LayerNode}}


layer node class for the graph  




Inheritance diagram for nntrainer\+::Layer\+Node\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=312pt]{classnntrainer_1_1LayerNode__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for nntrainer\+::Layer\+Node\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=312pt]{classnntrainer_1_1LayerNode__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025e}{Print\+Preset}} \{ \mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea7ff5f10ffb4ff6beae6009c653a6a4cc}{Print\+Preset\+::\+P\+R\+I\+N\+T\+\_\+\+N\+O\+NE}} = 0, 
\mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea99b2ca3f0c3a4604aeba6ec2cf8ec872}{Print\+Preset\+::\+P\+R\+I\+N\+T\+\_\+\+S\+U\+M\+M\+A\+RY}}, 
\mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025eab400e0fdb3c857a0948393a208366716}{Print\+Preset\+::\+P\+R\+I\+N\+T\+\_\+\+S\+U\+M\+M\+A\+R\+Y\+\_\+\+M\+E\+TA}}, 
\mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ead53b91fe09d1d5bf155c85a359a2ab00}{Print\+Preset\+::\+P\+R\+I\+N\+T\+\_\+\+A\+LL}}
 \}
\begin{DoxyCompactList}\small\item\em Preset modes for printing summary for the layer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classnntrainer_1_1LayerNode_ab5e96ff588f1e11a9bd3851b70aa0567}{Layer\+Node}} (std\+::unique\+\_\+ptr$<$ nntrainer\+::\+Layer $>$ \&\&l)
\begin{DoxyCompactList}\small\item\em Constructor of \mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} class for v2. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1LayerNode_aed4aee7e1eb0e75c68ece1c737b47f08}{$\sim$\+Layer\+Node}} ()
\begin{DoxyCompactList}\small\item\em Destructor of \mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} Class. \end{DoxyCompactList}\item 
const std\+::string \mbox{\hyperlink{classnntrainer_1_1LayerNode_a2f7a2561702e5b53d0448df6513adfd7}{get\+Type}} () const override
\begin{DoxyCompactList}\small\item\em Get the layer type. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a54679af174dc45f6f3b86ccafd380416}{set\+Property}} (const std\+::vector$<$ std\+::string $>$ \&properties) override
\begin{DoxyCompactList}\small\item\em set Property of layer \end{DoxyCompactList}\item 
const std\+::string \mbox{\hyperlink{classnntrainer_1_1LayerNode_a312720e157a2ebd34a72f9a4f3056123}{get\+Name}} () const noexcept override
\begin{DoxyCompactList}\small\item\em Get name of the layer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_ad1cfda38f90cf2e9379ce6b80232950e}{set\+Name}} (const std\+::string \&name) override
\begin{DoxyCompactList}\small\item\em set name of layer \end{DoxyCompactList}\item 
const unsigned \mbox{\hyperlink{classnntrainer_1_1LayerNode_a247c24273a712a57fdfeb944ec8b3cc7}{get\+Input\+Connection\+Index}} (unsigned nth) const
\begin{DoxyCompactList}\small\item\em Get the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Index object. \end{DoxyCompactList}\item 
const std\+::string \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a80d7bb9fb541ac5b44a76359db54b349}{get\+Input\+Connection\+Name}} (unsigned nth) const
\begin{DoxyCompactList}\small\item\em Get the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Name object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a12f2aaafa930f0095dd1889376badaf9}{set\+Input\+Connection\+Index}} (unsigned nth, unsigned index)
\begin{DoxyCompactList}\small\item\em Set the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Index object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a51438979e445eebc4df9d6bb669f3c3f}{set\+Input\+Connection\+Name}} (unsigned nth, const std\+::string \&name)
\begin{DoxyCompactList}\small\item\em Get the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Name object. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} $\ast$ \mbox{\hyperlink{classnntrainer_1_1LayerNode_af6ca9839b08503a7c4ac1417a26682a5}{get\+Output\+Connection}} (unsigned nth) const
\begin{DoxyCompactList}\small\item\em Get the output connection object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a740cdd13de04920dc38951092f2deb96}{set\+Output\+Connection}} (unsigned nth, const std\+::string \&name, unsigned index)
\begin{DoxyCompactList}\small\item\em Set the Output \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}}. \end{DoxyCompactList}\item 
const std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classnntrainer_1_1LayerNode_ac3c57446f20f813605d359968ac6f910}{get\+Input\+Connections}} () const override
\begin{DoxyCompactList}\small\item\em Get the input connections for this node. \end{DoxyCompactList}\item 
const std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classnntrainer_1_1LayerNode_a025aff0f6f36ed9aa70cf4bc7cf5dbd2}{get\+Output\+Connections}} () const override
\begin{DoxyCompactList}\small\item\em Get the output connections for this node. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1GraphNode_ae20fecb05f124a46d1907d13ed813a2f}{Execution\+Order}} \mbox{\hyperlink{classnntrainer_1_1LayerNode_ae760207d72e622b3f65baa6692809432}{get\+Execution\+Order}} () const override
\begin{DoxyCompactList}\small\item\em get the execution order/location of this node \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a7c3b58a138f4ea40aff3179e45fa0389}{set\+Execution\+Order}} (\mbox{\hyperlink{classnntrainer_1_1GraphNode_ae20fecb05f124a46d1907d13ed813a2f}{Execution\+Order}} exec\+\_\+order\+\_\+) override
\begin{DoxyCompactList}\small\item\em set the execution order/location of this node \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1InitLayerContext}{Init\+Layer\+Context}} \mbox{\hyperlink{classnntrainer_1_1LayerNode_a048c13a53fa77886579a5a1545c4e01a}{finalize}} (const std\+::vector$<$ Tensor\+Dim $>$ \&input\+\_\+dims=\{\})
\begin{DoxyCompactList}\small\item\em Finalize creating the layer node. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a96b04054a5229eb2be6d64b776952086}{forwarding}} (bool training=true)
\begin{DoxyCompactList}\small\item\em Forward Propagation of a layer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a697bfc0558493310fbbe772ea6eaa9dd}{calc\+Derivative}} ()
\begin{DoxyCompactList}\small\item\em calc the derivative to be passed to the previous layer \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a35f150ac9f7d32d0bfd7edb20bd508a2}{calc\+Gradient}} ()
\begin{DoxyCompactList}\small\item\em Calculate the derivative of a layer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_ad744ebdd1933b7a24b095d10f86a5580}{export\+To}} (\mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} \&exporter, const ml\+::train\+::\+Export\+Methods \&method) const
\begin{DoxyCompactList}\small\item\em this function helps exporting the layer in a predefined format, while workarounding issue caused by templated function type eraser \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a520c6ed124bf39dccdbf4e9b25729bf0}{set\+Batch}} (unsigned int batch)
\begin{DoxyCompactList}\small\item\em Set the batch for the layer. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_aad5435ba9ac0492a10d84e6a46ffb026}{support\+In\+Place}} () const
\begin{DoxyCompactList}\small\item\em If the current layer can support in-\/place. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a273d091fcd6f5dc3635081876d9ac8f7}{execute\+In\+Place}} (\mbox{\hyperlink{namespacenntrainer_ac07577ef715522b25f33e1ae1c2f317e}{In\+Place}} val)
\begin{DoxyCompactList}\small\item\em Notify that this layer will execute in-\/place. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacenntrainer_ac07577ef715522b25f33e1ae1c2f317e}{In\+Place}} \mbox{\hyperlink{classnntrainer_1_1LayerNode_a26b8e603fdc1e662a6823a0fef7509a5}{execute\+In\+Place}} () const
\begin{DoxyCompactList}\small\item\em Get if the layer is going to execute in-\/place. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_ace7ac7a103b69678f040aa18f60c3b60}{require\+Label}} () const
\begin{DoxyCompactList}\small\item\em check if this layer requires label to be passed \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_a1cde3afcea7b712fabad7beb8f899d18}{support\+Backwarding}} () const
\begin{DoxyCompactList}\small\item\em Get the trainable property of the underlying object. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_a7f793fc7f44e63ec5d0bd67667abb174}{get\+Trainable}} () const
\begin{DoxyCompactList}\small\item\em Get the trainable property of the underlying object. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_a290f8f44a100427b6c023d9657869672}{get\+Flatten}} () const
\begin{DoxyCompactList}\small\item\em get if the output of this layer must be flatten \end{DoxyCompactList}\item 
std\+::string \mbox{\hyperlink{classnntrainer_1_1LayerNode_a8d575d97c518fd2abe44f64b2da5ea3c}{get\+Shared\+From}} () const
\begin{DoxyCompactList}\small\item\em Get the Shared From property of the layer node. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_a431a6fa8ea88fcb9202b70cc6e120137}{get\+Distribute}} () const
\begin{DoxyCompactList}\small\item\em get distribute for this layer \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacenntrainer_af6fe83a41736854a9c83e880f34f8210}{Activation\+Type}} \mbox{\hyperlink{classnntrainer_1_1LayerNode_a5e386a089ab888d4080af0e2258b94c4}{get\+Activation\+To\+Be\+Realized}} () const
\begin{DoxyCompactList}\small\item\em get activation for this layer \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacenntrainer_af6fe83a41736854a9c83e880f34f8210}{Activation\+Type}} \mbox{\hyperlink{classnntrainer_1_1LayerNode_aadaaaca730b7d760336f3b98d69ea39c}{get\+Activation\+Type}} () const
\begin{DoxyCompactList}\small\item\em Activation Type Getter. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{classnntrainer_1_1LayerNode_a43954934346fab3e2f5c56b864dee8a8}{get\+Num\+Input\+Connections}} () const
\begin{DoxyCompactList}\small\item\em Get number of input connections. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{classnntrainer_1_1LayerNode_aeb33b07a9441e0b9d932404b96ad7fb6}{get\+Num\+Output\+Connections}} () const
\begin{DoxyCompactList}\small\item\em Get number of output connections. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{classnntrainer_1_1LayerNode_a9bdb3aebe67946ea556425ce4a04af15}{get\+Num\+Inputs}} () const
\begin{DoxyCompactList}\small\item\em Get number of inputs. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{classnntrainer_1_1LayerNode_aa3915f33692a87a52ea39297ae6e118f}{get\+Num\+Outputs}} () const
\begin{DoxyCompactList}\small\item\em Get number of outputs. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{classnntrainer_1_1LayerNode_ac831b42235bb44c515614534c402a7c1}{get\+Num\+Weights}} () const
\begin{DoxyCompactList}\small\item\em Get the number of weights. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_aa45c5e6f933dc0bf448c494fa6812472}{set\+Output\+Layers}} (const std\+::vector$<$ std\+::string $>$ \&layers)
\begin{DoxyCompactList}\small\item\em Set the Output Layers object. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_a2bed2970e05a5a7a99453fc73f5f0238}{has\+Input\+Shape\+Property}} () const
\begin{DoxyCompactList}\small\item\em check if input shape property is set \end{DoxyCompactList}\item 
const std\+::vector$<$ Tensor\+Dim $>$ \mbox{\hyperlink{classnntrainer_1_1LayerNode_a1afaab0f4d1ab4b612342291d42ac587}{get\+Input\+Dimensions}} () const
\begin{DoxyCompactList}\small\item\em Get the input dimension. \end{DoxyCompactList}\item 
const std\+::vector$<$ Tensor\+Dim $>$ \mbox{\hyperlink{classnntrainer_1_1LayerNode_af6687f9d108307f45b676ca30fe56439}{get\+Output\+Dimensions}} () const
\begin{DoxyCompactList}\small\item\em Get the output dimension. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} \mbox{\hyperlink{classnntrainer_1_1LayerNode_a02bfa0b0c979c729b92dd255418ac385}{get\+Weight\+Wrapper}} (unsigned int idx)
\begin{DoxyCompactList}\small\item\em Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a0f2c144f2d75f281c5dba261dc4c1435}{get\+Weight\+Object}} (unsigned int idx)
\begin{DoxyCompactList}\small\item\em Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} object. \end{DoxyCompactList}\item 
Tensor \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_aaf3c45f751d6aa8f789a15fb4e7c56a3}{get\+Weight}} (unsigned int idx)
\begin{DoxyCompactList}\small\item\em Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} tensor object. \end{DoxyCompactList}\item 
Tensor \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a3e1a3f472c7003a001175e96c36b7d67}{get\+Weight\+Grad}} (unsigned int idx)
\begin{DoxyCompactList}\small\item\em Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} Gradient tensor object. \end{DoxyCompactList}\item 
const std\+::string \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a74512e3d49a4a734c969603ff76d9c8a}{get\+Weight\+Name}} (unsigned int idx) override
\begin{DoxyCompactList}\small\item\em Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} object name. \end{DoxyCompactList}\item 
const std\+::vector$<$ float $\ast$ $>$ \mbox{\hyperlink{classnntrainer_1_1LayerNode_a1d65747eadedb309cd2f6e7e70aae29d}{get\+Weights}} () override
\begin{DoxyCompactList}\small\item\em Get weight data of the layer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a00b23bf2427c0341907731f2401f0849}{get\+Weights}} (std\+::vector$<$ float $\ast$ $>$ \&weights, std\+::vector$<$ Tensor\+Dim $>$ \&weight\+\_\+dim) override
\begin{DoxyCompactList}\small\item\em Get weight data of the layer. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_acaf7000e65761c3ac5e933e2d330aa5f}{set\+Weights}} (const std\+::vector$<$ float $\ast$ $>$ weights) override
\begin{DoxyCompactList}\small\item\em Set weight data of the layer. \end{DoxyCompactList}\item 
Tensor \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a5bf1909ae3bcd83747e30acda3d5e579}{get\+Input}} (unsigned int idx)
\begin{DoxyCompactList}\small\item\em Get the Input tensor object. \end{DoxyCompactList}\item 
Tensor \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_af5ddafd86de00330fc0103bc6a4f9a27}{get\+Input\+Grad}} (unsigned int idx)
\begin{DoxyCompactList}\small\item\em Get the Input Grad tensor object. \end{DoxyCompactList}\item 
Tensor \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_ac6b7689a052191a87a9c18719ac9a756}{get\+Output}} (unsigned int idx)
\begin{DoxyCompactList}\small\item\em Get the Output tensor object. \end{DoxyCompactList}\item 
const Tensor \mbox{\hyperlink{classnntrainer_1_1LayerNode_aed99ab3bfbbbdbc2e0353e0e8f1a4917}{get\+Output\+Grad}} (unsigned int idx) const
\begin{DoxyCompactList}\small\item\em Get the Output Grad tensor object. \end{DoxyCompactList}\item 
const Tensor \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a776d6d3f873ceb03ecd758061076a348}{get\+Output\+Grad\+Unsafe}} (unsigned int idx) const
\begin{DoxyCompactList}\small\item\em Get the Output Grad unsafe. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_af3aa13366f01d9d17dd3bf6ab69a491f}{read}} (std\+::ifstream \&file, bool opt\+\_\+var=false)
\begin{DoxyCompactList}\small\item\em read layer \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} \& Bias data from file \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_aaf3bf74f91f484455bdda40674b5f148}{save}} (std\+::ofstream \&file, bool opt\+\_\+var=false) const
\begin{DoxyCompactList}\small\item\em save layer \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} \& Bias data from file \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a84d44e3a544b67c18cab08e7967b7c4d}{clear\+Opt\+Var}} ()
\begin{DoxyCompactList}\small\item\em clear optimizer variable to initial state \end{DoxyCompactList}\item 
float \mbox{\hyperlink{classnntrainer_1_1LayerNode_ab779b7bd5513c64928cfc6feb51e7eec}{get\+Loss}} () const
\begin{DoxyCompactList}\small\item\em get loss for the layer \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a90c10eee945372b39913517aaf526a3a}{get\+Run\+Context}} ()
\begin{DoxyCompactList}\small\item\em Get run layer context. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_ada5443723cfcf910b27525b731fefb6a}{get\+Run\+Context}} () const
\begin{DoxyCompactList}\small\item\em Get run layer context. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_a111bf9e14f12df3eb2c8ec703bf4689a}{is\+Finalized}} () const
\begin{DoxyCompactList}\small\item\em check if layer is finalized \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_ae3ba15c5713f4e6e04ed15750b4bb473}{configure\+Run\+Context}} (const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} $\ast$ $>$ \&weights, const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Var__Grad}{Var\+\_\+\+Grad}} $\ast$ $>$ \&inputs, const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Var__Grad}{Var\+\_\+\+Grad}} $\ast$ $>$ \&outputs, const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Var__Grad}{Var\+\_\+\+Grad}} $\ast$ $>$ \&tensors)
\begin{DoxyCompactList}\small\item\em Set the Run Context object with given tensor packs. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_ade7c52ef7ff87066b15d03223acf0700}{print\+Preset}} (std\+::ostream \&out, \mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025e}{Print\+Preset}} preset=\mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea99b2ca3f0c3a4604aeba6ec2cf8ec872}{Print\+Preset\+::\+P\+R\+I\+N\+T\+\_\+\+S\+U\+M\+M\+A\+RY}})
\begin{DoxyCompactList}\small\item\em print using Print\+Preset \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a9f4f1a2c3298e88cee035d1d541cba9c}{remap\+Identifiers}} (std\+::function$<$ void(std\+::string \&)$>$ remap\+\_\+fn)
\begin{DoxyCompactList}\small\item\em remap identifier inside layer node \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_ac992fc27047ce0029acbff48bb409f77}{remap\+Connections}} (std\+::function$<$ void(std\+::string \&, unsigned \&)$>$ remap\+\_\+fn)
\begin{DoxyCompactList}\small\item\em remap connections(input, output layers ) inside layer node \end{DoxyCompactList}\item 
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} $>$ \mbox{\hyperlink{classnntrainer_1_1LayerNode_a91db473e6441e80a9d3e0f4200441aa7}{clone\+Configuration}} ()
\begin{DoxyCompactList}\small\item\em create the same node with same properties and types \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a2285aa6566b8648bf83b0b40bce47fce}{needs\+Calc\+Derivative}} (bool nb)
\begin{DoxyCompactList}\small\item\em Set if the layer needs to do derivative calculation. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1LayerNode_a732ba76199cdc6474e859763f63cea73}{needs\+Calc\+Gradient}} (bool nb)
\begin{DoxyCompactList}\small\item\em Set if the layer needs to do calculation of gradients. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_ab9cf471a48f1a588f0a3c479d76954ee}{needs\+Calc\+Derivative}} ()
\begin{DoxyCompactList}\small\item\em Get the layer needs to do calculation of derivatives. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classnntrainer_1_1LayerNode_a87046bf2d4a267844cb3024d59701988}{needs\+Calc\+Gradient}} ()
\begin{DoxyCompactList}\small\item\em Set if the layer needs to do calculation of gradient. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a7ec6e078c8a8bca4835b360a6f7d7fab}\label{classnntrainer_1_1LayerNode_a7ec6e078c8a8bca4835b360a6f7d7fab}} 
std\+::ostream \& \mbox{\hyperlink{classnntrainer_1_1LayerNode_a7ec6e078c8a8bca4835b360a6f7d7fab}{operator$<$$<$}} (std\+::ostream \&out, const \mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} \&l)
\begin{DoxyCompactList}\small\item\em Overriding output stream for layers and it\textquotesingle{}s derived class. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
layer node class for the graph 

Definition at line 71 of file layer\+\_\+node.\+h.



\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025e}\label{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025e}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!PrintPreset@{PrintPreset}}
\index{PrintPreset@{PrintPreset}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{PrintPreset}{PrintPreset}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025e}{nntrainer\+::\+Layer\+Node\+::\+Print\+Preset}}\hspace{0.3cm}{\ttfamily [strong]}}



Preset modes for printing summary for the layer. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{PRINT\_NONE@{PRINT\_NONE}!nntrainer::LayerNode@{nntrainer::LayerNode}}\index{nntrainer::LayerNode@{nntrainer::LayerNode}!PRINT\_NONE@{PRINT\_NONE}}}\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea7ff5f10ffb4ff6beae6009c653a6a4cc}\label{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea7ff5f10ffb4ff6beae6009c653a6a4cc}} 
P\+R\+I\+N\+T\+\_\+\+N\+O\+NE&Print nothing \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PRINT\_SUMMARY@{PRINT\_SUMMARY}!nntrainer::LayerNode@{nntrainer::LayerNode}}\index{nntrainer::LayerNode@{nntrainer::LayerNode}!PRINT\_SUMMARY@{PRINT\_SUMMARY}}}\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea99b2ca3f0c3a4604aeba6ec2cf8ec872}\label{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea99b2ca3f0c3a4604aeba6ec2cf8ec872}} 
P\+R\+I\+N\+T\+\_\+\+S\+U\+M\+M\+A\+RY&Print preset including summary information \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PRINT\_SUMMARY\_META@{PRINT\_SUMMARY\_META}!nntrainer::LayerNode@{nntrainer::LayerNode}}\index{nntrainer::LayerNode@{nntrainer::LayerNode}!PRINT\_SUMMARY\_META@{PRINT\_SUMMARY\_META}}}\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025eab400e0fdb3c857a0948393a208366716}\label{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025eab400e0fdb3c857a0948393a208366716}} 
P\+R\+I\+N\+T\+\_\+\+S\+U\+M\+M\+A\+R\+Y\+\_\+\+M\+E\+TA&Print summary preset that includes meta information \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PRINT\_ALL@{PRINT\_ALL}!nntrainer::LayerNode@{nntrainer::LayerNode}}\index{nntrainer::LayerNode@{nntrainer::LayerNode}!PRINT\_ALL@{PRINT\_ALL}}}\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ead53b91fe09d1d5bf155c85a359a2ab00}\label{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ead53b91fe09d1d5bf155c85a359a2ab00}} 
P\+R\+I\+N\+T\+\_\+\+A\+LL&Print everything possible \\
\hline

\end{DoxyEnumFields}


Definition at line 730 of file layer\+\_\+node.\+h.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ab5e96ff588f1e11a9bd3851b70aa0567}\label{classnntrainer_1_1LayerNode_ab5e96ff588f1e11a9bd3851b70aa0567}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!LayerNode@{LayerNode}}
\index{LayerNode@{LayerNode}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{LayerNode()}{LayerNode()}}
{\footnotesize\ttfamily nntrainer\+::\+Layer\+Node\+::\+Layer\+Node (\begin{DoxyParamCaption}\item[{std\+::unique\+\_\+ptr$<$ nntrainer\+::\+Layer $>$ \&\&}]{l }\end{DoxyParamCaption})}



Constructor of \mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} class for v2. 


\begin{DoxyParams}{Parameters}
{\em l} & layer to wrap with, the ownership is transferred to layer node \\
\hline
\end{DoxyParams}


Definition at line 159 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aed4aee7e1eb0e75c68ece1c737b47f08}\label{classnntrainer_1_1LayerNode_aed4aee7e1eb0e75c68ece1c737b47f08}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!````~LayerNode@{$\sim$LayerNode}}
\index{````~LayerNode@{$\sim$LayerNode}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{$\sim$LayerNode()}{~LayerNode()}}
{\footnotesize\ttfamily nntrainer\+::\+Layer\+Node\+::$\sim$\+Layer\+Node (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}



Destructor of \mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} Class. 

Destroy the \mbox{\hyperlink{classLayer}{Layer}} Node object.

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a697bfc0558493310fbbe772ea6eaa9dd}\label{classnntrainer_1_1LayerNode_a697bfc0558493310fbbe772ea6eaa9dd}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!calcDerivative@{calcDerivative}}
\index{calcDerivative@{calcDerivative}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{calcDerivative()}{calcDerivative()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::calc\+Derivative (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



calc the derivative to be passed to the previous layer 

context provides access to the weights (if any), inputs, outputs, and tensors (if any) for the layer. Input and output dimensions can be access from the inputs/outputs tensors themselves. 

Definition at line 618 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a35f150ac9f7d32d0bfd7edb20bd508a2}\label{classnntrainer_1_1LayerNode_a35f150ac9f7d32d0bfd7edb20bd508a2}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!calcGradient@{calcGradient}}
\index{calcGradient@{calcGradient}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{calcGradient()}{calcGradient()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::calc\+Gradient (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Calculate the derivative of a layer. 

context provides access to the weights (if any), inputs, outputs, and tensors (if any) for the layer. Input and output dimensions can be access from the inputs/outputs tensors themselves. 

Definition at line 636 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a84d44e3a544b67c18cab08e7967b7c4d}\label{classnntrainer_1_1LayerNode_a84d44e3a544b67c18cab08e7967b7c4d}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!clearOptVar@{clearOptVar}}
\index{clearOptVar@{clearOptVar}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{clearOptVar()}{clearOptVar()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::clear\+Opt\+Var (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



clear optimizer variable to initial state 

\begin{DoxyNote}{Note}
read optimizer variables
\end{DoxyNote}


Definition at line 483 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a91db473e6441e80a9d3e0f4200441aa7}\label{classnntrainer_1_1LayerNode_a91db473e6441e80a9d3e0f4200441aa7}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!cloneConfiguration@{cloneConfiguration}}
\index{cloneConfiguration@{cloneConfiguration}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{cloneConfiguration()}{cloneConfiguration()}}
{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} $>$ nntrainer\+::\+Layer\+Node\+::clone\+Configuration (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



create the same node with same properties and types 

\begin{DoxyNote}{Note}
this must be done before \mbox{\hyperlink{classnntrainer_1_1LayerNode_a048c13a53fa77886579a5a1545c4e01a}{finalize()}} as finalize has some potential to change some properties 
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1LayerNode}{Layer\+Node}} newly created node 
\end{DoxyReturn}


Definition at line 776 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ae3ba15c5713f4e6e04ed15750b4bb473}\label{classnntrainer_1_1LayerNode_ae3ba15c5713f4e6e04ed15750b4bb473}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!configureRunContext@{configureRunContext}}
\index{configureRunContext@{configureRunContext}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{configureRunContext()}{configureRunContext()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::configure\+Run\+Context (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} $\ast$ $>$ \&}]{weights,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Var__Grad}{Var\+\_\+\+Grad}} $\ast$ $>$ \&}]{inputs,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Var__Grad}{Var\+\_\+\+Grad}} $\ast$ $>$ \&}]{outputs,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{classnntrainer_1_1Var__Grad}{Var\+\_\+\+Grad}} $\ast$ $>$ \&}]{tensors }\end{DoxyParamCaption})}



Set the Run Context object with given tensor packs. 


\begin{DoxyParams}{Parameters}
{\em weights} & weights \\
\hline
{\em inputs} & inputs \\
\hline
{\em outputs} & outputs \\
\hline
{\em tensors} & tensors \\
\hline
\end{DoxyParams}


Definition at line 688 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a26b8e603fdc1e662a6823a0fef7509a5}\label{classnntrainer_1_1LayerNode_a26b8e603fdc1e662a6823a0fef7509a5}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!executeInPlace@{executeInPlace}}
\index{executeInPlace@{executeInPlace}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{executeInPlace()}{executeInPlace()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacenntrainer_ac07577ef715522b25f33e1ae1c2f317e}{In\+Place}} nntrainer\+::\+Layer\+Node\+::execute\+In\+Place (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get if the layer is going to execute in-\/place. 

\begin{DoxyReturn}{Returns}
In\+Place type for the layer 
\end{DoxyReturn}


Definition at line 315 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a273d091fcd6f5dc3635081876d9ac8f7}\label{classnntrainer_1_1LayerNode_a273d091fcd6f5dc3635081876d9ac8f7}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!executeInPlace@{executeInPlace}}
\index{executeInPlace@{executeInPlace}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{executeInPlace()}{executeInPlace()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::execute\+In\+Place (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacenntrainer_ac07577ef715522b25f33e1ae1c2f317e}{In\+Place}}}]{val }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Notify that this layer will execute in-\/place. 


\begin{DoxyParams}{Parameters}
{\em val} & in place state for the layer \\
\hline
\end{DoxyParams}


Definition at line 303 of file layer\+\_\+node.\+h.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a273d091fcd6f5dc3635081876d9ac8f7_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ad744ebdd1933b7a24b095d10f86a5580}\label{classnntrainer_1_1LayerNode_ad744ebdd1933b7a24b095d10f86a5580}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!exportTo@{exportTo}}
\index{exportTo@{exportTo}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{exportTo()}{exportTo()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::export\+To (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} \&}]{exporter,  }\item[{const ml\+::train\+::\+Export\+Methods \&}]{method }\end{DoxyParamCaption}) const}



this function helps exporting the layer in a predefined format, while workarounding issue caused by templated function type eraser 


\begin{DoxyParams}{Parameters}
{\em exporter} & exporter that contains exporting logic \\
\hline
{\em method} & enum value to identify how it should be exported to \\
\hline
\end{DoxyParams}


Definition at line 429 of file layer\+\_\+node.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_ad744ebdd1933b7a24b095d10f86a5580_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a048c13a53fa77886579a5a1545c4e01a}\label{classnntrainer_1_1LayerNode_a048c13a53fa77886579a5a1545c4e01a}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!finalize@{finalize}}
\index{finalize@{finalize}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{finalize()}{finalize()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classnntrainer_1_1InitLayerContext}{Init\+Layer\+Context}} nntrainer\+::\+Layer\+Node\+::finalize (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ Tensor\+Dim $>$ \&}]{input\+\_\+dims = {\ttfamily \{\}} }\end{DoxyParamCaption})}



Finalize creating the layer node. 

Support all the interface requirements by nntrainer\+::\+Layer 
\begin{DoxyParams}{Parameters}
{\em input\+\_\+dims} & input dimension provided to be used to set output dimensions. if empty function This function must set output dimensions in the given context. Further, context can be used to request weights for the layer, and any extra tensor required for the operation of the layer. \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
After calling this it is not allowed to change properties. 

No memory allocation must be performed in the initialization step. Any tensor memory required must be requested to the context which will be made available during execution of the layer with the context. 

\mbox{\hyperlink{classnntrainer_1_1LayerNode_ae3ba15c5713f4e6e04ed15750b4bb473}{configure\+Run\+Context()}} is expected to called right after this. 
\end{DoxyNote}
prepare input dimensions

if prop\+\_\+dims exist, check if it\textquotesingle{}s same with given input\+\_\+dims

arguably, below check can go away

manipulate layers if required

as we are using output Grad to save label, add fake out info if it\textquotesingle{}s label. This should be substituted to the proper label management

Definition at line 499 of file layer\+\_\+node.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a048c13a53fa77886579a5a1545c4e01a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a96b04054a5229eb2be6d64b776952086}\label{classnntrainer_1_1LayerNode_a96b04054a5229eb2be6d64b776952086}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!forwarding@{forwarding}}
\index{forwarding@{forwarding}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{forwarding()}{forwarding()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::forwarding (\begin{DoxyParamCaption}\item[{bool}]{training = {\ttfamily true} }\end{DoxyParamCaption})}



Forward Propagation of a layer. 


\begin{DoxyParams}{Parameters}
{\em training} & true if training, false if inference\\
\hline
\end{DoxyParams}
context provides access to the weights (if any), inputs, outputs, and tensors (if any) for the layer. Input and output dimensions can be access from the inputs/outputs tensors themselves. add loss only for loss layers

Definition at line 596 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a5e386a089ab888d4080af0e2258b94c4}\label{classnntrainer_1_1LayerNode_a5e386a089ab888d4080af0e2258b94c4}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getActivationToBeRealized@{getActivationToBeRealized}}
\index{getActivationToBeRealized@{getActivationToBeRealized}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getActivationToBeRealized()}{getActivationToBeRealized()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacenntrainer_af6fe83a41736854a9c83e880f34f8210}{Activation\+Type}} nntrainer\+::\+Layer\+Node\+::get\+Activation\+To\+Be\+Realized (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



get activation for this layer 


\begin{DoxyRetVals}{Return values}
{\em dist} & to enable/disable distribute \\
\hline
\end{DoxyRetVals}


Definition at line 328 of file layer\+\_\+node.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a5e386a089ab888d4080af0e2258b94c4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aadaaaca730b7d760336f3b98d69ea39c}\label{classnntrainer_1_1LayerNode_aadaaaca730b7d760336f3b98d69ea39c}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getActivationType@{getActivationType}}
\index{getActivationType@{getActivationType}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getActivationType()}{getActivationType()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacenntrainer_af6fe83a41736854a9c83e880f34f8210}{Activation\+Type}} nntrainer\+::\+Layer\+Node\+::get\+Activation\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Activation Type Getter. 


\begin{DoxyRetVals}{Return values}
{\em Activation} & Type. \\
\hline
\end{DoxyRetVals}


Definition at line 284 of file layer\+\_\+node.\+cpp.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_aadaaaca730b7d760336f3b98d69ea39c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a431a6fa8ea88fcb9202b70cc6e120137}\label{classnntrainer_1_1LayerNode_a431a6fa8ea88fcb9202b70cc6e120137}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getDistribute@{getDistribute}}
\index{getDistribute@{getDistribute}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getDistribute()}{getDistribute()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::get\+Distribute (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



get distribute for this layer 


\begin{DoxyRetVals}{Return values}
{\em dist} & to enable/disable distribute \\
\hline
\end{DoxyRetVals}


Definition at line 362 of file layer\+\_\+node.\+cpp.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a431a6fa8ea88fcb9202b70cc6e120137_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ae760207d72e622b3f65baa6692809432}\label{classnntrainer_1_1LayerNode_ae760207d72e622b3f65baa6692809432}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getExecutionOrder@{getExecutionOrder}}
\index{getExecutionOrder@{getExecutionOrder}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getExecutionOrder()}{getExecutionOrder()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classnntrainer_1_1GraphNode_ae20fecb05f124a46d1907d13ed813a2f}{Execution\+Order}} nntrainer\+::\+Layer\+Node\+::get\+Execution\+Order (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}



get the execution order/location of this node 


\begin{DoxyRetVals}{Return values}
{\em the} & execution order/location of this node \\
\hline
\end{DoxyRetVals}


Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_a693dde0ffe36cd0b152f2a67745005a8}{nntrainer\+::\+Graph\+Node}}.



Definition at line 217 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a290f8f44a100427b6c023d9657869672}\label{classnntrainer_1_1LayerNode_a290f8f44a100427b6c023d9657869672}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getFlatten@{getFlatten}}
\index{getFlatten@{getFlatten}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getFlatten()}{getFlatten()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::get\+Flatten (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



get if the output of this layer must be flatten 


\begin{DoxyRetVals}{Return values}
{\em flatten} & value \\
\hline
\end{DoxyRetVals}


Definition at line 349 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a5bf1909ae3bcd83747e30acda3d5e579}\label{classnntrainer_1_1LayerNode_a5bf1909ae3bcd83747e30acda3d5e579}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getInput@{getInput}}
\index{getInput@{getInput}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getInput()}{getInput()}}
{\footnotesize\ttfamily Tensor\& nntrainer\+::\+Layer\+Node\+::get\+Input (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the Input tensor object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the input \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the input grad tensor 
\end{DoxyReturn}


Definition at line 567 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a247c24273a712a57fdfeb944ec8b3cc7}\label{classnntrainer_1_1LayerNode_a247c24273a712a57fdfeb944ec8b3cc7}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getInputConnectionIndex@{getInputConnectionIndex}}
\index{getInputConnectionIndex@{getInputConnectionIndex}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getInputConnectionIndex()}{getInputConnectionIndex()}}
{\footnotesize\ttfamily const unsigned nntrainer\+::\+Layer\+Node\+::get\+Input\+Connection\+Index (\begin{DoxyParamCaption}\item[{unsigned}]{nth }\end{DoxyParamCaption}) const}



Get the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Index object. 


\begin{DoxyParams}{Parameters}
{\em nth} & nth input \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em if} & nth is out of range of get\+Num\+Input\+Connection() \\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
const unsigned index 
\end{DoxyReturn}


Definition at line 207 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a80d7bb9fb541ac5b44a76359db54b349}\label{classnntrainer_1_1LayerNode_a80d7bb9fb541ac5b44a76359db54b349}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getInputConnectionName@{getInputConnectionName}}
\index{getInputConnectionName@{getInputConnectionName}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getInputConnectionName()}{getInputConnectionName()}}
{\footnotesize\ttfamily const std\+::string \& nntrainer\+::\+Layer\+Node\+::get\+Input\+Connection\+Name (\begin{DoxyParamCaption}\item[{unsigned}]{nth }\end{DoxyParamCaption}) const}



Get the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Name object. 


\begin{DoxyParams}{Parameters}
{\em nth} & nth input \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em if} & nth is out of range of get\+Num\+Input\+Connection() \\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
const std\+::string\& name 
\end{DoxyReturn}


Definition at line 213 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ac3c57446f20f813605d359968ac6f910}\label{classnntrainer_1_1LayerNode_ac3c57446f20f813605d359968ac6f910}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getInputConnections@{getInputConnections}}
\index{getInputConnections@{getInputConnections}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getInputConnections()}{getInputConnections()}}
{\footnotesize\ttfamily const std\+::vector$<$std\+::string$>$ nntrainer\+::\+Layer\+Node\+::get\+Input\+Connections (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}



Get the input connections for this node. 

\begin{DoxyReturn}{Returns}
list of name of the nodes which form input connections 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_ae73d59b4720ed203de106076db6d3b00}{nntrainer\+::\+Graph\+Node}}.



Definition at line 199 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a1afaab0f4d1ab4b612342291d42ac587}\label{classnntrainer_1_1LayerNode_a1afaab0f4d1ab4b612342291d42ac587}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getInputDimensions@{getInputDimensions}}
\index{getInputDimensions@{getInputDimensions}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getInputDimensions()}{getInputDimensions()}}
{\footnotesize\ttfamily const std\+::vector$<$ Tensor\+Dim $>$ nntrainer\+::\+Layer\+Node\+::get\+Input\+Dimensions (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get the input dimension. 

\begin{DoxyReturn}{Returns}
Tensor\+Dim dimension of the input 
\end{DoxyReturn}


Definition at line 401 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_af5ddafd86de00330fc0103bc6a4f9a27}\label{classnntrainer_1_1LayerNode_af5ddafd86de00330fc0103bc6a4f9a27}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getInputGrad@{getInputGrad}}
\index{getInputGrad@{getInputGrad}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getInputGrad()}{getInputGrad()}}
{\footnotesize\ttfamily Tensor\& nntrainer\+::\+Layer\+Node\+::get\+Input\+Grad (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the Input Grad tensor object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the input \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the input grad tensor 
\end{DoxyReturn}


Definition at line 579 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ab779b7bd5513c64928cfc6feb51e7eec}\label{classnntrainer_1_1LayerNode_ab779b7bd5513c64928cfc6feb51e7eec}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getLoss@{getLoss}}
\index{getLoss@{getLoss}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getLoss()}{getLoss()}}
{\footnotesize\ttfamily float nntrainer\+::\+Layer\+Node\+::get\+Loss (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



get loss for the layer 

\begin{DoxyReturn}{Returns}
loss of the layer 
\end{DoxyReturn}


Definition at line 686 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a312720e157a2ebd34a72f9a4f3056123}\label{classnntrainer_1_1LayerNode_a312720e157a2ebd34a72f9a4f3056123}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getName@{getName}}
\index{getName@{getName}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getName()}{getName()}}
{\footnotesize\ttfamily const std\+::string nntrainer\+::\+Layer\+Node\+::get\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [noexcept]}}



Get name of the layer. 


\begin{DoxyRetVals}{Return values}
{\em name} & of the layer \\
\hline
\end{DoxyRetVals}
\begin{DoxyNote}{Note}
This name is unique to this layer in a model 

This name might be changed once this layer is added to the model to keep the name unique to the model 
\end{DoxyNote}


Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_a6e94faf928520e8a2e8f77050b6fdb3a}{nntrainer\+::\+Graph\+Node}}.



Definition at line 250 of file layer\+\_\+node.\+cpp.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a312720e157a2ebd34a72f9a4f3056123_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a43954934346fab3e2f5c56b864dee8a8}\label{classnntrainer_1_1LayerNode_a43954934346fab3e2f5c56b864dee8a8}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getNumInputConnections@{getNumInputConnections}}
\index{getNumInputConnections@{getNumInputConnections}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getNumInputConnections()}{getNumInputConnections()}}
{\footnotesize\ttfamily unsigned int nntrainer\+::\+Layer\+Node\+::get\+Num\+Input\+Connections (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get number of input connections. 


\begin{DoxyRetVals}{Return values}
{\em number} & of inputs \\
\hline
\end{DoxyRetVals}


Definition at line 293 of file layer\+\_\+node.\+cpp.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a43954934346fab3e2f5c56b864dee8a8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a9bdb3aebe67946ea556425ce4a04af15}\label{classnntrainer_1_1LayerNode_a9bdb3aebe67946ea556425ce4a04af15}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getNumInputs@{getNumInputs}}
\index{getNumInputs@{getNumInputs}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getNumInputs()}{getNumInputs()}}
{\footnotesize\ttfamily unsigned int nntrainer\+::\+Layer\+Node\+::get\+Num\+Inputs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get number of inputs. 


\begin{DoxyRetVals}{Return values}
{\em number} & of inputs \\
\hline
\end{DoxyRetVals}


Definition at line 395 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aeb33b07a9441e0b9d932404b96ad7fb6}\label{classnntrainer_1_1LayerNode_aeb33b07a9441e0b9d932404b96ad7fb6}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getNumOutputConnections@{getNumOutputConnections}}
\index{getNumOutputConnections@{getNumOutputConnections}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getNumOutputConnections()}{getNumOutputConnections()}}
{\footnotesize\ttfamily unsigned int nntrainer\+::\+Layer\+Node\+::get\+Num\+Output\+Connections (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get number of output connections. 


\begin{DoxyRetVals}{Return values}
{\em number} & of outputs \\
\hline
\end{DoxyRetVals}


Definition at line 299 of file layer\+\_\+node.\+cpp.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_aeb33b07a9441e0b9d932404b96ad7fb6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aa3915f33692a87a52ea39297ae6e118f}\label{classnntrainer_1_1LayerNode_aa3915f33692a87a52ea39297ae6e118f}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getNumOutputs@{getNumOutputs}}
\index{getNumOutputs@{getNumOutputs}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getNumOutputs()}{getNumOutputs()}}
{\footnotesize\ttfamily unsigned int nntrainer\+::\+Layer\+Node\+::get\+Num\+Outputs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get number of outputs. 


\begin{DoxyRetVals}{Return values}
{\em number} & of outputs \\
\hline
\end{DoxyRetVals}


Definition at line 405 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ac831b42235bb44c515614534c402a7c1}\label{classnntrainer_1_1LayerNode_ac831b42235bb44c515614534c402a7c1}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getNumWeights@{getNumWeights}}
\index{getNumWeights@{getNumWeights}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getNumWeights()}{getNumWeights()}}
{\footnotesize\ttfamily unsigned int nntrainer\+::\+Layer\+Node\+::get\+Num\+Weights (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the number of weights. 

\begin{DoxyReturn}{Returns}
unsigned int number of weights 
\end{DoxyReturn}


Definition at line 416 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ac6b7689a052191a87a9c18719ac9a756}\label{classnntrainer_1_1LayerNode_ac6b7689a052191a87a9c18719ac9a756}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getOutput@{getOutput}}
\index{getOutput@{getOutput}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getOutput()}{getOutput()}}
{\footnotesize\ttfamily Tensor\& nntrainer\+::\+Layer\+Node\+::get\+Output (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the Output tensor object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the output \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the output tensor 
\end{DoxyReturn}


Definition at line 591 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_af6ca9839b08503a7c4ac1417a26682a5}\label{classnntrainer_1_1LayerNode_af6ca9839b08503a7c4ac1417a26682a5}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getOutputConnection@{getOutputConnection}}
\index{getOutputConnection@{getOutputConnection}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getOutputConnection()}{getOutputConnection()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} $\ast$ nntrainer\+::\+Layer\+Node\+::get\+Output\+Connection (\begin{DoxyParamCaption}\item[{unsigned}]{nth }\end{DoxyParamCaption}) const}



Get the output connection object. 


\begin{DoxyParams}{Parameters}
{\em nth} & nth input \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em if} & nth is out of range of get\+Num\+Output\+Connection() \\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} $\ast$ view of a connection, null means this does not exist 
\end{DoxyReturn}


Definition at line 231 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a025aff0f6f36ed9aa70cf4bc7cf5dbd2}\label{classnntrainer_1_1LayerNode_a025aff0f6f36ed9aa70cf4bc7cf5dbd2}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getOutputConnections@{getOutputConnections}}
\index{getOutputConnections@{getOutputConnections}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getOutputConnections()}{getOutputConnections()}}
{\footnotesize\ttfamily const std\+::vector$<$std\+::string$>$ nntrainer\+::\+Layer\+Node\+::get\+Output\+Connections (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}



Get the output connections for this node. 

\begin{DoxyReturn}{Returns}
list of name of the nodes which form output connections 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_a4390e67ca3f0375849f1165966817073}{nntrainer\+::\+Graph\+Node}}.



Definition at line 208 of file layer\+\_\+node.\+h.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a025aff0f6f36ed9aa70cf4bc7cf5dbd2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_af6687f9d108307f45b676ca30fe56439}\label{classnntrainer_1_1LayerNode_af6687f9d108307f45b676ca30fe56439}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getOutputDimensions@{getOutputDimensions}}
\index{getOutputDimensions@{getOutputDimensions}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getOutputDimensions()}{getOutputDimensions()}}
{\footnotesize\ttfamily const std\+::vector$<$ Tensor\+Dim $>$ nntrainer\+::\+Layer\+Node\+::get\+Output\+Dimensions (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get the output dimension. 

\begin{DoxyReturn}{Returns}
Tensor\+Dim dimension of the output 
\end{DoxyReturn}


Definition at line 415 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aed99ab3bfbbbdbc2e0353e0e8f1a4917}\label{classnntrainer_1_1LayerNode_aed99ab3bfbbbdbc2e0353e0e8f1a4917}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getOutputGrad@{getOutputGrad}}
\index{getOutputGrad@{getOutputGrad}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getOutputGrad()}{getOutputGrad()}}
{\footnotesize\ttfamily const Tensor nntrainer\+::\+Layer\+Node\+::get\+Output\+Grad (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the Output Grad tensor object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the output \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the output grad tensor 
\end{DoxyReturn}


Definition at line 603 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a776d6d3f873ceb03ecd758061076a348}\label{classnntrainer_1_1LayerNode_a776d6d3f873ceb03ecd758061076a348}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getOutputGradUnsafe@{getOutputGradUnsafe}}
\index{getOutputGradUnsafe@{getOutputGradUnsafe}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getOutputGradUnsafe()}{getOutputGradUnsafe()}}
{\footnotesize\ttfamily const Tensor\& nntrainer\+::\+Layer\+Node\+::get\+Output\+Grad\+Unsafe (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the Output Grad unsafe. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the output \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the output grad tensor 
\end{DoxyReturn}


Definition at line 615 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a90c10eee945372b39913517aaf526a3a}\label{classnntrainer_1_1LayerNode_a90c10eee945372b39913517aaf526a3a}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getRunContext@{getRunContext}}
\index{getRunContext@{getRunContext}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getRunContext()}{getRunContext()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}}\& nntrainer\+::\+Layer\+Node\+::get\+Run\+Context (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get run layer context. 


\begin{DoxyRetVals}{Return values}
{\em run} & layer context \\
\hline
\end{DoxyRetVals}


Definition at line 661 of file layer\+\_\+node.\+h.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a90c10eee945372b39913517aaf526a3a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ada5443723cfcf910b27525b731fefb6a}\label{classnntrainer_1_1LayerNode_ada5443723cfcf910b27525b731fefb6a}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getRunContext@{getRunContext}}
\index{getRunContext@{getRunContext}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getRunContext()}{getRunContext()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}}\& nntrainer\+::\+Layer\+Node\+::get\+Run\+Context (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get run layer context. 


\begin{DoxyRetVals}{Return values}
{\em run} & layer context \\
\hline
\end{DoxyRetVals}


Definition at line 672 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a8d575d97c518fd2abe44f64b2da5ea3c}\label{classnntrainer_1_1LayerNode_a8d575d97c518fd2abe44f64b2da5ea3c}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getSharedFrom@{getSharedFrom}}
\index{getSharedFrom@{getSharedFrom}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getSharedFrom()}{getSharedFrom()}}
{\footnotesize\ttfamily std\+::string nntrainer\+::\+Layer\+Node\+::get\+Shared\+From (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get the Shared From property of the layer node. 

\begin{DoxyReturn}{Returns}
std\+::string node name where the weights are borrowed 
\end{DoxyReturn}


Definition at line 357 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a7f793fc7f44e63ec5d0bd67667abb174}\label{classnntrainer_1_1LayerNode_a7f793fc7f44e63ec5d0bd67667abb174}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getTrainable@{getTrainable}}
\index{getTrainable@{getTrainable}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getTrainable()}{getTrainable()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::get\+Trainable (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get the trainable property of the underlying object. 

Support interfaces for the properties intercepted from layer \begin{DoxyReturn}{Returns}
boolean true if trainable, else false 
\end{DoxyReturn}
if a layer does not contain any weights, it will be treated as a non-\/trainable layer.

Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_a2a479edece694029003c9fbc5120c4b9}{nntrainer\+::\+Graph\+Node}}.



Definition at line 337 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a2f7a2561702e5b53d0448df6513adfd7}\label{classnntrainer_1_1LayerNode_a2f7a2561702e5b53d0448df6513adfd7}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getType@{getType}}
\index{getType@{getType}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getType()}{getType()}}
{\footnotesize\ttfamily const std\+::string nntrainer\+::\+Layer\+Node\+::get\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Get the layer type. 

Support all the interface requirements by ml\+::train\+::\+Layer \begin{DoxyReturn}{Returns}
const std\+::string type representation 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_ae8a28eacca07961c3dfbadd8d218e457}{nntrainer\+::\+Graph\+Node}}.



Definition at line 335 of file layer\+\_\+node.\+cpp.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a2f7a2561702e5b53d0448df6513adfd7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aaf3c45f751d6aa8f789a15fb4e7c56a3}\label{classnntrainer_1_1LayerNode_aaf3c45f751d6aa8f789a15fb4e7c56a3}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getWeight@{getWeight}}
\index{getWeight@{getWeight}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getWeight()}{getWeight()}}
{\footnotesize\ttfamily Tensor\& nntrainer\+::\+Layer\+Node\+::get\+Weight (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} tensor object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the weight \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the weight tensor 
\end{DoxyReturn}


Definition at line 484 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a3e1a3f472c7003a001175e96c36b7d67}\label{classnntrainer_1_1LayerNode_a3e1a3f472c7003a001175e96c36b7d67}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getWeightGrad@{getWeightGrad}}
\index{getWeightGrad@{getWeightGrad}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getWeightGrad()}{getWeightGrad()}}
{\footnotesize\ttfamily Tensor\& nntrainer\+::\+Layer\+Node\+::get\+Weight\+Grad (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} Gradient tensor object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the weight \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the weight grad tensor 
\end{DoxyReturn}


Definition at line 496 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a74512e3d49a4a734c969603ff76d9c8a}\label{classnntrainer_1_1LayerNode_a74512e3d49a4a734c969603ff76d9c8a}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getWeightName@{getWeightName}}
\index{getWeightName@{getWeightName}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getWeightName()}{getWeightName()}}
{\footnotesize\ttfamily const std\+::string\& nntrainer\+::\+Layer\+Node\+::get\+Weight\+Name (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}



Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} object name. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the weight \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
const std\+::string \&Name of the weight 
\end{DoxyReturn}


Definition at line 508 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a0f2c144f2d75f281c5dba261dc4c1435}\label{classnntrainer_1_1LayerNode_a0f2c144f2d75f281c5dba261dc4c1435}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getWeightObject@{getWeightObject}}
\index{getWeightObject@{getWeightObject}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getWeightObject()}{getWeightObject()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}}\& nntrainer\+::\+Layer\+Node\+::get\+Weight\+Object (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the weight \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Tensor\& Reference to the weight tensor 
\end{DoxyReturn}


Definition at line 472 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a1d65747eadedb309cd2f6e7e70aae29d}\label{classnntrainer_1_1LayerNode_a1d65747eadedb309cd2f6e7e70aae29d}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getWeights@{getWeights}}
\index{getWeights@{getWeights}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getWeights()}{getWeights()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const std\+::vector$<$float $\ast$$>$ nntrainer\+::\+Layer\+Node\+::get\+Weights (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}



Get weight data of the layer. 


\begin{DoxyRetVals}{Return values}
{\em weight} & data of the layer \\
\hline
\end{DoxyRetVals}
\begin{DoxyNote}{Note}
nntrainer assign the vector and if there is no weights, the size of vector is zero 

layer needs to be finalized before called. 
\end{DoxyNote}


Definition at line 521 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a00b23bf2427c0341907731f2401f0849}\label{classnntrainer_1_1LayerNode_a00b23bf2427c0341907731f2401f0849}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getWeights@{getWeights}}
\index{getWeights@{getWeights}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getWeights()}{getWeights()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::get\+Weights (\begin{DoxyParamCaption}\item[{std\+::vector$<$ float $\ast$ $>$ \&}]{weights,  }\item[{std\+::vector$<$ Tensor\+Dim $>$ \&}]{weight\+\_\+dim }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}



Get weight data of the layer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em weights} & \+: float $\ast$ arrary to store weight data \\
\hline
\mbox{\texttt{ out}}  & {\em weights\+\_\+dim} & \+: Tensor\+Dim for each weights \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
nntrainer assign the vector and if there is no weights, the size of vector is zero 

layer needs to be finalized before called. 
\end{DoxyNote}


Definition at line 540 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a02bfa0b0c979c729b92dd255418ac385}\label{classnntrainer_1_1LayerNode_a02bfa0b0c979c729b92dd255418ac385}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!getWeightWrapper@{getWeightWrapper}}
\index{getWeightWrapper@{getWeightWrapper}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{getWeightWrapper()}{getWeightWrapper()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} nntrainer\+::\+Layer\+Node\+::get\+Weight\+Wrapper (\begin{DoxyParamCaption}\item[{unsigned int}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} object. 


\begin{DoxyParams}{Parameters}
{\em idx} & Identifier of the weight \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}}\& Reference to the weight 
\end{DoxyReturn}


Definition at line 453 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a2bed2970e05a5a7a99453fc73f5f0238}\label{classnntrainer_1_1LayerNode_a2bed2970e05a5a7a99453fc73f5f0238}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!hasInputShapeProperty@{hasInputShapeProperty}}
\index{hasInputShapeProperty@{hasInputShapeProperty}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{hasInputShapeProperty()}{hasInputShapeProperty()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::has\+Input\+Shape\+Property (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



check if input shape property is set 

\begin{DoxyReturn}{Returns}
bool true if input shape property has set 
\end{DoxyReturn}


Definition at line 392 of file layer\+\_\+node.\+cpp.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a2bed2970e05a5a7a99453fc73f5f0238_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a111bf9e14f12df3eb2c8ec703bf4689a}\label{classnntrainer_1_1LayerNode_a111bf9e14f12df3eb2c8ec703bf4689a}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!isFinalized@{isFinalized}}
\index{isFinalized@{isFinalized}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{isFinalized()}{isFinalized()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::is\+Finalized (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



check if layer is finalized 


\begin{DoxyRetVals}{Return values}
{\em bool} & true if the layer is finalized else false \\
\hline
\end{DoxyRetVals}


Definition at line 707 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ab9cf471a48f1a588f0a3c479d76954ee}\label{classnntrainer_1_1LayerNode_ab9cf471a48f1a588f0a3c479d76954ee}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!needsCalcDerivative@{needsCalcDerivative}}
\index{needsCalcDerivative@{needsCalcDerivative}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{needsCalcDerivative()}{needsCalcDerivative()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::needs\+Calc\+Derivative (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the layer needs to do calculation of derivatives. 

\begin{DoxyReturn}{Returns}
true if the layer needs to do backwarding, else false 
\end{DoxyReturn}


Definition at line 795 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a2285aa6566b8648bf83b0b40bce47fce}\label{classnntrainer_1_1LayerNode_a2285aa6566b8648bf83b0b40bce47fce}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!needsCalcDerivative@{needsCalcDerivative}}
\index{needsCalcDerivative@{needsCalcDerivative}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{needsCalcDerivative()}{needsCalcDerivative()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::needs\+Calc\+Derivative (\begin{DoxyParamCaption}\item[{bool}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set if the layer needs to do derivative calculation. 


\begin{DoxyParams}{Parameters}
{\em nb} & true if the layer needs to do backwarding, else false \\
\hline
\end{DoxyParams}


Definition at line 776 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a87046bf2d4a267844cb3024d59701988}\label{classnntrainer_1_1LayerNode_a87046bf2d4a267844cb3024d59701988}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!needsCalcGradient@{needsCalcGradient}}
\index{needsCalcGradient@{needsCalcGradient}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{needsCalcGradient()}{needsCalcGradient()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::needs\+Calc\+Gradient (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set if the layer needs to do calculation of gradient. 


\begin{DoxyParams}{Parameters}
{\em nb} & true if the layer needs to do backwarding, else false \\
\hline
\end{DoxyParams}


Definition at line 802 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a732ba76199cdc6474e859763f63cea73}\label{classnntrainer_1_1LayerNode_a732ba76199cdc6474e859763f63cea73}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!needsCalcGradient@{needsCalcGradient}}
\index{needsCalcGradient@{needsCalcGradient}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{needsCalcGradient()}{needsCalcGradient()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::needs\+Calc\+Gradient (\begin{DoxyParamCaption}\item[{bool}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set if the layer needs to do calculation of gradients. 


\begin{DoxyParams}{Parameters}
{\em nb} & true if the layer needs to do backwarding, else false \\
\hline
\end{DoxyParams}


Definition at line 788 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ade7c52ef7ff87066b15d03223acf0700}\label{classnntrainer_1_1LayerNode_ade7c52ef7ff87066b15d03223acf0700}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!printPreset@{printPreset}}
\index{printPreset@{printPreset}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{printPreset()}{printPreset()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::print\+Preset (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{out,  }\item[{\mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025e}{Print\+Preset}}}]{preset = {\ttfamily \mbox{\hyperlink{classnntrainer_1_1LayerNode_a35da2c2491b73b4019c0199fa4ae025ea99b2ca3f0c3a4604aeba6ec2cf8ec872}{Print\+Preset\+::\+P\+R\+I\+N\+T\+\_\+\+S\+U\+M\+M\+A\+RY}}} }\end{DoxyParamCaption})}



print using Print\+Preset 


\begin{DoxyParams}{Parameters}
{\em out} & oustream \\
\hline
{\em preset} & preset to be used \\
\hline
\end{DoxyParams}
fall through intended

fall through intended

Definition at line 712 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_af3aa13366f01d9d17dd3bf6ab69a491f}\label{classnntrainer_1_1LayerNode_af3aa13366f01d9d17dd3bf6ab69a491f}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!read@{read}}
\index{read@{read}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{read()}{read()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::read (\begin{DoxyParamCaption}\item[{std\+::ifstream \&}]{file,  }\item[{bool}]{opt\+\_\+var = {\ttfamily false} }\end{DoxyParamCaption})}



read layer \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} \& Bias data from file 


\begin{DoxyParams}{Parameters}
{\em file} & input file stream \\
\hline
{\em bool} & read optimizer variables \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
read optimizer variables

shared weights are only be read at the first acecss
\end{DoxyNote}


Definition at line 435 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ac992fc27047ce0029acbff48bb409f77}\label{classnntrainer_1_1LayerNode_ac992fc27047ce0029acbff48bb409f77}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!remapConnections@{remapConnections}}
\index{remapConnections@{remapConnections}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{remapConnections()}{remapConnections()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::remap\+Connections (\begin{DoxyParamCaption}\item[{std\+::function$<$ void(std\+::string \&, unsigned \&)$>$}]{remap\+\_\+fn }\end{DoxyParamCaption})}



remap connections(input, output layers ) inside layer node 


\begin{DoxyParams}{Parameters}
{\em remap\+\_\+fn} & function to remap \\
\hline
\end{DoxyParams}


Definition at line 751 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a9f4f1a2c3298e88cee035d1d541cba9c}\label{classnntrainer_1_1LayerNode_a9f4f1a2c3298e88cee035d1d541cba9c}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!remapIdentifiers@{remapIdentifiers}}
\index{remapIdentifiers@{remapIdentifiers}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{remapIdentifiers()}{remapIdentifiers()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::remap\+Identifiers (\begin{DoxyParamCaption}\item[{std\+::function$<$ void(std\+::string \&)$>$}]{remap\+\_\+fn }\end{DoxyParamCaption})}



remap identifier inside layer node 


\begin{DoxyParams}{Parameters}
{\em remap\+\_\+fn} & function to remap \\
\hline
\end{DoxyParams}
remap connections without touching index

Definition at line 733 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ace7ac7a103b69678f040aa18f60c3b60}\label{classnntrainer_1_1LayerNode_ace7ac7a103b69678f040aa18f60c3b60}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!requireLabel@{requireLabel}}
\index{requireLabel@{requireLabel}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{requireLabel()}{requireLabel()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::require\+Label (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



check if this layer requires label to be passed 

\begin{DoxyReturn}{Returns}
true if requires a label when training, else false 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
if \mbox{\hyperlink{classnntrainer_1_1LayerNode_ace7ac7a103b69678f040aa18f60c3b60}{require\+Label()}} == true means, for now, that it is endpoint of a graph(num\+Outlayers == 0). label will be fed to the gradient of hidden if require\+Label is true 
\end{DoxyNote}


Definition at line 680 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aaf3bf74f91f484455bdda40674b5f148}\label{classnntrainer_1_1LayerNode_aaf3bf74f91f484455bdda40674b5f148}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!save@{save}}
\index{save@{save}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{save()}{save()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::save (\begin{DoxyParamCaption}\item[{std\+::ofstream \&}]{file,  }\item[{bool}]{opt\+\_\+var = {\ttfamily false} }\end{DoxyParamCaption}) const}



save layer \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} \& Bias data from file 


\begin{DoxyParams}{Parameters}
{\em file} & output file stream \\
\hline
{\em bool} & save optimizer variables \\
\hline
\end{DoxyParams}


Definition at line 457 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a520c6ed124bf39dccdbf4e9b25729bf0}\label{classnntrainer_1_1LayerNode_a520c6ed124bf39dccdbf4e9b25729bf0}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setBatch@{setBatch}}
\index{setBatch@{setBatch}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setBatch()}{setBatch()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Batch (\begin{DoxyParamCaption}\item[{unsigned int}]{batch }\end{DoxyParamCaption})}



Set the batch for the layer. 


\begin{DoxyParams}{Parameters}
{\em batch} & Batch value to be set\\
\hline
\end{DoxyParams}
Update the run context based on the updated batch size if required 

Definition at line 656 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a7c3b58a138f4ea40aff3179e45fa0389}\label{classnntrainer_1_1LayerNode_a7c3b58a138f4ea40aff3179e45fa0389}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setExecutionOrder@{setExecutionOrder}}
\index{setExecutionOrder@{setExecutionOrder}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setExecutionOrder()}{setExecutionOrder()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Execution\+Order (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1GraphNode_ae20fecb05f124a46d1907d13ed813a2f}{Execution\+Order}}}]{exec\+\_\+order\+\_\+ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}



set the execution order/location of this node 


\begin{DoxyParams}{Parameters}
{\em exec\+\_\+order} & the execution order/location of this node \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_aa9c2b3137f9c9a72c92fddf1eeb1b64b}{nntrainer\+::\+Graph\+Node}}.



Definition at line 224 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a12f2aaafa930f0095dd1889376badaf9}\label{classnntrainer_1_1LayerNode_a12f2aaafa930f0095dd1889376badaf9}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setInputConnectionIndex@{setInputConnectionIndex}}
\index{setInputConnectionIndex@{setInputConnectionIndex}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setInputConnectionIndex()}{setInputConnectionIndex()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Input\+Connection\+Index (\begin{DoxyParamCaption}\item[{unsigned}]{nth,  }\item[{unsigned}]{index }\end{DoxyParamCaption})}



Set the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Index object. 


\begin{DoxyParams}{Parameters}
{\em nth} & nth input \\
\hline
{\em index} & index to set \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em if} & nth is out of range of get\+Num\+Input\+Connection() \\
\hline
\end{DoxyExceptions}


Definition at line 219 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a51438979e445eebc4df9d6bb669f3c3f}\label{classnntrainer_1_1LayerNode_a51438979e445eebc4df9d6bb669f3c3f}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setInputConnectionName@{setInputConnectionName}}
\index{setInputConnectionName@{setInputConnectionName}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setInputConnectionName()}{setInputConnectionName()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Input\+Connection\+Name (\begin{DoxyParamCaption}\item[{unsigned}]{nth,  }\item[{const std\+::string \&}]{name }\end{DoxyParamCaption})}



Get the Input \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}} Name object. 


\begin{DoxyParams}{Parameters}
{\em nth} & input \\
\hline
{\em index} & index to set \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em if} & nth is out of range of get\+Num\+Input\+Connection() \\
\hline
{\em if} & new identifier is invalid \\
\hline
\end{DoxyExceptions}


Definition at line 225 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_ad1cfda38f90cf2e9379ce6b80232950e}\label{classnntrainer_1_1LayerNode_ad1cfda38f90cf2e9379ce6b80232950e}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setName@{setName}}
\index{setName@{setName}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setName()}{setName()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Name (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}



set name of layer 

Support all the interface requirements by \mbox{\hyperlink{classnntrainer_1_1GraphNode}{nntrainer\+::\+Graph\+Node}} 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em name} & Name of the layer \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classnntrainer_1_1GraphNode_afa27efd1c33fa07feb519841cdfc7d3b}{nntrainer\+::\+Graph\+Node}}.



Definition at line 127 of file layer\+\_\+node.\+h.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_ad1cfda38f90cf2e9379ce6b80232950e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a740cdd13de04920dc38951092f2deb96}\label{classnntrainer_1_1LayerNode_a740cdd13de04920dc38951092f2deb96}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setOutputConnection@{setOutputConnection}}
\index{setOutputConnection@{setOutputConnection}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setOutputConnection()}{setOutputConnection()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Output\+Connection (\begin{DoxyParamCaption}\item[{unsigned}]{nth,  }\item[{const std\+::string \&}]{name,  }\item[{unsigned}]{index }\end{DoxyParamCaption})}



Set the Output \mbox{\hyperlink{classnntrainer_1_1Connection}{Connection}}. 

\begin{DoxyNote}{Note}
Each output must be identified only O\+N\+CE. 

when nth comes, get\+Num\+Output() expends to nth + 1 as resize occurs. Please also notice none identified intermediate output (or mismatch between actual number of out tensors and output) is allowed but will produce warning, this implies that the output is not used else where. 
\end{DoxyNote}

\begin{DoxyExceptions}{Exceptions}
{\em std\+::invalid\+\_\+argument} & when trying to identify output more then once\\
\hline
\end{DoxyExceptions}

\begin{DoxyParams}{Parameters}
{\em nth} & nth output \\
\hline
{\em name} & name of the output bound connection \\
\hline
{\em index} & index of the output bound connection \\
\hline
\end{DoxyParams}


Definition at line 235 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aa45c5e6f933dc0bf448c494fa6812472}\label{classnntrainer_1_1LayerNode_aa45c5e6f933dc0bf448c494fa6812472}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setOutputLayers@{setOutputLayers}}
\index{setOutputLayers@{setOutputLayers}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setOutputLayers()}{setOutputLayers()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Output\+Layers (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::string $>$ \&}]{layers }\end{DoxyParamCaption})}



Set the Output Layers object. 


\begin{DoxyParams}{Parameters}
{\em layers} & Name of the layers \\
\hline
\end{DoxyParams}


Definition at line 384 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a54679af174dc45f6f3b86ccafd380416}\label{classnntrainer_1_1LayerNode_a54679af174dc45f6f3b86ccafd380416}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setProperty@{setProperty}}
\index{setProperty@{setProperty}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setProperty()}{setProperty()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Property (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::string $>$ \&}]{properties }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}}



set Property of layer 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em properties} & values of property \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em \mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a1d5fc7f826e7a67851245a3f27b7d0a7}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+N\+O\+NE}}} & Successful. \\
\hline
{\em \mbox{\hyperlink{nntrainer__error_8h_afa8aa7b8ee0794aff8dcd3029525fc93a8081833f5d75604414cd5cb831c538ab}{M\+L\+\_\+\+E\+R\+R\+O\+R\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+P\+A\+R\+A\+M\+E\+T\+ER}}} & invalid parameter.\\
\hline
\end{DoxyRetVals}
This function accepts vector of properties in the format -\/ \{ std\+::string property\+\_\+name=property\+\_\+val, ...\} 

Definition at line 179 of file layer\+\_\+node.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a54679af174dc45f6f3b86ccafd380416_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_a54679af174dc45f6f3b86ccafd380416_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1LayerNode_acaf7000e65761c3ac5e933e2d330aa5f}\label{classnntrainer_1_1LayerNode_acaf7000e65761c3ac5e933e2d330aa5f}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!setWeights@{setWeights}}
\index{setWeights@{setWeights}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{setWeights()}{setWeights()}}
{\footnotesize\ttfamily void nntrainer\+::\+Layer\+Node\+::set\+Weights (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ float $\ast$ $>$}]{weights }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}}



Set weight data of the layer. 

\begin{DoxyNote}{Note}
Size of vector must be the same with number of weights. 

layer needs to be finalized before called. 
\end{DoxyNote}


Definition at line 193 of file layer\+\_\+node.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_a1cde3afcea7b712fabad7beb8f899d18}\label{classnntrainer_1_1LayerNode_a1cde3afcea7b712fabad7beb8f899d18}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!supportBackwarding@{supportBackwarding}}
\index{supportBackwarding@{supportBackwarding}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{supportBackwarding()}{supportBackwarding()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::support\+Backwarding (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the trainable property of the underlying object. 

Add rest of the helper interfaces required by other internal classes \begin{DoxyReturn}{Returns}
boolean true if trainable, else false 
\end{DoxyReturn}


Definition at line 335 of file layer\+\_\+node.\+h.

\mbox{\Hypertarget{classnntrainer_1_1LayerNode_aad5435ba9ac0492a10d84e6a46ffb026}\label{classnntrainer_1_1LayerNode_aad5435ba9ac0492a10d84e6a46ffb026}} 
\index{nntrainer::LayerNode@{nntrainer::LayerNode}!supportInPlace@{supportInPlace}}
\index{supportInPlace@{supportInPlace}!nntrainer::LayerNode@{nntrainer::LayerNode}}
\doxysubsubsection{\texorpdfstring{supportInPlace()}{supportInPlace()}}
{\footnotesize\ttfamily bool nntrainer\+::\+Layer\+Node\+::support\+In\+Place (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



If the current layer can support in-\/place. 

\begin{DoxyReturn}{Returns}
true if inplace, else false 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
below is a quick fix, we need to have a guard that this shouldn\textquotesingle{}t be query until realize\+Props has been finalized ( which means we will need another end point to fixate this property )
\end{DoxyNote}


Definition at line 666 of file layer\+\_\+node.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_aad5435ba9ac0492a10d84e6a46ffb026_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1LayerNode_aad5435ba9ac0492a10d84e6a46ffb026_icgraph}
\end{center}
\end{figure}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
layers/\mbox{\hyperlink{layer__node_8h}{layer\+\_\+node.\+h}}\item 
layers/\mbox{\hyperlink{layer__node_8cpp}{layer\+\_\+node.\+cpp}}\end{DoxyCompactItemize}
