\hypertarget{classnntrainer_1_1internal_1_1PluggedLayer}{}\doxysection{nntrainer\+::internal\+::Plugged\+Layer Class Reference}
\label{classnntrainer_1_1internal_1_1PluggedLayer}\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}


\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}} to wrap a layer from shared object file.  




{\ttfamily \#include $<$plugged\+\_\+layer.\+h$>$}



Inheritance diagram for nntrainer\+::internal\+::Plugged\+Layer\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=184pt]{classnntrainer_1_1internal_1_1PluggedLayer__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for nntrainer\+::internal\+::Plugged\+Layer\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=184pt]{classnntrainer_1_1internal_1_1PluggedLayer__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a8ee6c54ca0c196296698228c94995c52}{Plugged\+Layer}} (const nntrainer\+::\+Layer\+Pluggable $\ast$pluggable)
\begin{DoxyCompactList}\small\item\em Construct a new Plugged \mbox{\hyperlink{classLayer}{Layer}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_ae9b2ceed6229dccdd669d713b6ddcf6f}{$\sim$\+Plugged\+Layer}} () override
\begin{DoxyCompactList}\small\item\em Destroy the Plugged \mbox{\hyperlink{classLayer}{Layer}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a7aa1bb06b05b62ba30a9f5e53ed2c72b}{Plugged\+Layer}} (\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}} \&\&rhs) noexcept=default
\begin{DoxyCompactList}\small\item\em Move Contruct Plugged \mbox{\hyperlink{classLayer}{Layer}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}} \& \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_ae79f66dfaa331653c383c84beed4200a}{operator=}} (\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}} \&\&rhs)=default
\begin{DoxyCompactList}\small\item\em Move assign Plugged \mbox{\hyperlink{classLayer}{Layer}} Object. \end{DoxyCompactList}\item 
const std\+::string \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_af9e48912eacba888c84c0d92b3922e26}{get\+Type}} () const override
\item 
void \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a69576534acfb5f646ee749ed9f8cd9ed}{finalize}} (\mbox{\hyperlink{classnntrainer_1_1InitLayerContext}{Init\+Layer\+Context}} \&context) override
\item 
void \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a72d6016e1f57e142fe5cd9fff95a930b}{forwarding}} (\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&context, bool training) override
\item 
void \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_ad2a628d94f75811d908ef288892aa559}{calc\+Derivative}} (\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&context) override
\item 
void \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a77ad3c6a6b00e2ab16cd7a62bda22b10}{calc\+Gradient}} (\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&context) override
\item 
void \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_aba612e6d588beaaf964e45b77b73e70d}{set\+Property}} (const std\+::vector$<$ std\+::string $>$ \&values) override
\item 
void \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a9dc511efa6b9908592bd376f8c390bc1}{export\+To}} (\mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} \&exporter, const ml\+::train\+::\+Export\+Methods \&method) const override
\item 
void \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a85c40f7616f8a088cde86cfbd1e5da1f}{set\+Batch}} (\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&context, unsigned int batch) override
\item 
bool \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a4d402ebc9cae251ff0a2cc1153d5b748}{support\+In\+Place}} () const override
\item 
bool \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_a80c4ab46081333d311f17e670df6988d}{require\+Label}} () const override
\item 
bool \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer_ad87dd05112df88f5be53efad18066cd2}{support\+Backwarding}} () const override
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}} to wrap a layer from shared object file. 



Definition at line 28 of file plugged\+\_\+layer.\+h.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a8ee6c54ca0c196296698228c94995c52}\label{classnntrainer_1_1internal_1_1PluggedLayer_a8ee6c54ca0c196296698228c94995c52}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!PluggedLayer@{PluggedLayer}}
\index{PluggedLayer@{PluggedLayer}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{PluggedLayer()}{PluggedLayer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily nntrainer\+::internal\+::\+Plugged\+Layer\+::\+Plugged\+Layer (\begin{DoxyParamCaption}\item[{const nntrainer\+::\+Layer\+Pluggable $\ast$}]{pluggable }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Construct a new Plugged \mbox{\hyperlink{classLayer}{Layer}} object. 


\begin{DoxyParams}{Parameters}
{\em pluggable} & Layer\+Pluggable structure from the symbol \\
\hline
\end{DoxyParams}


Definition at line 35 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_ae9b2ceed6229dccdd669d713b6ddcf6f}\label{classnntrainer_1_1internal_1_1PluggedLayer_ae9b2ceed6229dccdd669d713b6ddcf6f}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!````~PluggedLayer@{$\sim$PluggedLayer}}
\index{````~PluggedLayer@{$\sim$PluggedLayer}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{$\sim$PluggedLayer()}{~PluggedLayer()}}
{\footnotesize\ttfamily nntrainer\+::internal\+::\+Plugged\+Layer\+::$\sim$\+Plugged\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}



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



Definition at line 46 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a7aa1bb06b05b62ba30a9f5e53ed2c72b}\label{classnntrainer_1_1internal_1_1PluggedLayer_a7aa1bb06b05b62ba30a9f5e53ed2c72b}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!PluggedLayer@{PluggedLayer}}
\index{PluggedLayer@{PluggedLayer}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{PluggedLayer()}{PluggedLayer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily nntrainer\+::internal\+::\+Plugged\+Layer\+::\+Plugged\+Layer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}} \&\&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}



Move Contruct Plugged \mbox{\hyperlink{classLayer}{Layer}} object. 


\begin{DoxyParams}{Parameters}
{\em rhs} & layer to move \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_ad2a628d94f75811d908ef288892aa559}\label{classnntrainer_1_1internal_1_1PluggedLayer_ad2a628d94f75811d908ef288892aa559}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!calcDerivative@{calcDerivative}}
\index{calcDerivative@{calcDerivative}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{calcDerivative()}{calcDerivative()}}
{\footnotesize\ttfamily void nntrainer\+::internal\+::\+Plugged\+Layer\+::calc\+Derivative (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&}]{context }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 85 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a77ad3c6a6b00e2ab16cd7a62bda22b10}\label{classnntrainer_1_1internal_1_1PluggedLayer_a77ad3c6a6b00e2ab16cd7a62bda22b10}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!calcGradient@{calcGradient}}
\index{calcGradient@{calcGradient}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{calcGradient()}{calcGradient()}}
{\footnotesize\ttfamily void nntrainer\+::internal\+::\+Plugged\+Layer\+::calc\+Gradient (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&}]{context }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 92 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a9dc511efa6b9908592bd376f8c390bc1}\label{classnntrainer_1_1internal_1_1PluggedLayer_a9dc511efa6b9908592bd376f8c390bc1}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!exportTo@{exportTo}}
\index{exportTo@{exportTo}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{exportTo()}{exportTo()}}
{\footnotesize\ttfamily void nntrainer\+::internal\+::\+Plugged\+Layer\+::export\+To (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} \&}]{exporter,  }\item[{const ml\+::train\+::\+Export\+Methods \&}]{method }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 108 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a69576534acfb5f646ee749ed9f8cd9ed}\label{classnntrainer_1_1internal_1_1PluggedLayer_a69576534acfb5f646ee749ed9f8cd9ed}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!finalize@{finalize}}
\index{finalize@{finalize}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{finalize()}{finalize()}}
{\footnotesize\ttfamily void nntrainer\+::internal\+::\+Plugged\+Layer\+::finalize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1InitLayerContext}{Init\+Layer\+Context}} \&}]{context }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







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

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a72d6016e1f57e142fe5cd9fff95a930b}\label{classnntrainer_1_1internal_1_1PluggedLayer_a72d6016e1f57e142fe5cd9fff95a930b}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!forwarding@{forwarding}}
\index{forwarding@{forwarding}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{forwarding()}{forwarding()}}
{\footnotesize\ttfamily void nntrainer\+::internal\+::\+Plugged\+Layer\+::forwarding (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&}]{context,  }\item[{bool}]{training }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 78 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_af9e48912eacba888c84c0d92b3922e26}\label{classnntrainer_1_1internal_1_1PluggedLayer_af9e48912eacba888c84c0d92b3922e26}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!getType@{getType}}
\index{getType@{getType}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{getType()}{getType()}}
{\footnotesize\ttfamily const std\+::string nntrainer\+::internal\+::\+Plugged\+Layer\+::get\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 66 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_ae79f66dfaa331653c383c84beed4200a}\label{classnntrainer_1_1internal_1_1PluggedLayer_ae79f66dfaa331653c383c84beed4200a}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!operator=@{operator=}}
\index{operator=@{operator=}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}}\& nntrainer\+::internal\+::\+Plugged\+Layer\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}} \&\&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}



Move assign Plugged \mbox{\hyperlink{classLayer}{Layer}} Object. 


\begin{DoxyParams}{Parameters}
{\em rhs} & layer to move \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classnntrainer_1_1internal_1_1PluggedLayer}{Plugged\+Layer}}\& $\ast$this 
\end{DoxyReturn}
\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a80c4ab46081333d311f17e670df6988d}\label{classnntrainer_1_1internal_1_1PluggedLayer_a80c4ab46081333d311f17e670df6988d}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!requireLabel@{requireLabel}}
\index{requireLabel@{requireLabel}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{requireLabel()}{requireLabel()}}
{\footnotesize\ttfamily bool nntrainer\+::internal\+::\+Plugged\+Layer\+::require\+Label (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 128 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a85c40f7616f8a088cde86cfbd1e5da1f}\label{classnntrainer_1_1internal_1_1PluggedLayer_a85c40f7616f8a088cde86cfbd1e5da1f}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!setBatch@{setBatch}}
\index{setBatch@{setBatch}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{setBatch()}{setBatch()}}
{\footnotesize\ttfamily void nntrainer\+::internal\+::\+Plugged\+Layer\+::set\+Batch (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classnntrainer_1_1RunLayerContext}{Run\+Layer\+Context}} \&}]{context,  }\item[{unsigned int}]{batch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 116 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_aba612e6d588beaaf964e45b77b73e70d}\label{classnntrainer_1_1internal_1_1PluggedLayer_aba612e6d588beaaf964e45b77b73e70d}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!setProperty@{setProperty}}
\index{setProperty@{setProperty}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{setProperty()}{setProperty()}}
{\footnotesize\ttfamily void nntrainer\+::internal\+::\+Plugged\+Layer\+::set\+Property (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::string $>$ \&}]{values }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 100 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_ad87dd05112df88f5be53efad18066cd2}\label{classnntrainer_1_1internal_1_1PluggedLayer_ad87dd05112df88f5be53efad18066cd2}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!supportBackwarding@{supportBackwarding}}
\index{supportBackwarding@{supportBackwarding}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{supportBackwarding()}{supportBackwarding()}}
{\footnotesize\ttfamily bool nntrainer\+::internal\+::\+Plugged\+Layer\+::support\+Backwarding (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 133 of file plugged\+\_\+layer.\+h.

\mbox{\Hypertarget{classnntrainer_1_1internal_1_1PluggedLayer_a4d402ebc9cae251ff0a2cc1153d5b748}\label{classnntrainer_1_1internal_1_1PluggedLayer_a4d402ebc9cae251ff0a2cc1153d5b748}} 
\index{nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}!supportInPlace@{supportInPlace}}
\index{supportInPlace@{supportInPlace}!nntrainer::internal::PluggedLayer@{nntrainer::internal::PluggedLayer}}
\doxysubsubsection{\texorpdfstring{supportInPlace()}{supportInPlace()}}
{\footnotesize\ttfamily bool nntrainer\+::internal\+::\+Plugged\+Layer\+::support\+In\+Place (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}}







Definition at line 123 of file plugged\+\_\+layer.\+h.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
layers/\mbox{\hyperlink{plugged__layer_8h}{plugged\+\_\+layer.\+h}}\end{DoxyCompactItemize}
