[PD-cvs] externals/ann/src ann_mlp.c, 1.1, 1.2 ann_som.c, 1.5, 1.6 ann_td.c, 1.1, 1.2
IOhannes m zmölnig
zmoelnig at users.sourceforge.net
Thu May 19 16:07:25 CEST 2005
Update of /cvsroot/pure-data/externals/ann/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28356
Modified Files:
ann_mlp.c ann_som.c ann_td.c
Log Message:
shut down the compiler...
Index: ann_mlp.c
===================================================================
RCS file: /cvsroot/pure-data/externals/ann/src/ann_mlp.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ann_mlp.c 18 May 2005 15:53:29 -0000 1.1
--- ann_mlp.c 19 May 2005 14:07:23 -0000 1.2
***************
*** 31,36 ****
t_symbol *filename; // name of the file where this ann is saved
t_symbol *filenametrain; // name of the file with training data
! float desired_error;
! unsigned int max_iterations;
unsigned int iterations_between_reports;
t_outlet *l_out, *f_out;
--- 31,36 ----
t_symbol *filename; // name of the file where this ann is saved
t_symbol *filenametrain; // name of the file with training data
! float desired_error;
! unsigned int max_iterations;
unsigned int iterations_between_reports;
t_outlet *l_out, *f_out;
***************
*** 50,95 ****
void createFann(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
! {
! unsigned int num_input = 2;
! unsigned int num_output = 1;
! unsigned int num_layers = 3;
! unsigned int num_neurons_hidden = 3;
! float connection_rate = 1;
! float learning_rate = (float)0.7;
!
! if (argc>0)
! num_input = atom_getint(argv++);
!
! if (argc>1)
! num_output = atom_getint(argv++);
!
! if (argc>2)
! num_layers = atom_getint(argv++);
!
! if (argc>3)
! num_neurons_hidden = atom_getint(argv++);
!
! if (argc>4)
! connection_rate = atom_getfloat(argv++);
!
! if (argc>5)
! learning_rate = atom_getfloat(argv++);
!
! if (num_input>=MAXINPUT)
! {
! error("too many inputs, maximum allowed is MAXINPUT");
! return;
! }
!
! if (num_output>=MAXOUTPUT)
! {
! error("too many outputs, maximum allowed is MAXOUTPUT");
! return;
! }
!
! x->ann = fann_create(connection_rate, learning_rate, num_layers,
! num_input, num_neurons_hidden, num_output);
!
! fann_set_activation_function_hidden(x->ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output(x->ann, FANN_SIGMOID_SYMMETRIC);
--- 50,95 ----
void createFann(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
! {
! unsigned int num_input = 2;
! unsigned int num_output = 1;
! unsigned int num_layers = 3;
! unsigned int num_neurons_hidden = 3;
! float connection_rate = 1;
! float learning_rate = (float)0.7;
!
! if (argc>0)
! num_input = atom_getint(argv++);
!
! if (argc>1)
! num_output = atom_getint(argv++);
!
! if (argc>2)
! num_layers = atom_getint(argv++);
!
! if (argc>3)
! num_neurons_hidden = atom_getint(argv++);
!
! if (argc>4)
! connection_rate = atom_getfloat(argv++);
!
! if (argc>5)
! learning_rate = atom_getfloat(argv++);
!
! if (num_input>=MAXINPUT)
! {
! error("too many inputs, maximum allowed is MAXINPUT");
! return;
! }
!
! if (num_output>=MAXOUTPUT)
! {
! error("too many outputs, maximum allowed is MAXOUTPUT");
! return;
! }
!
! x->ann = fann_create(connection_rate, learning_rate, num_layers,
! num_input, num_neurons_hidden, num_output);
!
! fann_set_activation_function_hidden(x->ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output(x->ann, FANN_SIGMOID_SYMMETRIC);
***************
*** 151,173 ****
void train_on_file(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
! {
if (x->ann == 0)
{
error("ann not initialized");
return;
- }
-
- if (argc<1)
- {
- error("you must specify the filename with training data");
- return;
- } else
- {
- x->filenametrain = atom_gensym(argv);
}
!
! //post("nn: starting training on file %s, please be patient and wait for my next message (it could take severeal minutes to complete training)", x->filenametrain->s_name);
!
! fann_train_on_file(x->ann, x->filenametrain->s_name, x->max_iterations,
x->iterations_between_reports, x->desired_error);
--- 151,173 ----
void train_on_file(t_ann_mlp *x, t_symbol *sl, int argc, t_atom *argv)
! {
if (x->ann == 0)
{
error("ann not initialized");
return;
}
!
! if (argc<1)
! {
! error("you must specify the filename with training data");
! return;
! } else
! {
! x->filenametrain = atom_gensym(argv);
! }
!
! //post("nn: starting training on file %s, please be patient and wait for my next message (it could take severeal minutes to complete training)", x->filenametrain->s_name);
!
! fann_train_on_file(x->ann, x->filenametrain->s_name, x->max_iterations,
x->iterations_between_reports, x->desired_error);
***************
*** 497,502 ****
x->f_out = outlet_new(&x->x_obj, &s_float);
! x->desired_error = (float)0.001;
! x->max_iterations = 500000;
x->iterations_between_reports = 1000;
x->mode=RUN;
--- 497,502 ----
x->f_out = outlet_new(&x->x_obj, &s_float);
! x->desired_error = (float)0.001;
! x->max_iterations = 500000;
x->iterations_between_reports = 1000;
x->mode=RUN;
***************
*** 563,565 ****
! }
\ No newline at end of file
--- 563,565 ----
! }
Index: ann_td.c
===================================================================
RCS file: /cvsroot/pure-data/externals/ann/src/ann_td.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ann_td.c 18 May 2005 15:53:29 -0000 1.1
--- ann_td.c 19 May 2005 14:07:23 -0000 1.2
***************
*** 31,36 ****
t_symbol *filename; // name of the file where this ann is saved
t_symbol *filenametrain; // name of the file with training data
! float desired_error;
! unsigned int max_iterations;
unsigned int iterations_between_reports;
unsigned int frames;
--- 31,36 ----
t_symbol *filename; // name of the file where this ann is saved
t_symbol *filenametrain; // name of the file with training data
! float desired_error;
! unsigned int max_iterations;
unsigned int iterations_between_reports;
unsigned int frames;
***************
*** 72,128 ****
void createFann(t_ann_td *x, t_symbol *sl, int argc, t_atom *argv)
! {
! unsigned int num_input = 2;
! unsigned int num_output = 1;
! unsigned int num_layers = 3;
! unsigned int num_neurons_hidden = 3;
! float connection_rate = 1;
! float learning_rate = (float)0.7;
!
! if (argc<3)
! {
! error("you must provide at least num_input, num_output amd frames number");
! return;
! }
! if (argc>0)
! num_input = atom_getint(argv++);
!
! if (argc>1)
! num_output = atom_getint(argv++);
!
! if (argc>2)
! {
! x->frames = atom_getint(argv++);
! x->ins_frames_set=1;
! }
!
! if (argc>3)
! num_layers = atom_getint(argv++);
!
! if (argc>4)
! num_neurons_hidden = atom_getint(argv++);
!
! if (argc>5)
! connection_rate = atom_getfloat(argv++);
!
! if (argc>6)
! learning_rate = atom_getfloat(argv++);
!
! if ((num_input * x->frames)>=MAXINPUT)
! {
! error("too many inputs, maximum allowed is %f", MAXINPUT/x->frames);
! return;
! }
!
! if (num_output>=MAXOUTPUT)
! {
! error("too many outputs, maximum allowed is MAXOUTPUT");
! return;
! }
!
! x->ann = fann_create(connection_rate, learning_rate, num_layers,
! (num_input*x->frames), num_neurons_hidden, num_output);
!
! fann_set_activation_function_hidden(x->ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output(x->ann, FANN_SIGMOID_SYMMETRIC);
--- 72,128 ----
void createFann(t_ann_td *x, t_symbol *sl, int argc, t_atom *argv)
! {
! unsigned int num_input = 2;
! unsigned int num_output = 1;
! unsigned int num_layers = 3;
! unsigned int num_neurons_hidden = 3;
! float connection_rate = 1;
! float learning_rate = (float)0.7;
!
! if (argc<3)
! {
! error("you must provide at least num_input, num_output amd frames number");
! return;
! }
! if (argc>0)
! num_input = atom_getint(argv++);
!
! if (argc>1)
! num_output = atom_getint(argv++);
!
! if (argc>2)
! {
! x->frames = atom_getint(argv++);
! x->ins_frames_set=1;
! }
!
! if (argc>3)
! num_layers = atom_getint(argv++);
!
! if (argc>4)
! num_neurons_hidden = atom_getint(argv++);
!
! if (argc>5)
! connection_rate = atom_getfloat(argv++);
!
! if (argc>6)
! learning_rate = atom_getfloat(argv++);
!
! if ((num_input * x->frames)>=MAXINPUT)
! {
! error("too many inputs, maximum allowed is %f", MAXINPUT/x->frames);
! return;
! }
!
! if (num_output>=MAXOUTPUT)
! {
! error("too many outputs, maximum allowed is MAXOUTPUT");
! return;
! }
!
! x->ann = fann_create(connection_rate, learning_rate, num_layers,
! (num_input*x->frames), num_neurons_hidden, num_output);
!
! fann_set_activation_function_hidden(x->ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output(x->ann, FANN_SIGMOID_SYMMETRIC);
***************
*** 187,209 ****
void train_on_file(t_ann_td *x, t_symbol *sl, int argc, t_atom *argv)
! {
if (x->ann == 0)
{
error("ann not initialized");
return;
- }
-
- if (argc<1)
- {
- error("you must specify the filename with training data");
- return;
- } else
- {
- x->filenametrain = atom_gensym(argv);
}
!
! //post("nn: starting training on file %s, please be patient and wait for my next message (it could take severeal minutes to complete training)", x->filenametrain->s_name);
!
! fann_train_on_file(x->ann, x->filenametrain->s_name, x->max_iterations,
x->iterations_between_reports, x->desired_error);
--- 187,209 ----
void train_on_file(t_ann_td *x, t_symbol *sl, int argc, t_atom *argv)
! {
if (x->ann == 0)
{
error("ann not initialized");
return;
}
!
! if (argc<1)
! {
! error("you must specify the filename with training data");
! return;
! } else
! {
! x->filenametrain = atom_gensym(argv);
! }
!
! //post("nn: starting training on file %s, please be patient and wait for my next message (it could take severeal minutes to complete training)", x->filenametrain->s_name);
!
! fann_train_on_file(x->ann, x->filenametrain->s_name, x->max_iterations,
x->iterations_between_reports, x->desired_error);
***************
*** 278,282 ****
int i=0;
unsigned j=0;
- unsigned k=0;
//fann_type input[MAXINPUT];
fann_type *calc_out;
--- 278,281 ----
***************
*** 576,581 ****
x->f_out = outlet_new(&x->x_obj, &s_float);
! x->desired_error = (float)0.001;
! x->max_iterations = 500000;
x->iterations_between_reports = 1000;
x->mode=RUN;
--- 575,580 ----
x->f_out = outlet_new(&x->x_obj, &s_float);
! x->desired_error = (float)0.001;
! x->max_iterations = 500000;
x->iterations_between_reports = 1000;
x->mode=RUN;
***************
*** 663,665 ****
! }
\ No newline at end of file
--- 662,664 ----
! }
Index: ann_som.c
===================================================================
RCS file: /cvsroot/pure-data/externals/ann/src/ann_som.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** ann_som.c 12 Apr 2005 13:27:42 -0000 1.5
--- ann_som.c 19 May 2005 14:07:23 -0000 1.6
***************
*** 330,336 ****
freebytes(ap, x->num_sensors*sizeof(t_atom));
-
-
-
}
--- 330,333 ----
***************
*** 758,761 ****
--- 755,760 ----
class_addmethod(som_class, (t_method)som_write, gensym("write"), A_GIMME, 0);
+ class_addmethod(som_class, (t_method)som_dump, gensym("dump"), A_FLOAT, 0);
+
class_addmethod(som_class, (t_method)som_print, gensym("print"), 0);
class_addmethod(som_class, (t_method)som_help, gensym("help"), 0);
More information about the Pd-cvs
mailing list