Metodos de la clase Pds::FCLayer, una única capa de una Full Connected Neural Network.
Más...
|
namespace | Pds |
| Nombre de espacion para PDS (Procesamiento Digital de Senales)
|
|
|
bool | Pds::FCLayer::Rand (double minval, double maxval) |
| Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval. Más...
|
|
bool | Pds::FCLayer::SetActFunc (double(*func)(double), double(*dfunc)(double)) |
| Retorna true si la funcion de activacion fue modificada o false si no. Más...
|
|
|
static bool | Pds::FCLayer::DeltaBackPropagation (const Pds::Matrix &W, const Pds::Vector &delta_p1, double(*dfunc_m1)(double), const Pds::Vector &z, Pds::Vector &delta) |
| Calcula el valor de en la capa de la CNN a partir de y . Más...
|
|
bool | Pds::FCLayer::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 . Más...
|
|
Metodos de la clase Pds::FCLayer, una única capa de una Full Connected Neural Network.
#include <Pds/FCLayer>
Informacion adicional puede ser encontrada en [1]
◆ FCLayer() [1/6]
Pds::FCLayer::FCLayer |
( |
void |
| ) |
|
Crea un objeto de tipo Pds::FCLayer nulo con 0 entradas y 0 salidas. Sin función de activación. Matriz de pesos vazia.
◆ FCLayer() [2/6]
Pds::FCLayer::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. Los pesos so iniciados con una distribución normal com desvio igual a 1.
Diagrama de la capa
- Parámetros
-
[in] | Nin | Número de entradas. |
[in] | Nout | Número de salidas. |
◆ FCLayer() [3/6]
Pds::FCLayer::FCLayer |
( |
unsigned int |
Nin, |
|
|
unsigned int |
Nout, |
|
|
double(*)(double) |
func, |
|
|
double(*)(double) |
dfunc |
|
) |
| |
Crea un objeto de tipo Pds::FCLayer 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] | Nin | Número de entradas. |
[in] | Nout | Número de salidas. |
[in] | func | Función de activación. |
[in] | dfunc | Derivada de la función de activación. |
◆ FCLayer() [4/6]
Pds::FCLayer::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. Los pesos son iniciados desde la matriz W.
Diagrama de la capa
- Parámetros
-
◆ FCLayer() [5/6]
Pds::FCLayer::FCLayer |
( |
const Pds::Matrix & |
W, |
|
|
double(*)(double) |
func, |
|
|
double(*)(double) |
dfunc |
|
) |
| |
Crea un objeto de tipo Pds::FCLayer con W.Ncol() entradas y W.Nlin() salidas. Usa la función sigmoide. Los pesos son iniciados desde la matriz W.
Diagrama de la capa
- Parámetros
-
[in] | W | Matriz de pesos. |
[in] | func | Función de activación. |
[in] | dfunc | Derivada de la función de activación. |
◆ FCLayer() [6/6]
Crea un objeto de tipo Pds::FCLayer copiando datos desde otro.
- Parámetros
-
◆ Rand()
bool Pds::FCLayer::Rand |
( |
double |
minval, |
|
|
double |
maxval |
|
) |
| |
Carga los pesos con valores aleatorios uniformemente distribuidos desde minval hasta maxval.
- Parámetros
-
[in] | minval | Mínimo valor. |
[in] | maxval | Máximo valor. |
◆ SetActFunc()
bool Pds::FCLayer::SetActFunc |
( |
double(*)(double) |
func, |
|
|
double(*)(double) |
dfunc |
|
) |
| |
Retorna true si la funcion de activacion fue modificada o false si no.
- Parámetros
-
[in] | func | Función de activación. |
[in] | dfunc | Derivada de la función de activación. |
- Devuelve
- Retorna true si la funcion de activacion fue modificada o false si no.
◆ IsEmpty()
bool Pds::FCLayer::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.
◆ Ninputs()
unsigned int Pds::FCLayer::Ninputs |
( |
void |
| ) |
const |
Retorna el numero de elementos de entrada.
- Devuelve
- Retorna el numero de elementos de entrada.
◆ Noutputs()
unsigned int Pds::FCLayer::Noutputs |
( |
void |
| ) |
const |
Retorna el numero de elementos de salida.
- Devuelve
- Retorna el numero de elementos de salida.
◆ GetInputShape()
Pds::Shape Pds::FCLayer::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::FCLayer::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.
◆ WToString()
std::string Pds::FCLayer::WToString |
( |
void |
| ) |
const |
Retorna como un string la matriz W.
- Devuelve
- Retorna como un string la matriz W.
◆ GetW()
const Pds::Matrix& Pds::FCLayer::GetW |
( |
void |
| ) |
const |
◆ GetActFunc()
Pds::Ra::FuncPointer Pds::FCLayer::GetActFunc |
( |
void |
| ) |
const |
Retorna la funcion de activación.
- Devuelve
- Retorna la funcion de activación.
◆ GetDActFunc()
Pds::Ra::FuncPointer Pds::FCLayer::GetDActFunc |
( |
void |
| ) |
const |
Retorna la derivada de la funcion de activación.
- Devuelve
- Retorna la derivada de la funcion de activación.
◆ ExportXmlToStream()
bool Pds::FCLayer::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::FCLayer
en el std::ofstream se escribirá algo similar a:
<FCLayer>
<Nin>2</Nin>
<Nout>3</Nout>
<ActFunc>3</ActFunc>
<DActFunc>4</DActFunc>
<Matrix>
<Nlin>3</Nlin>
<Ncol>3</Ncol>
<Array>
-1.045855489402 0.86048864346136 0.74207001785205
1.1751184865889 0.56014623106965 0.32903772889095
0.70173766075107 -1.905261897823 -0.63665096203108
</Array>
</Matrix>
</FCLayer>
- Parámetros
-
[in] | myfile | Stream de salida. |
- Devuelve
- Retorna true si todo fue bien o false si no.
Implementa Pds::AbstractLayer.
- Ejemplos
- example_fclayer_export.cpp.
◆ ExportXmlToString()
std::string Pds::FCLayer::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::FCLayer
en el std::ofstream se escribirá algo similar a:
<FCLayer>
<Nin>2</Nin>
<Nout>3</Nout>
<ActFunc>3</ActFunc>
<DActFunc>4</DActFunc>
<Matrix>
<Nlin>3</Nlin>
<Ncol>3</Ncol>
<Array>
-1.045855489402 0.86048864346136 0.74207001785205
1.1751184865889 0.56014623106965 0.32903772889095
0.70173766075107 -1.905261897823 -0.63665096203108
</Array>
</Matrix>
</FCLayer>
- Devuelve
- Retorna un
std::string
en formato Xml con los datos de la capa.
Implementa Pds::AbstractLayer.
- Ejemplos
- example_fclayer_export_xml.cpp.
◆ ImportXmlFromString()
bool Pds::FCLayer::ImportXmlFromString |
( |
const std::string & |
str | ) |
|
|
virtual |
◆ SaveInStream()
bool Pds::FCLayer::SaveInStream |
( |
std::ofstream & |
myfile | ) |
const |
Salva los datos de la capa.
- Parámetros
-
[in] | myfile | Stream onde se escribira la informacion. |
- Devuelve
- Retorna true si todo fue bien o false si no.
- Ejemplos
- example_fclayer_export.cpp.
◆ LoadFromStream()
bool Pds::FCLayer::LoadFromStream |
( |
std::ifstream & |
ifs | ) |
|
◆ PredictTensor()
Pds::TensorBlock Pds::FCLayer::PredictTensor |
( |
const Pds::TensorBlock & |
In | ) |
const |
|
virtual |
◆ Predict() [1/4]
Pds::SampleBlock Pds::FCLayer::Predict |
( |
const Pds::SampleBlock & |
In | ) |
const |
◆ Predict() [2/4]
Pds::Vector Pds::FCLayer::Predict |
( |
const Pds::Vector & |
In | ) |
const |
Evalua la capa de la CNN.
- Parámetros
-
- Devuelve
- Retorna un vector Out.
◆ Predict() [3/4]
bool Pds::FCLayer::Predict |
( |
const Pds::Vector & |
In, |
|
|
Pds::Vector & |
Out |
|
) |
| const |
Evalua la capa de la CNN.
- Parámetros
-
[in] | In | Vector de entrada. |
[out] | Out | Vector de salida. Este vector debe tener el tamaño adecuado, caso contrario se retorna false. |
- Devuelve
- Retorna true si todo fue bien o false si no.
◆ Predict() [4/4]
bool Pds::FCLayer::Predict |
( |
const Pds::Vector & |
In, |
|
|
Pds::Vector & |
Out, |
|
|
Pds::Vector & |
Z |
|
) |
| const |
Evalua la capa de la CNN.
- Parámetros
-
[in] | In | Vector de entrada. |
[out] | Out | Vector de salida. Este vector debe tener el tamaño adecuado, caso contrario se retorna false. |
[out] | Z | Vector de salida antes de aplicar la funcion de activacion. Este vector debe tener el tamaño adecuado, caso contrario se retorna false. |
- Devuelve
- Retorna true si todo fue bien o false si no.
◆ DeltaBackPropagation()
static bool Pds::FCLayer::DeltaBackPropagation |
( |
const Pds::Matrix & |
W, |
|
|
const Pds::Vector & |
delta_p1, |
|
|
double(*)(double) |
dfunc_m1, |
|
|
const Pds::Vector & |
z, |
|
|
Pds::Vector & |
delta |
|
) |
| |
|
static |
◆ WUpdate()
bool Pds::FCLayer::WUpdate |
( |
double |
alpham, |
|
|
const Pds::Matrix & |
Q_1, |
|
|
double |
lambda = 0 |
|
) |
| |
◆ Print()
void Pds::FCLayer::Print |
( |
std::string |
str = "" | ) |
const |
Muestra en pantalla el contenido de Pds::FCLayer, elementos separados por tabulador.
- Parámetros
-
[in] | str | Texto a mostrar antes de imprimir el contenido. |
◆ PrintStylized()
void Pds::FCLayer::PrintStylized |
( |
std::string |
str = "" | ) |
const |
◆ SummaryLine()
unsigned int Pds::FCLayer::SummaryLine |
( |
unsigned int |
width = 12 | ) |
const |
Imprime en pantalla una linea con:
Name Input_shape Output_shape Parametros Activation_function
- Parámetros
-
[in] | width | Parámetro ancho de referencia para cada elemento. |
- Devuelve
- El número de parametros en la capa.
◆ MakeEmpty()
void Pds::FCLayer::MakeEmpty |
( |
void |
| ) |
|
|
virtual |
◆ Clone()
◆ ~FCLayer()
Pds::FCLayer::~FCLayer |
( |
| ) |
|