35 #include <pds/pdsra.h> 36 #include <pds/pdsrv.h> 37 #include <pds/pdsnn.h> 40 #include "data_work.h" 42 int main(
int argc,
char** argv)
58 RV=pds_uniform_new(-1,1);
62 PdsRaReal Larray[]={32,64,42,28,14,7};
63 L=pds_vector_new_array1d(Larray,6);
66 X=pds_vector_new(Larray[0]);
68 Y=pds_vector_new(Larray[5]);
81 for(i=0;
id<Ntraining;i++)
83 printf(
"\nEntrenamiento %4d: id=%4d\n",i,
id);
86 function_data_work_init_data0(X,Y);
91 function_data_work_init_data1(X,Y);
95 if( (itera==0)&&(iterb==0) )
id++;
102 for(i=0;i<Ntests;i++)
104 function_data_work_init_data1(X,Y);
107 function_octplot_vector_in_png(X,
"n",
"X[n]",
"octfilegood.m",
"xgood.png");
112 for(i=0;i<Ntests;i++)
114 function_data_work_init_data0(X,Y);
117 function_octplot_vector_in_png(X,
"n",
"X[n]",
"octfilebad.m",
"xbad.png");
PdsNnBool pds_neuronml_iterate_results_printf(const PdsNeuronML *MLayer, const char *Type)
Muestra los resultados de la iteración de la red neuronal multicapa NeuronML.
int pds_neuronml_set_max_error(PdsNeuronML *NeuronML, PdsNnReal MaxError)
Coloca el maximo margen error RMS aceptado en la salida de la estructura PdsNeuronML.
int pds_neuronml_init_weight_uniform(PdsNeuronML *NeuronML, PdsUniform *RV)
Inicializa todos los pesos usando una variable aleatoria uniforme.
PdsNeuronML * pds_neuronml_new(const PdsVector *L)
Crea una estructura de tipo PdsNeuronML.
int pds_neuronml_set_alpha(PdsNeuronML *NeuronML, PdsNnReal Alpha)
Coloca el valor del factor de aprendizaje Alpha.
La estructura tipo PdsNeuronML . Esta estructura genera una red neuronal multi capa. Para usar incluir pds/pdsnn.h.
void pds_neuronml_free(PdsNeuronML *NeuronML)
Libera una neurona de tipo puntero PdsNeuronML.
int pds_neuronml_set_max_iterations(PdsNeuronML *NeuronML, PdsNnNatural MaxIter)
Coloca el máximo numero de iteraciones aceptado, cualquier valor mayor provoca que se detenga el algo...
unsigned int PdsNnNatural
int pds_neuronml_iterate(PdsNeuronML *NeuronML, const PdsVector *Input, PdsVector *Output)
Itera la red neuronal multicapa NeuronML. .
int pds_neuronml_training(PdsNeuronML *NeuronML, const PdsVector *Input, PdsVector *Output)
Entrena la red neuronal multicapa NeuronML. Usa el valor de Output como entrenamiento, para finalizar carga el nuevo valor de salida en Output.
int pds_neuronml_init_u_uniform(PdsNeuronML *NeuronML, PdsUniform *RV)
Inicializa todos los umbrales U usando una variable aleatoria uniforme.
PdsNnNatural pds_neuronml_training_results_printf(PdsNeuronML *MLayer, const char *Type)
Muestra los resultados del entrenamiento de la red neuronal multicapa NeuronML.