Programa para el testeo de las funciones Fully Connected Layer.Para compilar o código example_customcnn_create.cpp:
#include <Pds/Ra>
#include <Pds/Nn>
unsigned int Nlin,
unsigned int Ncol)
{
Pds::Conv2DLayer Conv1(3,16,Pds::Size(3,3),Pds::ReLU, Pds::DReLU,{1, 1},Pds::Ra::Valid);
Model.
Add(Conv1.Clone());
Pds::Conv2DLayer Conv2(16, 8,Pds::Size(3,3),Pds::ReLU, Pds::DReLU,{1, 1},Pds::Ra::Valid);
Model.
Add(Conv2.Clone());
Pds::Conv2DLayer Conv3(8, 4,Pds::Size(3,3),Pds::ReLU, Pds::DReLU,{1, 1},Pds::Ra::Valid);
Model.
Add(Conv3.Clone());
Pds::Conv2DLayer Conv4(4, 2,Pds::Size(3,3),Pds::Tanh, Pds::DTanh,{1, 1},Pds::Ra::Valid);
Model.
Add(Conv4.Clone());
return Model;
}
int main(void)
{
unsigned int Nch=3;
unsigned int Nlin=284;
unsigned int Ncol=Nlin;
Pds::SampleBlock Img=Pds::Matrix::ImportBmpFile("../manual/imagenes/pimienta284.bmp");
Pds::TensorBlock Block={Img};
for(unsigned int n=0;n<Block.size();n++)
for(unsigned int m=0;m<Block[n].size();m++)
Block[n][m].Print("\nBlock["+std::to_string(n)+"]["+std::to_string(m)+"]:\n");
std::ofstream myfile("Model.xml", std::ofstream::out);
myfile.close();
return 0;
}
La clase tipo Pds::Conv2DLayer . Esta clase genera un objeto con parametros. Para usar incluir <Pds/C...
La clase tipo Pds::CustomCNn . Esta clase genera un objeto con layers. Para usar incluir <Pds/CustomC...
La clase tipo Pds::FCLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
La clase tipo Pds::FlattenLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
La clase tipo Pds::MaxPoolingLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Pds::TensorBlock PredictTensor(const Pds::TensorBlock &In)
Evalua la CustomCNn.
bool ExportXmlToStream(std::ofstream &myfile) const
Salva los datos de la capa en un std::ofstream en formato Xml.
bool Add(Pds::AbstractLayer *Layer)
Agrega una layer a la CustomCNn.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::CustomCNn, elementos separados por tabulador.
Pds::AbstractLayer * Clone(void)
Retorna un puntero (generado con new) a una nuevo dirección de memoria con una copia del objeto actua...
Pds::AbstractLayer * Clone(void)
Retorna un puntero (generado con new) a una nuevo dirección de memoria con una copia del objeto actua...
Pds::AbstractLayer * Clone(void)
Retorna un puntero (generado con new) a una nuevo dirección de memoria con una copia del objeto actua...