Home | Develop | Download | Contact
example_fcnn_training_load.cpp

Programa para el testeo de las funciones Fully Connected Layer.Para compilar o código example_fcnn_training_load.cpp:

g++ -static -o example_fcnn_training_load example_fcnn_training_load.cpp -lpdsramm -lpdsnnmm

Para executar o programa:

./example_fcnn_training_load

Retornando por consola:

 2000/2000 [================================] -- ERT  0:00 -- acc: 96.850000
Datos de treinamento.
Datos despues del treinamento.

Código example_fcnn_training_load.cpp:

#include <Pds/Ra>
#include <Pds/Nn>
int main(void)
{
unsigned int M=2000;
std::string str;
Pds::Matrix X(Pds::Ra::TextFormat,"../test/data_x_yinyang.txt");
Pds::Matrix Y(Pds::Ra::TextFormat,"../test/data_y_yinyang.txt");
Pds::Matrix Ys(Y.Size());
Pds::Nn::DefaultDActFunc=Pds::DSigmoid;
Pds::FCNn NN0("../test/NeuralNetwork0.txt");
Y=2*Y-1.0;
for(unsigned int k=0;k<M;k++)
{
NN0.Training(X,Y,0.1,0.01);
NN0.Predict(X,Ys);
str="acc: "+std::to_string(100.0*Pds::Accuracy(Ys,Y,0.1));
Pds::Ra::ProgressBarWithTime(32,k,M,false,str);
}
std::cout<<std::endl;
Pds::Octave::XLabel="x_1";
Pds::Octave::YLabel="x_2";
Pds::Octave::Plot::PointsX2DY(X,Y ,"testando.m","dataset_data_Y.png");
Pds::Octave::Plot::PointsX2DY(X,Ys,"testando.m","dataset_data_Ys.png");
NN0.Save("../test/NeuralNetwork0.txt");
return 0;
}
La clase tipo Pds::FCNn . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: FCNn.hpp:62
double(* DefaultDActFunc)(double)
double(* DefaultActFunc)(double)
bool Training(const Pds::Matrix &X, const Pds::Matrix &Y, double alpha, double lambda)
Treina la NN como um bloque de datos entero X para encontrar una variacion de pesos.
Pds::SampleBlock Predict(const Pds::SampleBlock &In) const
Evalua la capa de la CNN.
bool Save(std::string filename)
Salva los datos en un archivo de texto.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed