?? backprop.h
字號:
/*
******************************************************************
* backprop.h
******************************************************************
*/
#ifndef _BACKPROP_H_
#define _BACKPROP_H_
#define BIGRND 0x7fffffff
/*** 神經網絡的數據結構。網絡被假定為一個全連接的3層前向結構,
每層的單元0是閾值,這意味著真正的神經元編號為1-n
***/
typedef struct {
int input_n; /* 輸入層的神經元個數 */
int hidden_n; /* 隱含層的神經元個數 */
int output_n; /* 輸出層的神經元個數 */
double *input_units; /* 輸入層的神經元 */
double *hidden_units; /* 隱藏層的神經元 */
double *output_units; /* 輸出曾的神經元 */
double *hidden_delta; /* 隱藏層的誤差 */
double *output_delta; /* 輸出層的誤差 */
double *target; /* 目標向量 */
double **input_weights; /* 輸入層到隱藏層的連接權 */
double **hidden_weights; /* 隱藏層到輸出曾的連接權 */
/*** 下面兩個在迭代時使用 ***/
double **input_prev_weights; /* 前次輸入層導隱藏層權值的改變 */
double **hidden_prev_weights; /* 前次隱藏層導輸出層權值的改變 */
} BPNN;
/*** 用戶接口 ***/
/* 初始化隨機數種子 */
void bpnn_initialize(int seed);
/* 創建BP網絡 */
BPNN *bpnn_create(int n_in, int n_hidden, int n_out);
/* 釋放BP網絡所占地內存空間 */
void bpnn_free(BPNN *net);
/* 訓練BP網絡 */
void bpnn_train(BPNN *net, double eta, double momentum, double *eo, double *eh);
/* 前向運算 */
void bpnn_feedforward(BPNN* net);
/* 保存BP網絡到文件中 */
void bpnn_save(BPNN *net, char *filename);
/* 從文件中讀取BP網絡參數 */
BPNN *bpnn_read(char *filename);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -