\hypertarget{classnntrainer_1_1RawFileDataProducer}{}\doxysection{nntrainer\+::Raw\+File\+Data\+Producer Class Reference}
\label{classnntrainer_1_1RawFileDataProducer}\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}


\mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer}{Raw\+File\+Data\+Producer}} which contains a callback and returns back.  




{\ttfamily \#include $<$raw\+\_\+file\+\_\+data\+\_\+producer.\+h$>$}



Inheritance diagram for nntrainer\+::Raw\+File\+Data\+Producer\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=251pt]{classnntrainer_1_1RawFileDataProducer__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for nntrainer\+::Raw\+File\+Data\+Producer\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=251pt]{classnntrainer_1_1RawFileDataProducer__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_ae39ea6305cca7d4e5c6e5a8d891ad654}{Raw\+File\+Data\+Producer}} ()
\begin{DoxyCompactList}\small\item\em Construct a new Raw File Data Producer object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_a24a3ace0ff22d696044f70080d20f854}{Raw\+File\+Data\+Producer}} (const std\+::string \&path)
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer}{Raw\+File\+Data\+Producer}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_a5ef0b9ff581c492ba72f02decd6234c8}{$\sim$\+Raw\+File\+Data\+Producer}} ()
\begin{DoxyCompactList}\small\item\em Destroy the \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer}{Raw\+File\+Data\+Producer}} object. \end{DoxyCompactList}\item 
const std\+::string \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_a8bb02b68155b77ef77fe3cfb95cdc75e}{get\+Type}} () const override
\begin{DoxyCompactList}\small\item\em Get the producer type. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_ae2f2ce3a68263d6f2f5c479c7791f478}{set\+Property}} (const std\+::vector$<$ std\+::string $>$ \&properties) override
\item 
\mbox{\hyperlink{classnntrainer_1_1DataProducer_a68a584a2abd402afb289fb79dc79426f}{Data\+Producer\+::\+Generator}} \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_a0bd1b3313b7ed516427e48749b11dd5b}{finalize}} (const std\+::vector$<$ Tensor\+Dim $>$ \&input\+\_\+dims, const std\+::vector$<$ Tensor\+Dim $>$ \&label\+\_\+dims, void $\ast$user\+\_\+data=nullptr) override
\item 
unsigned int \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_a5df3bab03882fedf588b2ca68d682ca4}{size}} (const std\+::vector$<$ Tensor\+Dim $>$ \&input\+\_\+dims, const std\+::vector$<$ Tensor\+Dim $>$ \&label\+\_\+dims) const override
\item 
void \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_a6675b17adf09ce54151e2259cfb7def4}{export\+To}} (\mbox{\hyperlink{classnntrainer_1_1Exporter}{Exporter}} \&exporter, const ml\+::train\+::\+Export\+Methods \&method) const override
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static constexpr unsigned int \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer_a3c5c60d51266364b97e89fc3cad97f84}{pixel\+\_\+size}}
\item 
\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a653de83ae615bc1097ee8612e43da173}\label{classnntrainer_1_1RawFileDataProducer_a653de83ae615bc1097ee8612e43da173}} 
static const std\+::string {\bfseries type} = \char`\"{}file\char`\"{}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer}{Raw\+File\+Data\+Producer}} which contains a callback and returns back. 



Definition at line 37 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+h.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_ae39ea6305cca7d4e5c6e5a8d891ad654}\label{classnntrainer_1_1RawFileDataProducer_ae39ea6305cca7d4e5c6e5a8d891ad654}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!RawFileDataProducer@{RawFileDataProducer}}
\index{RawFileDataProducer@{RawFileDataProducer}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{RawFileDataProducer()}{RawFileDataProducer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily nntrainer\+::\+Raw\+File\+Data\+Producer\+::\+Raw\+File\+Data\+Producer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Construct a new Raw File Data Producer object. 



Definition at line 29 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a24a3ace0ff22d696044f70080d20f854}\label{classnntrainer_1_1RawFileDataProducer_a24a3ace0ff22d696044f70080d20f854}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!RawFileDataProducer@{RawFileDataProducer}}
\index{RawFileDataProducer@{RawFileDataProducer}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{RawFileDataProducer()}{RawFileDataProducer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily nntrainer\+::\+Raw\+File\+Data\+Producer\+::\+Raw\+File\+Data\+Producer (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{path }\end{DoxyParamCaption})}



Construct a new \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer}{Raw\+File\+Data\+Producer}} object. 



Definition at line 31 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a5ef0b9ff581c492ba72f02decd6234c8}\label{classnntrainer_1_1RawFileDataProducer_a5ef0b9ff581c492ba72f02decd6234c8}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!````~RawFileDataProducer@{$\sim$RawFileDataProducer}}
\index{````~RawFileDataProducer@{$\sim$RawFileDataProducer}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{$\sim$RawFileDataProducer()}{~RawFileDataProducer()}}
{\footnotesize\ttfamily nntrainer\+::\+Raw\+File\+Data\+Producer\+::$\sim$\+Raw\+File\+Data\+Producer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Destroy the \mbox{\hyperlink{classnntrainer_1_1RawFileDataProducer}{Raw\+File\+Data\+Producer}} object. 



Definition at line 33 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a6675b17adf09ce54151e2259cfb7def4}\label{classnntrainer_1_1RawFileDataProducer_a6675b17adf09ce54151e2259cfb7def4}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!exportTo@{exportTo}}
\index{exportTo@{exportTo}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{exportTo()}{exportTo()}}
{\footnotesize\ttfamily void nntrainer\+::\+Raw\+File\+Data\+Producer\+::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 [override]}, {\ttfamily [virtual]}}







