Home | Develop | Download | Contact
Namespaces | Estructuras de datos
Métodos Pds::Conv1DLayer

Metodos de la clase Pds::Conv1DLayer, una única capa de una Full Connected Neural Network. Más...

Namespaces

namespace  Pds
 Nombre de espacion para PDS (Procesamiento Digital de Senales)
 

Estructuras de datos

class  Pds::Conv1DLayer
 La clase tipo Pds::Conv1DLayer . Esta clase genera un objeto con parametros. Para usar incluir <Pds/Conv1DLayer>. Más...
 

Varios tipos de constructores

Crean una objeto Pds::Conv1DLayer

 Pds::Conv1DLayer::Conv1DLayer (void)
 Crea un objeto de tipo Pds::Conv1DLayer nulo con 0 entradas y 0 salidas. Sin función de activación. Matriz de pesos vazia. Más...
 
 Pds::Conv1DLayer::Conv1DLayer (unsigned int Nin, unsigned int Nout, unsigned int Sz, double(*func)(double)=Pds::ReLU, double(*dfunc)(double)=Pds::DReLU, unsigned int Stride=1, Pds::Ra::Padding Padding=Pds::Ra::Valid)
 Crea un objeto de tipo Pds::Conv1DLayer con Nin entradas y Nout salidas. Los pesos so iniciados con una distribución normal com desvio igual a 1. Más...
 
 Pds::Conv1DLayer::Conv1DLayer (const std::vector< std::vector< Pds::Vector >> &W, double(*func)(double)=Pds::ReLU, double(*dfunc)(double)=Pds::DReLU, unsigned int Stride=1, Pds::Ra::Padding Padding=Pds::Ra::Valid)
 Crea un objeto de tipo Pds::Conv1DLayer con W[0].size() entradas y W.size() salidas. Los pesos son iniciados desde W. Más...
 
 Pds::Conv1DLayer::Conv1DLayer (const Pds::Conv1DLayer &B)
 Crea un objeto de tipo Pds::Conv1DLayer copiando datos desde otro. Más...
 
 Pds::Conv1DLayer::~Conv1DLayer ()
 

Inicializacion

bool Pds::Conv1DLayer::Rand (double minval, double maxval)
 Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval. Más...
 
bool Pds::Conv1DLayer::SetActFunc (double(*func)(double), double(*dfunc)(double))
 Retorna true si la funcion de activacion fue modificada o false si no. Más...
 

Get data

bool Pds::Conv1DLayer::IsEmpty (void) const
 Retorna true si la capa esta vacia o false si no. Más...
 
unsigned int Pds::Conv1DLayer::Noutputs (void) const
 Retorna el número de capas de salida. Más...
 
unsigned int Pds::Conv1DLayer::Ninputs (void) const
 Retorna el número de capas de entrada. Más...
 
unsigned int Pds::Conv1DLayer::KernelSize (void) const
 Retorna el tamaño de cada kernel. Más...
 
Pds::Shape Pds::Conv1DLayer::GetInputShape (void) const
 Retorna el Shape de entrada de la estructura, si no importa el elemento es -1. Más...
 
Pds::Shape Pds::Conv1DLayer::GetOutputShape (const Pds::Shape &In) const
 Retorna el Shape de salida de la estructura. Más...
 

Export

bool Pds::Conv1DLayer::ExportXmlToStream (std::ofstream &myfile) const
 Salva los datos de la capa en un std::ofstream en formato Xml. Más...
 
std::string Pds::Conv1DLayer::ExportXmlToString (void) const
 Salva los datos de la capa en un std::string en formato Xml. Más...
 
bool Pds::Conv1DLayer::ImportXmlFromString (const std::string &str)
 Carga los datos de la capa. Más...
 
bool Pds::Conv1DLayer::SaveInStream (std::ofstream &myfile) const
 Salva los datos de la capa. Más...
 
bool Pds::Conv1DLayer::LoadFromStream (std::ifstream &ifs)
 Carga los datos de la capa. Más...
 

Evaluar

Pds::TensorBlock Pds::Conv1DLayer::PredictTensor (const Pds::TensorBlock &In) const
 Evalua la capa de la Conv1D. Más...
 
std::vector< Pds::Vector > Pds::Conv1DLayer::Predict (const std::vector< Pds::Vector > &Input) const
 Evalua la capa de la Conv1D. Más...
 

Mostrando datos

void Pds::Conv1DLayer::Print (std::string str="") const
 Muestra en pantalla el contenido de Pds::Conv1DLayer, elementos separados por tabulador. Más...
 
void Pds::Conv1DLayer::PrintStylized (std::string str="") const
 Muestra en pantalla el contenido de Pds::Conv1DLayer, en el formato (Nli,Ncol). Más...
 
void Pds::Conv1DLayer::MakeEmpty (void)
 Limpia el objeto. Más...
 
Pds::AbstractLayerPds::Conv1DLayer::Clone (void)
 Retorna un puntero (generado con new) a una nuevo dirección de memoria con una copia del objeto actual. Más...
 

Descripción detallada

Metodos de la clase Pds::Conv1DLayer, una única capa de una Full Connected Neural Network.

#include <Pds/Conv1DLayer>

Informacion adicional puede ser encontrada en [1]

Documentación de las funciones

◆ Conv1DLayer() [1/4]

Pds::Conv1DLayer::Conv1DLayer ( void  )

Crea un objeto de tipo Pds::Conv1DLayer nulo con 0 entradas y 0 salidas. Sin función de activación. Matriz de pesos vazia.

◆ Conv1DLayer() [2/4]

Pds::Conv1DLayer::Conv1DLayer ( unsigned int  Nin,
unsigned int  Nout,
unsigned int  Sz,
double(*)(double)  func = Pds::ReLU,
double(*)(double)  dfunc = Pds::DReLU,
unsigned int  Stride = 1,
Pds::Ra::Padding  Padding = Pds::Ra::Valid 
)

Crea un objeto de tipo Pds::Conv1DLayer con Nin entradas y Nout salidas. Los pesos so iniciados con una distribución normal com desvio igual a 1.

Diagrama de la capa
Parámetros
[in]NinNúmero de entradas. Número $W[n].size()$ de capas de kernel.
[in]NoutNúmero de salidas. Número $W.size()$ de capas de kernel.
[in]SzTamaño del kernel.
[in]funcFunción de activación.
[in]dfuncDerivada de la función de activación.
[in]StridePaso de la concolución.
[in]PaddingPadding de la concolución. Puede ser Pds::Ra::Valid, Pds::Ra::Full o Pds::Ra::Same.

◆ Conv1DLayer() [3/4]

Pds::Conv1DLayer::Conv1DLayer ( const std::vector< std::vector< Pds::Vector >> &  W,
double(*)(double)  func = Pds::ReLU,
double(*)(double)  dfunc = Pds::DReLU,
unsigned int  Stride = 1,
Pds::Ra::Padding  Padding = Pds::Ra::Valid 
)

Crea un objeto de tipo Pds::Conv1DLayer con W[0].size() entradas y W.size() salidas. Los pesos son iniciados desde W.

Diagrama de la capa
Parámetros
[in]WVector de vectores de kernels $W[i][j],\quad i\in\{0,1,...,Nout-1\}, j\in\{0,1,...,Nin-1\}$.
[in]funcFunción de activación.
[in]dfuncDerivada de la función de activación.
[in]StridePaso de la concolución.
[in]PaddingPadding de la concolución. Puede ser Pds::Ra::Valid, Pds::Ra::Full o Pds::Ra::Same.

◆ Conv1DLayer() [4/4]

Pds::Conv1DLayer::Conv1DLayer ( const Pds::Conv1DLayer B)

Crea un objeto de tipo Pds::Conv1DLayer copiando datos desde otro.

Parámetros
[in]BConv1DLayer a copiar.

◆ Rand()

bool Pds::Conv1DLayer::Rand ( double  minval,
double  maxval 
)

Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval.

Parámetros
[in]minvalMínimo valor.
[in]maxvalMáximo valor.

◆ SetActFunc()

bool Pds::Conv1DLayer::SetActFunc ( double(*)(double)  func,
double(*)(double)  dfunc 
)

Retorna true si la funcion de activacion fue modificada o false si no.

Parámetros
[in]funcFunción de activación.
[in]dfuncDerivada de la función de activación.
Devuelve
Retorna true si la funcion de activacion fue modificada o false si no.

◆ IsEmpty()

bool Pds::Conv1DLayer::IsEmpty ( void  ) const
virtual

Retorna true si la capa esta vacia o false si no.

Devuelve
Retorna true si la capa esta vacia o false si no.

Implementa Pds::AbstractLayer.

◆ Noutputs()

unsigned int Pds::Conv1DLayer::Noutputs ( void  ) const

Retorna el número de capas de salida.

Devuelve
Retorna el número de capas de salida.

◆ Ninputs()

