Thanks for the quick reply, can you fix my issue one more step. I am giving my code which I stuck for few days, please correct me.
Input dimension is 1x151x32
k = crnn_model.rnn.weight_ih_l0
p  = crnn_model.rnn.weight_hh_l0
m  = crnn_model.rnn.bias_hh_l0
l  = crnn_model.rnn.bias_ih_l0

As mentioned, gru layer has 1 layer, I am feeding zeros as state. And updating with the new state after 
calculating output. 

This is the code giving me wrong results as i mentioned. Please solve my issue to go ahead, I am stuck here for days

ht = np.zeros(32)
for j in range(151):
    for i in range(32):
        sum_r = np.sum(k[i]*input[0][j]) + l[i+0]  +  m[i+0] + (np.sum(p[i]))*ht[i]
        r  =   sum_r 
        r  = 1 / (1 + math.exp(-r))
        
        sum_z = np.sum(k[i+32]*input[0][j]) + l[i+32] +  m[i+32] + np.sum(p[i+32])*ht[i]
        z  =   sum_z
        z  = 1 / (1 + math.exp(-z))
        
        n = np.sum(k[i+64]*input[0][j]) + l[i+64] +(m[i+64]+np.sum(p[i+64])*ht[i])*r
        n = math.tanh(n)
        out   = (1-z)*n +  z*(ht[i])
        ht_past[i] =  out        
    ht = ht_past