Question

I am new to using FANN and am trying to access it using the python bindings.

ann = libfann.neural_net()
ann.create_sparse_array(3, (12, 8, 1))
ann.set_learning_rate(100)
ann.set_activation_function_output(libfann.SIGMOID_SYMMETRIC_STEPWISE)
ann.train_on_file("file.txt", 500, 50, 0.01)

The file looks like this:

5352 12 1
29020800.0 384.78 371.8 373.33 377.37 377.3 -4.04 374.201 120.803 51.3301 61.7468 -10.4167
406.35
28088200.0 379.82 360.3 367.86 378.25 378.2 -10.39 374.824 123.364 47.1374 58.8249 -11.6875
409.0
44059900.0 381.8 354.24 374.57 372.5 372.5 2.07 374.466 125.843 42.8831 55.6365 -12.7534
402.55

etc for 5352 inputs.

But when I run this, it goes through in under 5 seconds and prints the following:

Max epochs      500. Desired error: 0.0099999998.
Epochs            1. Current error: 2680.8283691406. Bit fail 5352.
Epochs           50. Current error: 2647.2299804688. Bit fail 5352.
Epochs          100. Current error: 2647.2299804688. Bit fail 5352.
Epochs          150. Current error: 2647.2299804688. Bit fail 5352.
Epochs          200. Current error: 2647.2299804688. Bit fail 5352.
Epochs          250. Current error: 2647.2299804688. Bit fail 5352.
Epochs          300. Current error: 2647.2299804688. Bit fail 5352.
Epochs          350. Current error: 2647.2299804688. Bit fail 5352.
Epochs          400. Current error: 2647.2299804688. Bit fail 5352.
Epochs          450. Current error: 2647.2299804688. Bit fail 5352.
Epochs          500. Current error: 2647.2299804688. Bit fail 5352.

Can someone give me a hint on what could be going wrong?

Was it helpful?

Solution

According to Reference Manual http://leenissen.dk/fann/html/files/fann_data-h.html#fann_activationfunc_enum, outputs should be between <-1, 1> You must scale your outputs ;)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top