我在Keras中获得了LSTM的权重,并将其设置为CSV。 我在Matlab2016b中使用权重。 如何解决?
我做了一些使用重量的功能:
function pred = fcn(u1, u2, u3, u4, u5,Wi,Wf, Wc, Wo,Ui, Uf, Uc, Uo, bi, bf, bc, bo,denw,denb)
%#codegen
A = [u1; u2; u3; u4; u5];
ht_1=zeros(6,1);
Ct_1=zeros(6,1);
ip = Wi*A+Ui*ht_1+bi;
fg = Wf*A+Uf*ht_1+bf;
Ch = Wc*A+Uc*ht_1+bc;
op = Wo*A+Uo*ht_1+bo;
for i=1:64
for j=1:6
i_t = 1/(1+exp(ip(j)));
f_t = 1/(1+exp(fg(j)));
C_hat = tanh(Ch(j));
o_t = 1/(1+exp(op(j)));
C_t = f_t*Ct_1+i_t*C_hat;
h_t = o_t*tanh(C_t);
end
Ct_1=C_t;
ht_1=h_t;
end
h_t=ht_1;
pred= transpose(h_t)*denw+denb;
设置:
该代码正确吗?我很困惑。