资源简介
基于BP神经网络的简单字符识别算法自小结(C语言版)
代码片段和文件信息
/******************************************************************************
Copyright (C) 2014- Zjut Image Processing Lab. All rights reserved.
*******************************************************************************
* File Name : bp_alg_api.c
* Version : 1.0
* Author : gzz
* Created : 2014/6/4
* Last Modified :
Description : BP Neural Net Algorithm API
* Function List :
adjust_layer_weight
alloc_1d_char_buf
alloc_1d_double_buf
alloc_2d_char_buf
alloc_2d_double_buf
bp_hidlayer_deltas
bp_layerforward
bp_outlayer_deltas
bp_randomize_weights
bp_random_seed
bp_train
bp_zero_weights
calculate_err2
free_alloc_buf
get_random
init_bp_core_params
init_bp_weight
squash
* Modification History :
1.Date : 2014/6/4
Author : gzz
Modification : Created file
******************************************************************************/
#include
#include
#include
#include
#include “bp_alg_api.h“
/*Default Macro params for BP Neural Net*/
#define DEF_ERR2_THROLD 0.001
//#define DEF_ETA 0.005
#define DEF_ETA 0.012
#define DEF_MOMENTUM 0
#define DEF_SAMPLE_NUM 30
#define DEF_ITE_NUM 5000000
/*Macro for image sample information*/
#define SAMPLE_IMAGE_W 16
#define SAMPLE_IMAGE_H 16
#define INPUT_WEIGHT_FILE “/home/A31_Android4.2.2/Bp_NeuralNet/input_weight.dat“
#define HIDEN_WEIGHT_FILE “/home/A31_Android4.2.2/Bp_NeuralNet/hiden_weight.dat“
/*30 samples one sample include 32 Characters*/
extern double normalized_sample[][32];
extern double sample[][32];
/*Number Target Code: 0-9*/
double out_target[][4] = {
{0.10.10.10.1}
{0.10.10.10.9}
{0.10.10.90.1}
{0.10.10.90.9}
{0.10.90.10.1}
{0.10.90.10.9}
{0.10.90.90.1}
{0.10.90.90.9}
{0.90.10.10.1}
{0.90.10.10.9}
};
/*******************************************************************************
***************************随机值操作API**********************************/
/*** 设置随机数种子 ***/
void bp_random_seed(int seed)
{
//printf(“Random number generator seed: %d\n“ seed);
srand(seed);
}
/*** 设置-1.0到1.0之间的双精度随机数 ***/
double get_random()
{
return (((double)rand()/(double)RAND_MAX)*2.0-1.0);
}
/*** 随机初始化权值 ***/
void bp_randomize_weights(double **w int m int n)
{
int i j;
for (i = 0; i <= m; i++) {
for (j = 0; j <= n; j++) {
w[i][j] = get_random();
DEG(“bp_randomize_weights =%f“ w[i][j]);
}
}
}
/***初始化权值为0 ***/
void bp_zero_weights(double **w int m int n)
{
int i j;
for (i = 0; i <= m; i++) {
for (j = 0; j <= n; j++) {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 23884 2014-06-22 22:08 Bp_NeuralNet\bp_alg_api.c
文件 5139 2014-07-08 10:47 Bp_NeuralNet\bp_alg_api.h
文件 31952 2014-06-22 22:08 Bp_NeuralNet\bp_alg_api.o
文件 39107 2014-06-22 22:08 Bp_NeuralNet\bp_test
文件 440 2014-06-22 22:30 Bp_NeuralNet\hiden_weight.dat
文件 2904 2014-06-22 22:30 Bp_NeuralNet\input_weight.dat
文件 1422 2014-06-24 15:33 Bp_NeuralNet\main.c
文件 7680 2014-06-22 22:08 Bp_NeuralNet\main.o
文件 615 2014-06-20 20:42 Bp_NeuralNet\Makefile
文件 8362 2014-06-20 15:13 Bp_NeuralNet\template.c
文件 56 2014-06-20 15:14 Bp_NeuralNet\template.h
文件 11672 2014-06-22 22:08 Bp_NeuralNet\template.o
相关资源
- BP神经网络C语言工程当前最终版
- 可以在单片机上计算的BP神经网络C语
- BP算法的C++实现
- 基于VC++的人脸定位系统
- 基于ANN的神经网络识别数字系统
- 利用Hopfield神经网络解决TSP问题-论文
- 深度学习之卷积神经网络CNN用于人脸
- 深度学习之卷积神经网络CNN模式识别
- 卷积神经网络代码c++
- BP神经网络实现人脸识别包含软件源码
- LeNet-5神经网络——C源代码
- c++开发的人工神经网络做人脸识别
- RBF神经网络C++源码
- 人工神经网络之BP网络模拟三角函数
- Fast ANN神经网络算法源码
- 车牌识别 openCV mfc BP神经网络
- deep learning卷积神经网络CNN在C++环境下
- 基于C++版本的Bp神经网络,数据拟合,
- c++版神经网络实现
- C++ bp神经网络算法
- c-c++写的卷积神经网络
- 基于SVM与人工神经网络的车牌识别O
- Hopfield神经网络解决TSP问题C++程序
- 基于SVM与人工神经网络的车牌识别C
- BP神经网络的c++实现
- rbf神经网络c语言编程
- BP三层神经网络实现C++代码注释详细
- RBF神经网络的C++源码
- 数字识别之神经网络法
- LSTM C++源代码
评论
共有 条评论