unsigned int Pds::Conv1DLayer::Ninputs ( void  ) const

Retorna el número de capas de entrada.

Devuelve
Retorna el número de capas de entrada.

◆ KernelSize()

unsigned int Pds::Conv1DLayer::KernelSize ( void  ) const

Retorna el tamaño de cada kernel.

Devuelve
Retorna el tamaño de cada kernel.

◆ GetInputShape()

Pds::Shape Pds::Conv1DLayer::GetInputShape ( void  ) const
virtual

Retorna el Shape de entrada de la estructura, si no importa el elemento es -1.

Devuelve
Retorna el Shape de entrada de la estructura

Implementa Pds::AbstractLayer.

◆ GetOutputShape()

Pds::Shape Pds::Conv1DLayer::GetOutputShape ( const Pds::Shape &  In) const
virtual

Retorna el Shape de salida de la estructura.

Devuelve
Retorna el Shape de salida de la estructura

Implementa Pds::AbstractLayer.

◆ ExportXmlToStream()

bool Pds::Conv1DLayer::ExportXmlToStream ( std::ofstream &  myfile) const
virtual

Salva los datos de la capa en un std::ofstream en formato Xml.

Por exemplo si guardamos un objeto de tipo Pds::Conv1DLayer en el std::ofstream se escribirá algo similar a:

<Conv1DLayer>
<Nin>2</Nin>
<Nout>2</Nout>
<ActFunc>5</ActFunc>
<DActFunc>6</DActFunc>
<Stride>1</Stride>
<Padding>2</Padding>
<TensorBlock>
<Nel>2</Nel>
<SampleBlock>
<Nel>2</Nel>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
0.53763086114909 0.36954202465847 0.56382463392773
</Array>
</Matrix>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
-0.87250749271152 -0.22063468437125 -1.3938059648353
</Array>
</Matrix>
</SampleBlock>
<SampleBlock>
<Nel>2</Nel>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
-0.7925277058445 2.1272209970701 -1.045855489402
</Array>
</Matrix>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
0.86048864346136 0.74207001785205 1.1751184865889
</Array>
</Matrix>
</SampleBlock>
</TensorBlock>
</Conv1DLayer>
Parámetros
[in]myfileStream de salida.
Devuelve
Retorna true si todo fue bien o false si no.

Implementa Pds::AbstractLayer.

Ejemplos
example_conv1dlayer_export_stream.cpp.

◆ ExportXmlToString()

std::string Pds::Conv1DLayer::ExportXmlToString ( void  ) const
virtual

Salva los datos de la capa en un std::string en formato Xml.

Por exemplo si guardamos un objeto de tipo Pds::Conv1DLayer en el std::ofstream se escribirá algo similar a:

<Conv1DLayer>
<Nin>2</Nin>
<Nout>2</Nout>
<ActFunc>5</ActFunc>
<DActFunc>6</DActFunc>
<Stride>1</Stride>
<Padding>2</Padding>
<TensorBlock>
<Nel>2</Nel>
<SampleBlock>
<Nel>2</Nel>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
0.53763086114909 0.36954202465847 0.56382463392773
</Array>
</Matrix>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
-0.87250749271152 -0.22063468437125 -1.3938059648353
</Array>
</Matrix>
</SampleBlock>
<SampleBlock>
<Nel>2</Nel>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
-0.7925277058445 2.1272209970701 -1.045855489402
</Array>
</Matrix>
<Matrix>
<Nlin>1</Nlin>
<Ncol>3</Ncol>
<Array>
0.86048864346136 0.74207001785205 1.1751184865889
</Array>
</Matrix>
</SampleBlock>
</TensorBlock>
</Conv1DLayer>
Devuelve
Retorna un std::string en formato Xml con los datos de la capa.

Implementa Pds::AbstractLayer.

Ejemplos
example_conv1dlayer_export_string.cpp.

◆ ImportXmlFromString()

bool Pds::Conv1DLayer::ImportXmlFromString ( const std::string &  str)
virtual

Carga los datos de la capa.

Atención
Devido a que la dirección de memoria de la función de activación cambia en cada ejecución de um nuevo programa, en el archivo se guardan los Id de las funciones en el vector Pds::Nn::FuncVector.
Atención
si se detecta un Id=0 o un Id fuera de rango en Pds::Nn::FuncVector se escribirán las funciones Pds::Nn::DefaultActFunc y Pds::Nn::DefaultDActFunc, respectivamente. Si se usan Pds::Nn::DefaultActFunc o Pds::Nn::DefaultDActFunc y estos son NULL entonces se retorna false.
Parámetros
[in]strString donde se leerá la información.
Devuelve
Retorna true si todo fue bien o false en caso de error. La memoria es liberada antes de la importación de modo que en caso de error la capa IsEmpty()==true.

Implementa Pds::AbstractLayer.

Ejemplos
example_conv1dlayer_export_stream.cpp y example_conv1dlayer_export_string.cpp.

◆ SaveInStream()

bool Pds::Conv1DLayer::SaveInStream ( std::ofstream &  myfile) const

Salva los datos de la capa.

Parámetros
[in]myfileStream onde se escribira la informacion.
Ejemplos
example_conv1dlayer_export_save.cpp.

◆ LoadFromStream()

bool Pds::Conv1DLayer::LoadFromStream ( std::ifstream &  ifs)

Carga los datos de la capa.

Atención
Devido a que la dirección de memoria de la función de activación cambia en cada ejecución de um nuevo programa, en el archivo se guardan los Id de las funciones en el vector Pds::Nn::FuncVector.
Atención
si se detecta un Id=0 o un Id fuera de rango en Pds::Nn::FuncVector se escribirán las funciones Pds::Nn::DefaultActFunc y Pds::Nn::DefaultDActFunc, respectivamente. Si se usan Pds::Nn::DefaultActFunc o Pds::Nn::DefaultDActFunc y estos son NULL entonces se retorna false.
Parámetros
[in]ifsStream donde se leerá la información.
Devuelve
Retorna true si todo fue bien o false en caso de error. La memoria es liberada antes de la importación de modo que en caso de error la capa IsEmpty()==true.
Ejemplos
example_conv1dlayer_export_save.cpp.

◆ PredictTensor()

Pds::TensorBlock Pds::Conv1DLayer::PredictTensor ( const Pds::TensorBlock &  In) const
virtual

Evalua la capa de la Conv1D.

\[ \mathbf{Output}[n]_l \leftarrow ActFunc \left( Pds::Conv1DCh(\mathbf{Input}_l,\mathbf{W}[n]) \right) \]

Diagrama de la capa
Parámetros
[in]InVector de matrices de entrada.
Devuelve
Retorna un vector $\mathbf{Output}$ de matrices de salida.

Implementa Pds::AbstractLayer.

◆ Predict()

std::vector<Pds::Vector> Pds::Conv1DLayer::Predict ( const std::vector< Pds::Vector > &  Input) const

Evalua la capa de la Conv1D.

\[ \mathbf{Output}[n] \leftarrow ActFunc \left( Pds::Conv1DCh(\mathbf{Input},\mathbf{W}[n]) \right) \]

Diagrama de la capa
Parámetros
[in]InputVector de matrices de entrada.
Devuelve
Retorna un vector $\mathbf{Output}$ de matrices de salida.

◆ Print()

void Pds::Conv1DLayer::Print ( std::string  str = "") const

Muestra en pantalla el contenido de Pds::Conv1DLayer, elementos separados por tabulador.

Parámetros
[in]strTexto a mostrar antes de imprimir el contenido.

◆ PrintStylized()

void Pds::Conv1DLayer::PrintStylized ( std::string  str = "") const

Muestra en pantalla el contenido de Pds::Conv1DLayer, en el formato (Nli,Ncol).

Parámetros
[in]strTexto a mostrar antes de imprimir el contenido.
Ejemplos
example_conv1dlayer_create.cpp, example_conv1dlayer_export_save.cpp, example_conv1dlayer_export_stream.cpp y example_conv1dlayer_export_string.cpp.

◆ MakeEmpty()

void Pds::Conv1DLayer::MakeEmpty ( void  )
virtual

Limpia el objeto.

Implementa Pds::AbstractLayer.

◆ Clone()

Pds::AbstractLayer* Pds::Conv1DLayer::Clone ( void  )
inlinevirtual

Retorna un puntero (generado con new) a una nuevo dirección de memoria con una copia del objeto actual.

Implementa Pds::AbstractLayer.

Definición en la línea 486 del archivo Conv1DLayer.hpp.

487  {
488  return new Pds::Conv1DLayer(*this);
489  }
const std::string Conv1DLayer
Tag de un objeto de tipo Pds::Conv1DLayer.
Definition: NnDefines.hpp:139

Hace referencia a Pds::Nn::Tag::Conv1DLayer.

◆ ~Conv1DLayer()

Pds::Conv1DLayer::~Conv1DLayer ( )

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed