- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我一直在试验 FANN库,它似乎是一个很棒的神经网络库,但我在如何使用它方面遇到了一些问题。
所以我在这里尝试做的是训练一个神经网络,为了弄乱库,给它一个输入并期望一个输出。
FANN::neural_net nn;
const float desired_error = 0.00001;
const unsigned int max_epochs = 500000;
const unsigned int epochs_between_reports = 1000;
const unsigned int layers_count = 3;
const unsigned int layers[layers_count] = {7, 5, 1};
nn.create_standard_array(layers_count, layers);
nn.train_on_file(TRAINING_DATA, max_epochs, epochs_between_reports, desired_error);
这是我的训练数据文件 (TRAINING_DATA) 的第一行:
16969 7 1
0.0812069 0.0812069 0.381578 0.0812069 5.8931e-05 0.0843302 0.606695
1
0.429961 0.0509753 0.381578 0.0266957 0.000117862 0.00707172 0.0221581
1
0.0983558 0.486888 0.381578 0.000117862 0.0266957 0.00701279 0.0539808
1
0.0983558 0.486888 0.598562 0.0161471 0.0161471 0.000471448 0.00135541
1
可以找到完整数据集here
使用训练数据文件中的示例数据,我应该得到与之匹配的输出,对吗?但是,如果我执行以下操作,我会得到 0 作为输出...
fann_type i[7], *o;
i[0] = 0.429961; i[1] = 0.0509753; i[2] = 0.381578; i[3] = 0.0266957; i[4] = 0.000117862; i[5] = 0.00707172; i[6] = 0.0221581;
o = nn.run(i);
std::cout << "output (run) is " << o[0] << std::endl;
有人能真正向我解释这里发生了什么吗?
我用的是2.2.0版本的fann。
谢谢
编辑:似乎 2.1.0 beta 版本给出了预期的结果,但 2.2.0 版本没有。
编辑 2:这实际上是我使用的版本中的一个错误。
最佳答案
我试图重现您的错误,但我做不到。这是我的程序:
#include<iostream>
using namespace std;
#include <fann.h>
#include <fann_cpp.h>
#include <floatfann.h>
int main()
{
FANN::neural_net nn;
const float desired_error = 0.00001;
const unsigned int max_epochs = 500000;
const unsigned int epochs_between_reports = 1000;
const unsigned int layers_count = 3;
const unsigned int layers[layers_count] = {7, 5, 1};
nn.create_standard_array(layers_count, layers);
nn.train_on_file("test.train", max_epochs, epochs_between_reports, desired_error);
fann_type i[7];
i[0] = 0.429961; i[1] = 0.0509753; i[2] = 0.381578; i[3] = 0.0266957; i[4] = 0.000117862; i[5] = 0.00707172; i[6] = 0.0221581;
fann_type *o = nn.run(i);
std::cout << "output (run) is " << o[0] << std::endl;
return 0;
}
这是输出:
Max epochs 500000. Desired error: 0.0000100000.
Epochs 1. Current error: 0.2283857614. Bit fail 4.
Epochs 7. Current error: 0.0000000000. Bit fail 0.
output (run) is 1
也许您可以提供完整的训练集?
关于c++ - 使用 FANN 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612697/
在 FANN 中,导入训练数据后,我会根据我正在使用的激活函数对其进行缩放。我使用 FANN_SIGMOID_SYMMETRIC,所以它应该是 -1.0 和 1.0。 我的训练数据范围是[-100,1
使用 FANN图书馆我得到了不可预测的结果。训练文件: 132 600 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
我编译了一个简单的程序: #include #include #include int main(int argc, char* argv[]) { struct fann *ann =
我正在使用带有给定代码的 FANN 库。 #include #include "doublefann.h" int main() { const NUM_ITERATIONS = 10000
我正在尝试使用 MinGW 在 Windows 上构建一个基本的 FANN(快速人工神经网络)项目。然而,每当我尝试链接可执行文件时,我都会遇到一堆 undefined reference 错误。有趣
我正在尝试 FANN PHP 模块,并且能够成功运行此处的示例 http://php.net/manual/en/fann.examples-1.php 我将其修改为能够处理 5 个输入,并使用任意函
我正在使用 FANN 库构建神经网络来处理回归问题。问题是,一旦网络在相关训练集上接受了训练(这似乎工作得很好),每个单独的测试输出完全相同的输出。换句话说,给定我的 16 个预测变量的任何状态,根据
我正在开发一款使用 FANN(快速人工神经网络库)的软件。在多次尝试编写自己的 ANN 代码以编译 FANN 示例程序(这里是 C++ XOR 近似程序)的尝试失败后,我尝试过。这是来源。 #incl
我尝试在 FANN 库的帮助下编写简单的垃圾邮件分类器。为此,我收集了一些垃圾邮件和非垃圾邮件,并收集了一本最常用的英语单词词典。我使用以下代码创建了一个具有一个隐藏层的神经网络: num_input
我想通过将配置保存到数据库中来使用 FANN,然后在运行期间加载它。所有功能似乎都在将网络保存/加载到配置文件中。但是我的应用程序不能有临时文件。 如何将训练保存到字符串中/从字符串加载网络?我正在使
我一直在试验 FANN库,它似乎是一个很棒的神经网络库,但我在如何使用它方面遇到了一些问题。 所以我在这里尝试做的是训练一个神经网络,为了弄乱库,给它一个输入并期望一个输出。 FANN::neural
使用 FANN 我无法成功运行从 FANN 网站复制粘贴的代码。我在 Windows 7 和 MS Visual Studio 2008 上使用 FANN 2.2.0 版。我的 XOR 示例训练程序代
我在快速人工神经网络文档中发现种子函数是 fann_seed_rand() 但我不明白它是如何工作的。调用或不调用似乎都是一样的。 如何修复种子?主要目标是让 fann_shuffle_data()
我正在使用 FANN 来使用神经网络。 (Link to FANN) 我需要在训练网络后获得权重矩阵,但我没有从文档中找到任何内容。 (Link to documentation) 你知道如何得到这个
我有以下循环: for (int i = 1; i ::iterator it = batchFiles.begin(); it != batchFiles.end(); ++it) {
在这里,我阅读了有关 C/C++ 人工神经网络中 FANN 的很好的引用资料。实际上我正在使用 C++(在带有 g++ v4.6.1 的 Ubuntu 上)。用 C 编写的库具有 C++ 的包装器。但
我有一个标准的神经网络,我已经训练了一段时间,但直到完善为止。培训类(class)完成后,我将网络保存在磁盘上。 一段时间后,我想从它离开的地方恢复训练网络。问题是,似乎每次我开始新的训练类(clas
我刚刚构建并安装了 libfann以及相关的 python 绑定(bind)。 python 设置似乎运行正常: $ sudo python setup.py install Running SWIG
我已经尝试使用所有 apt-get 安装、pip 和直接从源代码在 Ubuntu 上安装 FANN Python 绑定(bind),但是当我尝试导入 FANN 时,同样的错误不断发生。即,它告诉我fa
我是一名优秀的程序员,十分优秀!