35 #include <pds/pdsra.h> 36 #include <pds/pdsnn.h> 39 int main(
int argc,
char** argv)
48 if(MLayer==NULL)
return EXIT_FAILURE;
56 PdsVector *X = pds_vector_new(Larray[0]);
57 PdsVector *Y = pds_vector_new(Larray[Nel-1]);
58 if( (X==NULL)||(Y==NULL) )
return EXIT_FAILURE;
62 for(i=0;
id<Ntraining;i++)
64 printf(
"\nTraining %4d: id=%4d\n",i,
id);
80 if( (IterP==0)&&(IterN==0) )
id++;
87 printf(
"\nSaving neural network in %s\n\n",argv[1]);
92 printf(
"\nSaving neural network in data.mlayer\n\n");
int pds_neuronml_set_max_error(PdsNeuronML *NeuronML, PdsNnReal MaxError)
Coloca el maximo margen error RMS aceptado en la salida de la estructura PdsNeuronML.
PdsNeuronML * pds_neuronml_new_from_array(const PdsNnNatural *L, PdsNnNatural Nel)
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_generate_data_input_rand(PdsVector *X, PdsNnReal A)
int pds_generate_data_output_negative(PdsVector *Y)
Genera un vector con -1 en todos los elementos del vector Y.
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_generate_data_output_positive(PdsVector *Y)
Genera un vector con +1 en todos los elementos del vector Y.
int pds_neuronml_save_data(const PdsNeuronML *NeuronML, const char *mlayer_filename)
Salva una estructura de tipo PdsNeuronML en un archivo de texto.
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_generate_data_input_func2pi(PdsVector *X, double(*func)(double), PdsNnReal C, PdsNnReal OffsetError)
Genera un vector con C ciclos de la función func() con un error de offset de valor OffsetError...
PdsNnNatural pds_neuronml_training_results_printf(PdsNeuronML *MLayer, const char *Type)
Muestra los resultados del entrenamiento de la red neuronal multicapa NeuronML.