mirror of
https://github.com/BlackLight/neuralpp.git
synced 2024-11-16 06:47:16 +01:00
164 lines
7.4 KiB
TeX
164 lines
7.4 KiB
TeX
\section{neuralpp::Layer Class Reference}
|
|
\label{classneuralpp_1_1Layer}\index{neuralpp::Layer@{neuralpp::Layer}}
|
|
Class for managing layers of neurons.
|
|
|
|
|
|
{\tt \#include $<$neural++.hpp$>$}
|
|
|
|
\subsection*{Public Member Functions}
|
|
\begin{CompactItemize}
|
|
\item
|
|
{\bf Layer} (size\_\-t sz, double($\ast$a)(double), double($\ast$d)(double))
|
|
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
|
|
{\bf Layer} (vector$<$ {\bf Neuron} $>$ \&neurons, double($\ast$a)(double), double($\ast$d)(double))
|
|
\begin{CompactList}\small\item\em Alternative constructor. \item\end{CompactList}\item
|
|
{\bf Neuron} \& {\bf operator[$\,$]} (size\_\-t i)
|
|
\begin{CompactList}\small\item\em Redefinition for operator []. \item\end{CompactList}\item
|
|
void {\bf link} ({\bf Layer} \&l)
|
|
\begin{CompactList}\small\item\em It links a layer to another. \item\end{CompactList}\item
|
|
void {\bf setProp} (vector$<$ double $>$ \&v)
|
|
\begin{CompactList}\small\item\em It sets a vector of propagation values to all its neurons. \item\end{CompactList}\item
|
|
void {\bf setActv} (vector$<$ double $>$ \&v)
|
|
\begin{CompactList}\small\item\em It sets a vector of activation values to all its neurons. \item\end{CompactList}\item
|
|
void {\bf propagate} ()
|
|
\begin{CompactList}\small\item\em It propagates its activation values to the output layers. \item\end{CompactList}\item
|
|
size\_\-t {\bf size} ()
|
|
\end{CompactItemize}
|
|
\subsection*{Private Attributes}
|
|
\begin{CompactItemize}
|
|
\item
|
|
vector$<$ {\bf Neuron} $>$ {\bf elements}
|
|
\item
|
|
void($\ast$ {\bf update\_\-weights} )()
|
|
\item
|
|
double($\ast$ {\bf actv\_\-f} )(double)
|
|
\item
|
|
double($\ast$ {\bf deriv} )(double)
|
|
\end{CompactItemize}
|
|
|
|
|
|
\subsection{Detailed Description}
|
|
Class for managing layers of neurons.
|
|
|
|
Don't use this class directly unless you know what you're doing, use \doxyref{NeuralNet}{p.}{classneuralpp_1_1NeuralNet} instead
|
|
|
|
\subsection{Constructor \& Destructor Documentation}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!Layer@{Layer}}
|
|
\index{Layer@{Layer}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[Layer]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Layer::Layer (size\_\-t {\em sz}, \/ double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Layer_411a4dc8a1bb2fe44fe7a69fa50fd764}
|
|
|
|
|
|
Constructor.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em sz}]Size of the layer \item[{\em a}]Activation function \item[{\em d}]Its derivate \end{description}
|
|
\end{Desc}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!Layer@{Layer}}
|
|
\index{Layer@{Layer}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[Layer]{\setlength{\rightskip}{0pt plus 5cm}neuralpp::Layer::Layer (vector$<$ {\bf Neuron} $>$ \& {\em neurons}, \/ double($\ast$)(double) {\em a}, \/ double($\ast$)(double) {\em d})}\label{classneuralpp_1_1Layer_117d1c3b481641816e80ea36826d2107}
|
|
|
|
|
|
Alternative constructor.
|
|
|
|
It directly gets a vector of neurons to build the layer \begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em neurons}]Vector of neurons to be included in the layer \item[{\em a}]Activation function \item[{\em d}]Its derivate \end{description}
|
|
\end{Desc}
|
|
|
|
|
|
\subsection{Member Function Documentation}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!operator[]@{operator[]}}
|
|
\index{operator[]@{operator[]}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[operator[]]{\setlength{\rightskip}{0pt plus 5cm}{\bf Neuron}\& neuralpp::Layer::operator[$\,$] (size\_\-t {\em i})}\label{classneuralpp_1_1Layer_45ff7554830558155c6fbce3b6827122}
|
|
|
|
|
|
Redefinition for operator [].
|
|
|
|
It gets the neuron at {\em i\/} \begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em i}]Index of the neuron to get in the layer \end{description}
|
|
\end{Desc}
|
|
\begin{Desc}
|
|
\item[Returns:]Reference to the i-th neuron \end{Desc}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!link@{link}}
|
|
\index{link@{link}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[link]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::link ({\bf Layer} \& {\em l})}\label{classneuralpp_1_1Layer_ac33444fde14633fa1ad4acb024ad150}
|
|
|
|
|
|
It links a layer to another.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em l}]\doxyref{Layer}{p.}{classneuralpp_1_1Layer} to connect to the current as input layer \end{description}
|
|
\end{Desc}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!setProp@{setProp}}
|
|
\index{setProp@{setProp}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[setProp]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::setProp (vector$<$ double $>$ \& {\em v})}\label{classneuralpp_1_1Layer_dbad95f635343a2998794113d7762cf7}
|
|
|
|
|
|
It sets a vector of propagation values to all its neurons.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em v}]Vector of values to write as propagation values \end{description}
|
|
\end{Desc}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!setActv@{setActv}}
|
|
\index{setActv@{setActv}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[setActv]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::setActv (vector$<$ double $>$ \& {\em v})}\label{classneuralpp_1_1Layer_98f79281b680b1d18fd91fa5794c0899}
|
|
|
|
|
|
It sets a vector of activation values to all its neurons.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em v}]Vector of values to write as activation values \end{description}
|
|
\end{Desc}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!propagate@{propagate}}
|
|
\index{propagate@{propagate}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[propagate]{\setlength{\rightskip}{0pt plus 5cm}void neuralpp::Layer::propagate ()}\label{classneuralpp_1_1Layer_fcfd306039dbaf91c9e2dcc8fc1f1ce1}
|
|
|
|
|
|
It propagates its activation values to the output layers.
|
|
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!size@{size}}
|
|
\index{size@{size}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[size]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t neuralpp::Layer::size ()}\label{classneuralpp_1_1Layer_c8d2f7513e5d40518f9dddfd1e3ddcc5}
|
|
|
|
|
|
\begin{Desc}
|
|
\item[Returns:]Number of neurons in the layer \end{Desc}
|
|
|
|
|
|
\subsection{Member Data Documentation}
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!elements@{elements}}
|
|
\index{elements@{elements}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[elements]{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Neuron}$>$ {\bf neuralpp::Layer::elements}\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_855685c9da56b06b629e13a2f8c719ce}
|
|
|
|
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!update\_\-weights@{update\_\-weights}}
|
|
\index{update\_\-weights@{update\_\-weights}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[update\_\-weights]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ {\bf neuralpp::Layer::update\_\-weights})()\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_c023a15a16353d0b4f44060a159f550f}
|
|
|
|
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!actv\_\-f@{actv\_\-f}}
|
|
\index{actv\_\-f@{actv\_\-f}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[actv\_\-f]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Layer::actv\_\-f})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_824367da29f92253a027a7c5b4a4405e}
|
|
|
|
|
|
\index{neuralpp::Layer@{neuralpp::Layer}!deriv@{deriv}}
|
|
\index{deriv@{deriv}!neuralpp::Layer@{neuralpp::Layer}}
|
|
\subsubsection[deriv]{\setlength{\rightskip}{0pt plus 5cm}double($\ast$ {\bf neuralpp::Layer::deriv})(double)\hspace{0.3cm}{\tt [private]}}\label{classneuralpp_1_1Layer_a0207b14ba80aaf03502749ecb7d23fa}
|
|
|
|
|
|
|
|
|
|
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
|
\item
|
|
{\bf neural++.hpp}\end{CompactItemize}
|