Reimplemented from \mbox{\hyperlink{classnntrainer_1_1DataProducer_ac99063a390b2187cf8ec4c95e6f9aa3f}{nntrainer\+::\+Data\+Producer}}.



Definition at line 113 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1RawFileDataProducer_a6675b17adf09ce54151e2259cfb7def4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a0bd1b3313b7ed516427e48749b11dd5b}\label{classnntrainer_1_1RawFileDataProducer_a0bd1b3313b7ed516427e48749b11dd5b}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!finalize@{finalize}}
\index{finalize@{finalize}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{finalize()}{finalize()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classnntrainer_1_1DataProducer_a68a584a2abd402afb289fb79dc79426f}{Data\+Producer\+::\+Generator}} nntrainer\+::\+Raw\+File\+Data\+Producer\+::finalize (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ Tensor\+Dim $>$ \&}]{input\+\_\+dims,  }\item[{const std\+::vector$<$ Tensor\+Dim $>$ \&}]{label\+\_\+dims,  }\item[{void $\ast$}]{user\+\_\+data = {\ttfamily nullptr} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}





as we are passing the reference of file, this means created lamabda is tightly couple with the file, this is not desirable but working fine for now...

Reimplemented from \mbox{\hyperlink{classnntrainer_1_1DataProducer_aa6443d25036ccb3e85b284ca51022291}{nntrainer\+::\+Data\+Producer}}.



Definition at line 47 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1RawFileDataProducer_a0bd1b3313b7ed516427e48749b11dd5b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a8bb02b68155b77ef77fe3cfb95cdc75e}\label{classnntrainer_1_1RawFileDataProducer_a8bb02b68155b77ef77fe3cfb95cdc75e}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!getType@{getType}}
\index{getType@{getType}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{getType()}{getType()}}
{\footnotesize\ttfamily const std\+::string nntrainer\+::\+Raw\+File\+Data\+Producer\+::get\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Get the producer type. 

\begin{DoxyReturn}{Returns}
const std\+::string type representation 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classnntrainer_1_1DataProducer_aa3f081fc338b4dbf18c6639a1b12daeb}{nntrainer\+::\+Data\+Producer}}.



Definition at line 35 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.

\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_ae2f2ce3a68263d6f2f5c479c7791f478}\label{classnntrainer_1_1RawFileDataProducer_ae2f2ce3a68263d6f2f5c479c7791f478}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!setProperty@{setProperty}}
\index{setProperty@{setProperty}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{setProperty()}{setProperty()}}
{\footnotesize\ttfamily void nntrainer\+::\+Raw\+File\+Data\+Producer\+::set\+Property (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::string $>$ \&}]{properties }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}







Reimplemented from \mbox{\hyperlink{classnntrainer_1_1DataProducer_adec84ff25c17552145cc8b3af842749d}{nntrainer\+::\+Data\+Producer}}.



Definition at line 39 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classnntrainer_1_1RawFileDataProducer_ae2f2ce3a68263d6f2f5c479c7791f478_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a5df3bab03882fedf588b2ca68d682ca4}\label{classnntrainer_1_1RawFileDataProducer_a5df3bab03882fedf588b2ca68d682ca4}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!size@{size}}
\index{size@{size}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{size()}{size()}}
{\footnotesize\ttfamily unsigned int nntrainer\+::\+Raw\+File\+Data\+Producer\+::size (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ Tensor\+Dim $>$ \&}]{input\+\_\+dims,  }\item[{const std\+::vector$<$ Tensor\+Dim $>$ \&}]{label\+\_\+dims }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}





checking alignment is a good way to make check if a file is valid, unfortunately, our test dataset does not have this property (training\+Set.\+dat, val\+Set.\+dat, test\+Set.\+dat) after checking, we can uncomment below line.

Reimplemented from \mbox{\hyperlink{classnntrainer_1_1DataProducer_aeab0bfee2f7d741e7317716fcf43f00b}{nntrainer\+::\+Data\+Producer}}.



Definition at line 84 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp.

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


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classnntrainer_1_1RawFileDataProducer_a3c5c60d51266364b97e89fc3cad97f84}\label{classnntrainer_1_1RawFileDataProducer_a3c5c60d51266364b97e89fc3cad97f84}} 
\index{nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}!pixel\_size@{pixel\_size}}
\index{pixel\_size@{pixel\_size}!nntrainer::RawFileDataProducer@{nntrainer::RawFileDataProducer}}
\doxysubsubsection{\texorpdfstring{pixel\_size}{pixel\_size}}
{\footnotesize\ttfamily constexpr unsigned int nntrainer\+::\+Raw\+File\+Data\+Producer\+::pixel\+\_\+size\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [constexpr]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{    \textcolor{keyword}{sizeof}(float)}

\end{DoxyCode}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000036}{Todo}}]make this a configurable type \end{DoxyRefDesc}


Definition at line 39 of file raw\+\_\+file\+\_\+data\+\_\+producer.\+h.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
dataset/\mbox{\hyperlink{raw__file__data__producer_8h}{raw\+\_\+file\+\_\+data\+\_\+producer.\+h}}\item 
dataset/\mbox{\hyperlink{raw__file__data__producer_8cpp}{raw\+\_\+file\+\_\+data\+\_\+producer.\+cpp}}\end{DoxyCompactItemize}
