Lines Matching refs:gru
109 void compute_gru(const GRULayer *gru, float *state, const float *input) in compute_gru() argument
117 M = gru->nb_inputs; in compute_gru()
118 N = gru->nb_neurons; in compute_gru()
123 float sum = gru->bias[i]; in compute_gru()
125 sum += gru->input_weights[j*stride + i]*input[j]; in compute_gru()
127 sum += gru->recurrent_weights[j*stride + i]*state[j]; in compute_gru()
133 float sum = gru->bias[N + i]; in compute_gru()
135 sum += gru->input_weights[N + j*stride + i]*input[j]; in compute_gru()
137 sum += gru->recurrent_weights[N + j*stride + i]*state[j]; in compute_gru()
143 float sum = gru->bias[2*N + i]; in compute_gru()
145 sum += gru->input_weights[2*N + j*stride + i]*input[j]; in compute_gru()
147 sum += gru->recurrent_weights[2*N + j*stride + i]*state[j]*r[j]; in compute_gru()
148 if (gru->activation == ACTIVATION_SIGMOID) sum = sigmoid_approx(WEIGHTS_SCALE*sum); in compute_gru()
149 else if (gru->activation == ACTIVATION_TANH) sum = tansig_approx(WEIGHTS_SCALE*sum); in compute_gru()
150 else if (gru->activation == ACTIVATION_RELU) sum = relu(WEIGHTS_SCALE*sum); in compute_gru()