32 #ifndef __PDS_FCLAYER_HPP__
33 #define __PDS_FCLAYER_HPP__
111 FCLayer(
unsigned int Nin,
unsigned int Nout,
double(*func)(
double),
double(*dfunc)(
double));
133 FCLayer(
const Pds::Matrix &
W,
double(*func)(
double),
double(*dfunc)(
double));
164 bool Rand(
double minval,
double maxval);
225 bool SetFuncAct(
double (*func)(
double),
double (*dfunc)(
double));
256 bool LoadFromStream(std::ifstream &ifs,
double (*func)(
double),
double (*dfunc)(
double));
280 bool Evaluate(
const Pds::Vector &In, Pds::Vector &Out)
const;
289 bool Evaluate(
const Pds::Vector &In, Pds::Vector &Out, Pds::Vector &Z)
const;
312 bool DeltaPropagation(
const Pds::Vector &delta,
const Pds::Vector &z_1, Pds::Vector &delta_1)
const;
352 bool WUpdate(
double alpham,
const Pds::Matrix &Q_1,
double lambda=0);
369 void Print(std::string str=
"")
const;
La clase tipo Pds::FCLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
double(* DFuncAct)(double)
double(* FuncAct)(double)
FCLayer(const Pds::FCLayer &B)
Crea un objeto de tipo Pds::FCLayer copiando datos desde otro.
unsigned int Ninputs(void) const
Retorna el numero de elementos de entrada.
Pds::Vector Evaluate(const Pds::Vector &In) const
Evalua la capa de la CNN.
bool Rand(double minval, double maxval)
Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval.
bool Evaluate(const Pds::Vector &In, Pds::Vector &Out) const
Evalua la capa de la CNN.
FCLayer(const Pds::Matrix &W, double(*func)(double), double(*dfunc)(double))
Crea un objeto de tipo Pds::FCLayer con W.Ncol() entradas y W.Nlin() salidas. Usa la función sigmoide...
void PrintStylized(std::string str="") const
Muestra en pantalla el contenido de Pds::FCLayer, en el formato (Nli,Ncol).
bool SetFuncAct(double(*func)(double), double(*dfunc)(double))
Retorna true si la funcion de activacion fue modificada o false si no.
bool DeltaPropagation(const Pds::Vector &delta, const Pds::Vector &z_1, Pds::Vector &delta_1) const
Calcula el valor de en la capa de la CNN a partir de y .
bool DeltaPropagationSigmoid(const Pds::Vector &delta, const Pds::Vector &a_1, Pds::Vector &delta_1) const
Calcula el valor de en la capa de la CNN a partir de y .
unsigned int Noutputs(void) const
Retorna el numero de elementos de salida.
void MakeEmpty(void)
Limpia el objeto.
FCLayer(void)
Crea un objeto de tipo Pds::FCLayer nulo con 0 entradas y 0 salidas. Sin función de activación....
FCLayer(unsigned int Nin, unsigned int Nout, double(*func)(double), double(*dfunc)(double))
Crea un objeto de tipo Pds::FCLayer con Nin entradas y Nout salidas. Los pesos so iniciados con una d...
bool WUpdate(double alpham, const Pds::Matrix &Q_1, double lambda=0)
Calcula y aplica la variación en la capa de la CNN a partir de .
bool LoadFromStream(std::ifstream &ifs, double(*func)(double), double(*dfunc)(double))
Carga los datos de la capa.
FCLayer(unsigned int Nin, unsigned int Nout)
Crea un objeto de tipo Pds::FCLayer con Nin entradas y Nout salidas. Usa la función sigmoide....
bool LoadFromStream(std::ifstream &ifs)
Carga los datos de la capa.
FCLayer(const Pds::Matrix &W)
Crea un objeto de tipo Pds::FCLayer con W.Ncol() entradas y W.Nlin() salidas. Usa la función sigmoide...
bool IsEmpty(void) const
Retorna true si la capa esta vacia o false si no.
bool SaveInStream(std::ofstream &myfile) const
Salva los datos de la capa.
std::string WToString(void) const
Retorna como un string la matriz W.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::FCLayer, elementos separados por tabulador.
bool Evaluate(const Pds::Vector &In, Pds::Vector &Out, Pds::Vector &Z) const
Evalua la capa de la CNN.
unsigned long int DFuncActToULInt(void) const
Retorna el numero de la direccion de la derivada de la funcion de activacion.
unsigned long int FuncActToULInt(void) const
Retorna el numero de la direccion de la funcion de activacion.
Nombre de espacion para PDS (Procesamiento Digital de Senales)