📄 initia.c
字号:
/* * $Id: initia.c 1269 2007-05-09 07:49:08Z mhe $ */ #include <stdlib.h>#include <stdio.h>#include "lstm.h"#include "initia.h"void initia(int load, char *weightload){ int i, j, u, v; example=0; epoch=0; epoch_err=0; class_err=0; classnon_err = 0; numb_seq=0; seq_cor=1; seq_err=0; weight_up=0; element = 0; element_t = 0; const double randfactor = 1000000.0; if (load == 1 || load == 3) { /* load weight file */ load_weights(weightload); } else { /* weight initialization */ for (i = 0; i < ges_mod; i++) { for (j = 0;j <= in_mod; j++) { W[i][j] = seprand(randfactor * 2) - randfactor; W[i][j] /= randfactor; W[i][j]*=init_range; W[i][j] = 0; DW[i][j]=0; DWold[i][j]=0; } for (j = in_mod_b;j < ges_mod; j++) { W[i][j] = seprand(randfactor * 2) - randfactor; W[i][j] /= randfactor; W[i][j]*=init_range; W[i][j] = 0; DW[i][j]=0; DWold[i][j]=0; } } /* bias and weight to output unit initalizations */ i=in_mod_b+1; for (u=0;u<num_blocks;u++) { /* bias to input gate */ W[i][in_mod_b] = bias_inp[u]; i++; /* bias to output gate */ W[i][in_mod_b] = bias_out[u]; for (v=0;v<block_size[u];v++) { i++; } /* bias to memory cell */ W[i][in_mod_b] = bias_memin[u]; /* weight to output unit */ W[cell_mod][i] = weight_memout[u]; i++; } /* output bias */ W[cell_mod][in_mod_b] = outputbias; } /* reset activations and derivatives */ reset_net();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -