32 #ifndef __PDS_CONV1DLAYER_HPP__
33 #define __PDS_CONV1DLAYER_HPP__
38 #include <Pds/AbstractLayer>
71 std::vector<std::vector<Pds::Vector>>
W;
124 double(*func)(
double)=Pds::ReLU,
125 double(*dfunc)(
double)=Pds::DReLU,
127 Pds::Ra::Padding
Padding=Pds::Ra::Valid );
144 double(*func)(
double)=Pds::ReLU,
145 double(*dfunc)(
double)=Pds::DReLU,
147 Pds::Ra::Padding
Padding=Pds::Ra::Valid);
178 bool Rand(
double minval,
double maxval);
188 bool SetActFunc(
double (*func)(
double),
double (*dfunc)(
double));
448 std::vector<Pds::Vector>
Predict(
const std::vector<Pds::Vector> &Input)
const;
467 void Print(std::string str=
"")
const;
La clase tipo Pds::AbstractLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
La clase tipo Pds::Conv1DLayer . Esta clase genera un objeto con parametros. Para usar incluir <Pds/C...
std::vector< double > Bias
double(* DActFunc)(double)
double(* ActFunc)(double)
std::vector< std::vector< Pds::Vector > > W
unsigned int Ninputs(void) const
Retorna el número de capas de entrada.
bool SetActFunc(double(*func)(double), double(*dfunc)(double))
Retorna true si la funcion de activacion fue modificada o false si no.
bool SaveInStream(std::ofstream &myfile) const
Salva los datos de la capa.
void MakeEmpty(void)
Limpia el objeto.
Pds::AbstractLayer * Clone(void)
Retorna un puntero (generado con new) a una nuevo dirección de memoria con una copia del objeto actua...
void PrintStylized(std::string str="") const
Muestra en pantalla el contenido de Pds::Conv1DLayer, en el formato (Nli,Ncol).
std::string ExportXmlToString(void) const
Salva los datos de la capa en un std::string en formato Xml.
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....
unsigned int Noutputs(void) const
Retorna el número de capas de salida.
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 u...
std::vector< Pds::Vector > Predict(const std::vector< Pds::Vector > &Input) const
Evalua la capa de la Conv1D.
Conv1DLayer(void)
Crea un objeto de tipo Pds::Conv1DLayer nulo con 0 entradas y 0 salidas. Sin función de activación....
Pds::Shape GetOutputShape(const Pds::Shape &In) const
Retorna el Shape de salida de la estructura.
unsigned int KernelSize(void) const
Retorna el tamaño de cada kernel.
Conv1DLayer(const Pds::Conv1DLayer &B)
Crea un objeto de tipo Pds::Conv1DLayer copiando datos desde otro.
bool Rand(double minval, double maxval)
Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval.
bool ExportXmlToStream(std::ofstream &myfile) const
Salva los datos de la capa en un std::ofstream en formato Xml.
Pds::Shape GetInputShape(void) const
Retorna el Shape de entrada de la estructura, si no importa el elemento es -1.
bool IsEmpty(void) const
Retorna true si la capa esta vacia o false si no.
bool ImportXmlFromString(const std::string &str)
Carga los datos de la capa.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::Conv1DLayer, elementos separados por tabulador.
bool LoadFromStream(std::ifstream &ifs)
Carga los datos de la capa.
Pds::TensorBlock PredictTensor(const Pds::TensorBlock &In) const
Evalua la capa de la Conv1D.
const std::string Conv1DLayer
Tag de un objeto de tipo Pds::Conv1DLayer.
Nombre de espacion para PDS (Procesamiento Digital de Senales)