FANN simple_test - eiichiromomma/CVMLAB GitHub Wiki
(FANN) simple_test
最もシンプルなテストの例
#include <stdio.h>
//fann.hと同じ
#include "floatfann.h"
int main()
{
//fann_typeはfloatfann.hを使うとfloat
fann_type *calc_out;
//自前でテスト用入力を準備
fann_type input[2];
//ネットワークをファイルから読み込み
struct fann *ann = fann_create_from_file("xor_float.net");
//テスト用入力
input[0] = -1;
input[1] = 1;
//ネットワークを使った出力(学習はしない)
calc_out = fann_run(ann, input);
printf("xor test (%f,%f) -> %f\n", input[0], input[1], calc_out[0]);
//後片付け
fann_destroy(ann);
return 0;
}
> ./simple_test
xor test (-1.000000,1.000000) -> 0.936896
まずまずの出力。
Layer / Neuron 0123456
L 1 / N 3 EEd....
L 1 / N 4 AAb....
L 1 / N 5 EED....
L 1 / N 6 .......
L 2 / N 7 ...eCEd
L 2 / N 8 .......
- Layer0:入力層
- Neuron0:その1
- Neuron1:その2
- Neuron2:バイアス
- Layer1:中間層
- Neuron3:その1
- Neuron4:その2
- Neuron5:その3
- Neuron6:バイアス
- Layer2:出力層
- Neuron7:その1
入力その1(Neuron0),2(Neuron1)と中間その2(Neuron4)のconnectionがAになっていて特に重みが大きい結果になったことが分かる。 当然trainをやりなおせば結果は異なる。
Input layer : 2 neurons, 1 bias
Hidden layer : 3 neurons, 1 bias
Output layer : 1 neurons
Total neurons and biases : 8
Total connections : 13
Connection rate : 1.000
Shortcut connections : 0
Training algorithm : FANN_TRAIN_RPROP
Training error function : FANN_ERRORFUNC_TANH
Training stop function : FANN_STOPFUNC_MSE
Learning rate : 0.700
Learning momentum : 0.000
Quickprop decay : -0.000100
Quickprop mu : 1.750
RPROP increase factor : 1.200
RPROP decrease factor : 0.500
RPROP delta min : 0.000
RPROP delta max : 50.000
Cascade output change fraction : 0.010000
Cascade candidate change fraction : 0.010000
Cascade output stagnation epochs : 12
Cascade candidate stagnation epochs : 12
Cascade max output epochs : 150
Cascade max candidate epochs : 150
Cascade weight multiplier : 0.400
Cascade candidate limit :1000.000
Cascade activation functions[0] : FANN_SIGMOID
Cascade activation functions[1] : FANN_SIGMOID_SYMMETRIC
Cascade activation functions[2] : FANN_GAUSSIAN
Cascade activation functions[3] : FANN_GAUSSIAN_SYMMETRIC
Cascade activation functions[4] : FANN_ELLIOT
Cascade activation functions[5] : FANN_ELLIOT_SYMMETRIC
Cascade activation steepnesses[0] : 0.250
Cascade activation steepnesses[1] : 0.500
Cascade activation steepnesses[2] : 0.750
Cascade activation steepnesses[3] : 1.000
Cascade candidate groups : 2
Cascade no. of candidates : 48
関係ない初期値もゾロゾロ出てくるので騙されないように。