Home | Develop | Download | Contact
example_fcnn_training.cpp

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

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

Para executar o programa:

./example_fcnn_training

Retornando por consola:

Test[0] Accuracy %: 50
Test[1] Accuracy %: 50
...
Test[997]       Accuracy %: 82.7
Test[998]       Accuracy %: 82.7
Test[999]       Accuracy %: 82.7
...

Datos de treinamento.

Datos despues del treinamento.

Datos de Accuracy.

Código example_fcnn_training.cpp:

#include <Pds/Ra>
#include <Pds/Nn>
int main(void)
{
unsigned int M=1000;
Pds::Vector Acc(M);
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());
std::vector<unsigned int> N={2,512,64,8,1};
Pds::FCNn NN0=Pds::FCNn(N,Pds::Sigmoid,Pds::DSigmoid);
for(unsigned int k=0;k<M;k++)
{
NN0.Training(X,Y,0.1,0.01);
NN0.Evaluate(X,Ys);
Acc.Set(k,100.0*Pds::Accuracy(Ys.Geq(0.5),Y));
std::cout<<"Test["<<k<<"]\t";
std::cout<<"Accuracy %: "<<Acc.At(k)<<std::endl;
}
NN0.Save("../test/NeuralNettwork1.txt");
return 0;
}
La clase tipo Pds::FCNn . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: FCNn.hpp:61
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::Vector Evaluate(const Pds::Vector &In)
Evalua la capa de la CNN.
bool Save(std::string filename)
Salva los datos en un archivo binario.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed