Hi,
ich hab ein Neuronales Netz trainiert und kann das nur als C exportieren, will es aber gern direkt in Java-Code haben.
MAT_INOUT ist eine Matrix/ein zweidimensionales Array, die V_... Vektoren/Arrays.
void ComputeFeedForwardSignals(double* MAT_INOUT,double* V_IN,double* V_OUT,double* V_BIAS,int size1,int size2,int layer) {
int row,col;
for(row=0;row < size2; row++) {
V_OUT[row]=0.0;
for(col=0;col<size1;col++)
V_OUT[row]+=(*(MAT_INOUT+(row*size1)+col)*V_IN[col]);
V_OUT[row]+=V_BIAS[row];
if(layer==0) V_OUT[row] = logistic(V_OUT[row]);
if(layer==1) V_OUT[row] = exp(V_OUT[row]);
}
}
Bin totaler C-/Informatik-Cretin.
Was steht in der Zeile mit MAT_INOUT? Was macht der Stern? Gefühlt muss ja das korrekte Element aus der Matrix genommen werden, aber ich habe keine Idee wie sich irgendein Zeiger in Verbindung mit einem Array verhält.
V_OUT[row] += V_IN[col] * MAT_INOUT[row][col] scheint falsch zu sein.
Vielen Dank.