\hypertarget{tensor__wrap__specs_8h}{}\doxysection{tensor/tensor\+\_\+wrap\+\_\+specs.h File Reference}
\label{tensor__wrap__specs_8h}\index{tensor/tensor\_wrap\_specs.h@{tensor/tensor\_wrap\_specs.h}}


This is specs for various tensor wrappers.  


{\ttfamily \#include $<$memory$>$}\newline
{\ttfamily \#include $<$tuple$>$}\newline
{\ttfamily \#include $<$tensor.\+h$>$}\newline
Include dependency graph for tensor\+\_\+wrap\+\_\+specs.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=272pt]{tensor__wrap__specs_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{tensor__wrap__specs_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structnntrainer_1_1TensorSpecV2}{nntrainer\+::\+Tensor\+Spec\+V2}}
\begin{DoxyCompactList}\small\item\em Tensor Specification which describes how this tensor should be allocated and managed. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structnntrainer_1_1VarGradSpecV2}{nntrainer\+::\+Var\+Grad\+Spec\+V2}}
\begin{DoxyCompactList}\small\item\em variable + gradient specification \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structnntrainer_1_1WeightSpecV2}{nntrainer\+::\+Weight\+Spec\+V2}}
\begin{DoxyCompactList}\small\item\em weight specification \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespacenntrainer}{nntrainer}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std\+::tuple$<$ Tensor\+Dim, Tensor\+::\+Initializer, Weight\+Regularizer, float, float, float, bool, const std\+::string $>$ \mbox{\hyperlink{namespacenntrainer_a486fa79107b2f54f85fd24a6e76a75dc}{nntrainer\+::\+Weight\+Spec}}
\begin{DoxyCompactList}\small\item\em Specification of the \mbox{\hyperlink{classnntrainer_1_1Weight}{Weight}} as a tensor wrapper. \end{DoxyCompactList}\item 
typedef std\+::tuple$<$ Tensor\+Dim, Tensor\+::\+Initializer, bool, const std\+::string, Tensor\+Lifespan $>$ \mbox{\hyperlink{namespacenntrainer_acb044356c97403667b8eaf26179baf9c}{nntrainer\+::\+Var\+Grad\+Spec}}
\begin{DoxyCompactList}\small\item\em Specification of the \mbox{\hyperlink{classnntrainer_1_1Var__Grad}{Var\+\_\+\+Grad}} (trainable tensor) as a tensor wrapper. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{namespacenntrainer_a9b456193e005bc14834eb1ecc03a7d58}{nntrainer\+::\+Weight\+Regularizer}} \{ \mbox{\hyperlink{namespacenntrainer_a9b456193e005bc14834eb1ecc03a7d58ad927ac799e8b24f80fc80d89b2eb7131}{nntrainer\+::\+Weight\+Regularizer\+::\+L2\+N\+O\+RM}}, 
\mbox{\hyperlink{namespacenntrainer_a9b456193e005bc14834eb1ecc03a7d58ab50339a10e1de285ac99d4c3990b8693}{nntrainer\+::\+Weight\+Regularizer\+::\+N\+O\+NE}}, 
\mbox{\hyperlink{namespacenntrainer_a9b456193e005bc14834eb1ecc03a7d58a696b031073e74bf2cb98e5ef201d4aa3}{nntrainer\+::\+Weight\+Regularizer\+::\+U\+N\+K\+N\+O\+WN}}
 \}
