From 8c921fd80c34d9c2a20dcc78e259163e27c76912 Mon Sep 17 00:00:00 2001 From: Georg Holzmann Date: Wed, 31 Aug 2005 19:30:58 +0000 Subject: a new example - needs much externals, but should only should how to use the new extensions ... svn path=/trunk/externals/ann/; revision=3469 --- examples/ann_mlp_example4/multidim_net.pd | 387 ++++++++++++++++++++++++++++++ 1 file changed, 387 insertions(+) create mode 100755 examples/ann_mlp_example4/multidim_net.pd (limited to 'examples/ann_mlp_example4/multidim_net.pd') diff --git a/examples/ann_mlp_example4/multidim_net.pd b/examples/ann_mlp_example4/multidim_net.pd new file mode 100755 index 0000000..41acb5f --- /dev/null +++ b/examples/ann_mlp_example4/multidim_net.pd @@ -0,0 +1,387 @@ +#N canvas 57 0 663 539 10; +#X obj 396 55 grid grid1 200 -1 1 200 -1 1 1 0.001 0.001 2 2 450 248 +; +#X floatatom 396 261 5 0 0 0 - - -; +#X floatatom 589 262 5 0 0 0 - - -; +#X obj 397 278 pack f f; +#X obj 81 136 h_vector sample_pool; +#X msg 183 119 print; +#N canvas 143 0 450 300 pushback 0; +#X obj 22 21 inlet; +#X msg 22 120 pushback; +#X obj 22 195 outlet; +#X obj 22 156 iem_append; +#X obj 22 76 t b a; +#X connect 0 0 4 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X connect 4 1 3 1; +#X restore 81 97 pd pushback; +#X msg 183 98 clear; +#X text 37 27 add new datasets to the vector:; +#N canvas 504 132 747 729 train_net_on_datasets 0; +#X obj 116 562 gen_trainfile; +#X text 91 404 2) step through all; +#X text 85 108 1) create net; +#X text 106 151 a) get nr. of inputs:; +#X obj 122 205 h_vector sample_pool; +#X msg 122 183 get 0; +#X obj 122 227 length; +#X obj 122 249 - 1; +#X text 297 151 b) get nr. of outputs:; +#X obj 314 199 h_vector sample_pool; +#X msg 314 178 getsize; +#X obj 122 129 t b b; +#X obj 122 288 pack 0 0 0; +#X obj 122 345 s \$0-to_net; +#X obj 46 41 inlet; +#X obj 159 488 pack 0 0 0 0; +#X msg 159 536 \$2 \$3 \$4; +#N canvas 754 184 450 454 step_through_datas 0; +#X obj 21 20 inlet; +#X obj 79 423 outlet; +#X obj 130 99 h_vector sample_pool; +#X msg 130 79 getsize; +#X obj 21 138 h_for; +#X obj 21 213 h_vector sample_pool; +#X msg 21 191 get \$1; +#X obj 21 257 niagara 1; +#X text 62 278 input; +#X obj 21 48 t b b; +#X obj 21 164 t f f; +#X obj 203 257 h_muxlist; +#X text 183 279 output; +#X obj 79 353 glue; +#X connect 0 0 9 0; +#X connect 2 1 4 1; +#X connect 2 1 11 1; +#X connect 3 0 2 0; +#X connect 4 0 10 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 1 13 0; +#X connect 9 0 4 0; +#X connect 9 1 3 0; +#X connect 10 0 6 0; +#X connect 10 1 11 0; +#X connect 11 0 13 1; +#X connect 13 0 1 0; +#X restore 116 458 pd step_through_datas; +#X obj 116 429 t b b b; +#X text 65 601 3) train the net on it; +#X msg 202 512 tmp/trainfile.dat; +#X obj 46 694 s \$0-to_net; +#X obj 46 68 t b b b; +#X msg 106 623 FANN_TRAIN_RPROP; +#X msg 106 646 FANN_TRAIN_QUICKPROP; +#X obj 46 577 t b b; +#X obj 187 265 * 2; +#X msg 46 671 train-on-file tmp/trainfile.dat; +#X msg 122 314 create \$1 \$2 3 \$3 1 0.7; +#X msg 363 612 set_activation_function_output FANN_LINEAR; +#X msg 364 583 set_activation_function_hidden FANN_LINEAR; +#X msg 372 669 randomize_weights -0.1 0.1; +#X msg 365 643 desired_error 0.001; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 12 0; +#X connect 7 0 15 2; +#X connect 9 1 12 1; +#X connect 9 1 15 3; +#X connect 9 1 15 1; +#X connect 9 1 26 0; +#X connect 10 0 9 0; +#X connect 11 0 5 0; +#X connect 11 1 10 0; +#X connect 12 0 28 0; +#X connect 14 0 22 0; +#X connect 15 0 16 0; +#X connect 16 0 0 1; +#X connect 17 0 0 0; +#X connect 18 0 17 0; +#X connect 18 1 15 0; +#X connect 18 2 20 0; +#X connect 20 0 0 2; +#X connect 22 0 25 0; +#X connect 22 1 18 0; +#X connect 22 2 11 0; +#X connect 24 0 21 0; +#X connect 25 0 27 0; +#X connect 25 1 31 0; +#X connect 25 1 32 0; +#X connect 25 1 24 0; +#X connect 26 0 12 2; +#X connect 27 0 21 0; +#X connect 28 0 13 0; +#X connect 31 0 21 0; +#X connect 32 0 21 0; +#X restore 80 222 pd train_net_on_datasets; +#X text 37 178 generate new net and train it on the datasets:; +#X text 35 263 the neural net:; +#N canvas 0 564 450 300 nn_for_samples 0; +#X obj 72 63 r \$0-to_net; +#X obj 72 125 h_maxlist; +#X obj 72 243 outlet; +#X text 72 267 index; +#X obj 177 198 h_vector sample_pool; +#X msg 177 175 get \$1; +#X obj 177 241 outlet; +#X text 176 263 samplename; +#X obj 177 219 unpack s; +#X obj 91 175 print; +#N canvas 265 255 690 335 training 0; +#X obj 71 288 outlet; +#X msg 82 195 FANN_TRAIN_INCREMENTAL; +#X msg 82 216 FANN_TRAIN_BATCH; +#X msg 81 238 FANN_TRAIN_RPROP; +#X msg 81 258 FANN_TRAIN_QUICKPROP; +#X text 40 28 you can set the training algorithm simply sending a message +with the name of the algorithm chosen. possible values are: FANN_TRAIN_INCREMENTAL +FANN_TRAIN_BATCH FANN_TRAIN_RPROP FANN_TRAIN_QUICKPROP the default +is: FANN_TRAIN_RPROP see the FANN manual for details on each algorithm: +http://fann.sourceforge.net/html/r1996.html; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X restore 215 58 pd training algorithm; +#N canvas 371 92 698 395 training 0; +#X obj 52 230 outlet; +#X msg 69 118 desired_error 0.01; +#X msg 79 146 max_iterations 500000; +#X msg 90 178 iterations_between_reports 1000; +#X text 58 28 you can change training parameters. see FANN manual for +details (http://fann.sourceforge.net); +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X restore 216 84 pd training params; +#N canvas 371 92 694 391 activation 0; +#X obj 49 335 outlet; +#X text 40 28 you can set ti output activation algorithm passing a +message to nn. see the FANN manual for description of the algorithms +; +#X msg 69 118 set_activation_function_output FANN_THRESHOLD; +#X msg 83 139 set_activation_function_output FANN_THRESHOLD_SYMMETRIC +; +#X msg 95 163 set_activation_function_output FANN_LINEAR; +#X msg 98 184 set_activation_function_output FANN_SIGMOID; +#X msg 106 206 set_activation_function_output FANN_SIGMOID_STEPWISE +; +#X msg 108 233 set_activation_function_output FANN_SIGMOID_SYMMETRIC +; +#X msg 115 256 set_activation_function_output FANN_SIGMOID_SYMMETRIC_STEPWISE +; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X restore 215 108 pd activation algorithm; +#X msg 109 33 print; +#X msg 114 9 learnrate 1; +#X obj 83 96 ann_mlp; +#X msg 235 20 load tmp/testnet.ann; +#X connect 0 0 15 0; +#X connect 1 0 2 0; +#X connect 1 0 5 0; +#X connect 4 0 8 0; +#X connect 5 0 4 0; +#X connect 8 0 6 0; +#X connect 13 0 15 0; +#X connect 14 0 15 0; +#X connect 15 0 1 0; +#X connect 15 0 9 0; +#X connect 16 0 15 0; +#X restore 90 293 pd nn_for_samples; +#X floatatom 90 310 5 0 0 0 index - -; +#X symbolatom 171 310 15 0 0 0 file - -; +#X obj 80 202 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 396 300 s \$0-to_net; +#N canvas 19 332 538 494 make_random_datasets_for_testing 0; +#X text 26 17 make 200 8-dimensional random datasets \, for testing +; +#X obj 152 158 h_randfloat -1 1; +#X obj 193 198 h_randfloat -1 1; +#X obj 170 178 h_randfloat -1 1; +#X obj 212 218 h_randfloat -1 1; +#X obj 276 157 h_randfloat -1 1; +#X obj 313 198 h_randfloat -1 1; +#X obj 294 177 h_randfloat -1 1; +#X obj 336 217 h_randfloat -1 1; +#X obj 43 377 pack s f f f f f f f f; +#X obj 43 126 t f b; +#X obj 43 261 makefilename sample%d.wav; +#X obj 43 438 outlet; +#X obj 43 52 inlet; +#X obj 108 52 inlet; +#X obj 43 91 h_for 10; +#X connect 1 0 9 1; +#X connect 2 0 9 3; +#X connect 3 0 9 2; +#X connect 4 0 9 4; +#X connect 5 0 9 5; +#X connect 6 0 9 7; +#X connect 7 0 9 6; +#X connect 8 0 9 8; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X connect 10 1 1 0; +#X connect 10 1 3 0; +#X connect 10 1 2 0; +#X connect 10 1 4 0; +#X connect 10 1 5 0; +#X connect 10 1 7 0; +#X connect 10 1 6 0; +#X connect 10 1 8 0; +#X connect 11 0 9 0; +#X connect 13 0 15 0; +#X connect 14 0 15 1; +#X connect 15 0 10 0; +#X restore 158 387 pd make_random_datasets_for_testing; +#X obj 158 365 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#N canvas 0 0 989 300 8-dimen-dataset 0; +#X obj 27 40 inlet; +#X obj 73 40 inlet; +#X obj 73 63 t b f; +#X obj 118 40 inlet; +#X obj 118 63 t b f; +#X obj 163 40 inlet; +#X obj 163 63 t b f; +#X obj 208 40 inlet; +#X obj 208 63 t b f; +#X obj 252 40 inlet; +#X obj 252 63 t b f; +#X obj 297 40 inlet; +#X obj 297 63 t b f; +#X obj 342 40 inlet; +#X obj 342 63 t b f; +#X obj 127 201 pack 0 0 0 0 0 0 0 0; +#X obj 337 257 outlet; +#X obj 422 39 inlet; +#X text 418 20 random; +#X obj 422 104 h_randfloat -1 1; +#X obj 477 145 h_randfloat -1 1; +#X obj 454 125 h_randfloat -1 1; +#X obj 496 165 h_randfloat -1 1; +#X obj 560 104 h_randfloat -1 1; +#X obj 597 145 h_randfloat -1 1; +#X obj 578 124 h_randfloat -1 1; +#X obj 620 164 h_randfloat -1 1; +#X obj 422 63 t b b; +#X obj 422 207 pack 0 0 0 0 0 0 0 0; +#X connect 0 0 15 0; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 2 1 15 1; +#X connect 3 0 4 0; +#X connect 4 0 15 0; +#X connect 4 1 15 2; +#X connect 5 0 6 0; +#X connect 6 0 15 0; +#X connect 6 1 15 3; +#X connect 7 0 8 0; +#X connect 8 0 15 0; +#X connect 8 1 15 4; +#X connect 9 0 10 0; +#X connect 10 0 15 0; +#X connect 10 1 15 5; +#X connect 11 0 12 0; +#X connect 12 0 15 0; +#X connect 12 1 15 6; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 14 1 15 7; +#X connect 15 0 16 0; +#X connect 17 0 27 0; +#X connect 19 0 28 0; +#X connect 20 0 28 2; +#X connect 21 0 28 1; +#X connect 22 0 28 3; +#X connect 23 0 28 4; +#X connect 24 0 28 6; +#X connect 25 0 28 5; +#X connect 26 0 28 7; +#X connect 27 0 19 0; +#X connect 27 1 23 0; +#X connect 27 1 21 0; +#X connect 27 1 25 0; +#X connect 27 1 20 0; +#X connect 27 1 24 0; +#X connect 27 1 22 0; +#X connect 27 1 26 0; +#X connect 28 0 16 0; +#X restore 467 441 pd 8-dimen-dataset; +#X obj 467 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 484 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 501 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 518 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 536 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 553 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 570 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 587 382 vsl 15 50 -1 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X text 465 338 8 dimensional:; +#X obj 467 463 s \$0-to_net; +#X obj 600 442 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 511 353 0; +#X msg 377 370 250; +#X obj 420 92 cnv 15 1 1 empty empty 1 5 7 0 8 -241291 -241291 0; +#X obj 412 195 cnv 15 1 1 empty empty 2 5 7 0 8 -241291 -241291 0; +#X obj 415 215 cnv 15 1 1 empty empty 3 5 7 0 8 -241291 -241291 0; +#X obj 434 200 cnv 15 1 1 empty empty 4 5 7 0 8 -241291 -241291 0; +#X obj 476 160 cnv 15 1 1 empty empty 5 5 7 0 8 -241291 -241291 0; +#X obj 485 230 cnv 15 1 1 empty empty 6 5 7 0 8 -241291 -241291 0; +#X obj 501 177 cnv 15 1 1 empty empty 7 5 7 0 8 -241291 -241291 0; +#X obj 508 198 cnv 15 1 1 empty empty 8 5 7 0 8 -241291 -241291 0; +#X obj 526 125 cnv 15 1 1 empty empty 9 5 7 0 8 -241291 -241291 0; +#X obj 537 223 cnv 15 1 1 empty empty 0 5 7 0 8 -241291 -241291 0; +#X msg 50 64 sample9.wav 0.34 0.26; +#X msg 223 64 readXML tmp/2d-data.xml; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 16 0; +#X connect 5 0 4 0; +#X connect 6 0 4 0; +#X connect 7 0 4 0; +#X connect 12 0 13 0; +#X connect 12 1 14 0; +#X connect 15 0 9 0; +#X connect 18 0 17 0; +#X connect 19 0 29 0; +#X connect 20 0 19 0; +#X connect 21 0 19 1; +#X connect 22 0 19 2; +#X connect 23 0 19 3; +#X connect 24 0 19 4; +#X connect 25 0 19 5; +#X connect 26 0 19 6; +#X connect 27 0 19 7; +#X connect 30 0 19 8; +#X connect 31 0 20 0; +#X connect 31 0 21 0; +#X connect 31 0 22 0; +#X connect 31 0 23 0; +#X connect 31 0 24 0; +#X connect 31 0 25 0; +#X connect 31 0 26 0; +#X connect 31 0 27 0; +#X connect 32 0 17 1; +#X connect 43 0 6 0; +#X connect 44 0 4 0; -- cgit v1.2.1