本文介绍了FANN-在简单任务中我得到了不正确的结果(接近0)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

#include "doublefann.h"
#include "fann_cpp.h"
#include <iostream>

using namespace std;

int main() {
    FANN::neural_net* sth = new FANN::neural_net();
    sth->create_standard(3, 1, 2, 1);
    double inputs[1] = {0.000005};
    double outputs[1] = {0.8};
    double *wynik;
    for(int i = 0; i < 1000; i++) {
        sth->train(inputs, outputs);
        wynik = sth->run(inputs);
        cout << wynik[0] << endl;
    }
}

我有:5.20981e-315、5.201e-315、5.19371e-315、5.18769e-315、5.18269e-315、5.1786e-315.

I've got: 5.20981e-315, 5.201e-315, 5.19371e-315, 5.18769e-315, 5.18269e-315, 5.1786e-315.

我做错了什么?

推荐答案

好.我懂了.在 http://leenissen.dk/fann/forum/viewtopic.php?t=354 是一种解决方案.如果包含"doublefann.h",则应在编译器选项中链接"-ldoublefann"而不是"-lfann".

Ok. I've got it. On http://leenissen.dk/fann/forum/viewtopic.php?t=354 is a solution.If you include "doublefann.h" you should link "-ldoublefann" instead "-lfann" in compiler options.

这篇关于FANN-在简单任务中我得到了不正确的结果(接近0)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 06:17