\begin{DoxyCompactList}\small\item\em Enumeration of Weight Regularizer. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622d}{nntrainer\+::\+Tensor\+Lifespan}} \{ \newline
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da9adcd06a53fb18c2e2c0a28d5bb5f3ea}{nntrainer\+::\+Tensor\+Lifespan\+::\+U\+N\+M\+A\+N\+A\+G\+ED}} = 0b000, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da6f193735a1915532364db08ff2406a34}{nntrainer\+::\+Tensor\+Lifespan\+::\+F\+O\+R\+W\+A\+R\+D\+\_\+\+F\+U\+N\+C\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b001, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da7786c03b41e40c113e3bb577568908b1}{nntrainer\+::\+Tensor\+Lifespan\+::\+C\+A\+L\+C\+\_\+\+D\+E\+R\+I\+V\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b010, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622dad313a48c983c59591aa678a5d88d8de3}{nntrainer\+::\+Tensor\+Lifespan\+::\+C\+A\+L\+C\+\_\+\+G\+R\+A\+D\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b100, 
\newline
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622daa6fd61589981ed03bc38459de3ffebea}{nntrainer\+::\+Tensor\+Lifespan\+::\+C\+A\+L\+C\+\_\+\+A\+G\+R\+A\+D\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b1000, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da3a00727a27a5b578218b85d2f7085f95}{nntrainer\+::\+Tensor\+Lifespan\+::\+C\+A\+L\+C\+\_\+\+G\+R\+A\+D\+\_\+\+D\+E\+R\+I\+V\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b110, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622dae2ae557af6d708d49d55b61d82592ae3}{nntrainer\+::\+Tensor\+Lifespan\+::\+C\+A\+L\+C\+\_\+\+G\+R\+A\+D\+\_\+\+D\+E\+R\+I\+V\+\_\+\+A\+G\+R\+A\+D\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b1110, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da2f42cb582b77d5254dc373069949e3a6}{nntrainer\+::\+Tensor\+Lifespan\+::\+F\+O\+R\+W\+A\+R\+D\+\_\+\+G\+R\+A\+D\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b101, 
\newline
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622dad8783650f9b5c6b7d8fa30f5c5660969}{nntrainer\+::\+Tensor\+Lifespan\+::\+F\+O\+R\+W\+A\+R\+D\+\_\+\+G\+R\+A\+D\+\_\+\+A\+G\+R\+A\+D\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b1101, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da7ad41d23392658992665c714c17897be}{nntrainer\+::\+Tensor\+Lifespan\+::\+F\+O\+R\+W\+A\+R\+D\+\_\+\+D\+E\+R\+I\+V\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b011, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da1706ba50c10e909d84876b75fac7294f}{nntrainer\+::\+Tensor\+Lifespan\+::\+B\+A\+C\+K\+W\+A\+R\+D\+\_\+\+F\+U\+N\+C\+\_\+\+L\+I\+F\+E\+S\+P\+AN}}, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622da3f7a0f4f9399f0d9ec0d8d26ec59e9ec}{nntrainer\+::\+Tensor\+Lifespan\+::\+I\+T\+E\+R\+A\+T\+I\+O\+N\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b1111, 
\newline
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622daca0c2bc976ced58a12e3386494e15d71}{nntrainer\+::\+Tensor\+Lifespan\+::\+E\+P\+O\+C\+H\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b11111, 
\mbox{\hyperlink{namespacenntrainer_a7bd666a3854202ea94feb44a15ad622daa9e0b1de0ff7353f28b66401c4d303bc}{nntrainer\+::\+Tensor\+Lifespan\+::\+M\+A\+X\+\_\+\+L\+I\+F\+E\+S\+P\+AN}} = 0b111111
 \}
\begin{DoxyCompactList}\small\item\em define the lifespan of the given tensor to reduce peak memory \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This is specs for various tensor wrappers. 

Copyright (C) 2021 Parichay Kapoor \href{mailto:pk.kapoor@samsung.com}{\texttt{ pk.\+kapoor@samsung.\+com}}

\begin{DoxyDate}{Date}
26 July 2021 
\end{DoxyDate}
\begin{DoxySeeAlso}{See also}
\href{https://github.com/nnstreamer/nntrainer}{\texttt{ https\+://github.\+com/nnstreamer/nntrainer}} 
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
Parichay Kapoor \href{mailto:pk.kapoor@samsung.com}{\texttt{ pk.\+kapoor@samsung.\+com}} 
\end{DoxyAuthor}
\begin{DoxyRefDesc}{Bug}
\item[\mbox{\hyperlink{bug__bug000229}{Bug}}]No known bugs except for N\+YI items \end{DoxyRefDesc}
