备份:创建VS工程使用神经网络库——FANN
来源:互联网 发布:json.dumps python 编辑:程序博客网 时间:2024/05/18 01:53
编译:
sourceforge上的FANN库带VS2010的工程,我机器上装的VS2005,用不了,愁人,只能手动创建工程了,编译不过,度娘不管用,翻墙麻烦,用雅虎搜到一个工程的创建配置,调整配置试一下,果然好用,在这里备份一下:
1) 创建一个工程,可以叫"vs2005test".包含所有的库文件(.h和.c),除了这几个文件(这点很重要): floatfann.h, floatfann.c, fixedfann.h, fixedfann.c, doublefann.h , doublefann.c。
2) "工程属性 -> C/C++ -> 常规 ->附加包含目录"添加include路径。
3) 添加预处理器定义: (工程属性->C/C++ -> 预处理器 -> 预处理器定义)
_CRT_SECURE_NO_WARNINGS
_USRDLL
FANN_DLL_EXPORTS
WIN32
_WINDOWS
_DEBUG
_CRT_SECURE_NO_DEPRECATE
4) 配置 工程属性 -> 常规 -> 配置类型 = 动态库 (.dll)
5) 编译.ok!
测试:
调试的话,再建个控制台工程,包含该dll和库,添加main.cpp,测试代码如下:
#include <stdio.h>
#include "floatfann.h"
int main()
{
printf("Please Enter Command:(\"t\":Train,\"c\":Calculate,\"v\":Verification.)\n");
char c = getchar();
if('t' == c)
{
const unsigned int num_input = 2;
const unsigned int num_output = 1;
const unsigned int num_layers = 3;
const unsigned int num_neurons_hidden = 1024;
const float desired_error = (const float) 0.001;
const unsigned int max_epochs = 500000;
const unsigned int epochs_between_reports = 1000;
struct fann *ann = fann_create_standard(num_layers, num_input, num_neurons_hidden, num_output);
//fann_set_activation_function_hidden(ann, FANN_SIGMOID_SYMMETRIC);
//fann_set_activation_function_output(ann, FANN_SIGMOID_SYMMETRIC);
fann_train_on_file(ann, "train.data", max_epochs, epochs_between_reports, desired_error);
fann_save(ann, "test.net");
fann_destroy(ann);
}
else if('c' == c)
{
fann_type *calc_out;
fann_type input[2];
struct fann *ann = fann_create_from_file("test.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);
}
else if('v' == c)
{
struct fann *ann = fann_create_from_file("test.net");
struct fann_train_data *data = fann_read_train_from_file("verification.data");
fann_reset_errstr(reinterpret_cast<struct fann_error *>(ann));
for (int i=0;i != data->num_data;i++)
{
fann_test(ann,data->input[i],data->output[i]);
}
printf("Mean Square Error:%f\n",fann_get_errno(reinterpret_cast<struct fann_error *>(ann)));
fann_destroy(ann);
}
return 0;
}
神经网络是个神马?
还能干啥?
- 备份:创建VS工程使用神经网络库——FANN
- 柜位预测(二)——神经网络-FANN库
- 尝试C++神经网络类库FANN
- 使用VS创建OpenCV工程
- VS工程备份
- 开源的人工神经网络计算库 FANN 学习笔记 1
- 智能识别-人工神经网络FANN总结
- VS脚本自动备份工程
- VS创建MFC工程
- vs创建dll工程
- 多平台工程生成工具CMAKE如何创建VS工程组——folder属性
- 多平台工程生成工具CMAKE如何创建VS工程组——folder属性
- asm基础——使用vs创建asm库
- 使用VS创建的Qt工程,设置应用程序图标
- FANN 自由开放源码神经网络库 支持Python, PHP, C++, .NET, Delphi, Matlab, Octave, Ruby, Pure Data, Mathematica
- 在VS平台下使用JAI_SDK库1———— 配置工程包含路径
- 开源的C/C++神经网络项目--FANN
- phonegap学习笔记1——创建工程 使用插件
- MBProgressHUD 的使用
- ZOJ 2165 Red and Black(DFS,水题)
- Core Location Manager Changes in iOS 8 英文文档
- 说说自己,向前看远些,路还要走下去的
- 集算器生成动态列结果集
- 备份:创建VS工程使用神经网络库——FANN
- 别说什么“寒门再难出贵子”,屌丝逆袭从来都是极少数
- 手机验证短信设计与代码实现
- C 从标准输入读取字符串.
- NSUserDefaults 本地小量数据存储
- Java 复制大文件方式FileChannel 用法
- hihocoder 1241:Best Route in a Grid
- android Rom修改关于系统时间日期格式的修改
- iOS中多线程的使用