📄 genback.c
字号:
/* Implementations for Genetric Backpropagation */#include "defs.h"#include "ind.h"#include "gen.h"#include "back.h"#include "stdnet.h"#include "genback.h"void randomNetPop(int popsize,float w){ int i; for(i=0;i<popsize;i++) { randomNet(w); back2gen(Pop[i]); };}void gen2back(ind x){ int i,j,k; for(i=0;i<=Nin;i++) for(j=0;j<Nhid;j++) { Wih[i][j]=weight1(x,i,j); DDih[i][j]=0.0; }; for(j=0;j<=Nhid;j++) for(k=0;k<Nout;k++) { Who[j][k]=weight2(x,j,k); DDho[j][k]=0.0; }; LearnRate=lrate(x); Impulse=imp(x);}void back2gen(ind x){ int i,j,k; int w,m; float s; m=(1<<Nbits)-1; s=((1<<(Nbits-1))-1)/Width; for(i=0;i<=Nin;i++) for(j=0;j<Nhid;j++) { w=float2int(Wih[i][j]); if(w<0) w=0; else if(w>FGmax) w=FGmax; putbits(int2grey[w],x,IncW1*j+Nbits*i,Nbits); }; for(j=0;j<=Nhid;j++) for(k=0;k<Nout;k++) { w=float2int(Who[j][k]); if(w<0) w=0; else if(w>FGmax) w=FGmax; putbits(int2grey[w],x,OffW2+IncW2*k+Nbits*j,Nbits); };}void backsteps(ind x,int n){ int i; gen2back(x); for(i=0;i<n;i++) { calcNetErr(); updateNet(); }; back2gen(x);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -