Hi All,
lstm_backward function gives me wrong outputs even though everything else passed all tests. I checked everything many times and all looks correct. how do I investigate this? I also checked all forum topics and saw that people had similar issues, but I don’t think I have the same problem. I would appreciate any recommendations.
my outputs:
gradients["dx"][1][2] = [ 0.00131172 0.09282475 -0.5368476 -0.43281115]
gradients["dx"].shape = (3, 10, 4)
gradients["da0"][2][3] = -0.04194056823977163
gradients["da0"].shape = (5, 10)
gradients["dWf"][3][1] = -0.08879746073385465
gradients["dWf"].shape = (5, 8)
gradients["dWi"][1][2] = 0.10522688299053953
gradients["dWi"].shape = (5, 8)
gradients["dWc"][3][1] = -0.09660358355637418
gradients["dWc"].shape = (5, 8)
gradients["dWo"][1][2] = 0.028542627871270824
gradients["dWo"].shape = (5, 8)
gradients["dbf"][4] = [-0.02202898]
gradients["dbf"].shape = (5, 1)
gradients["dbi"][4] = [-0.14664914]
gradients["dbi"].shape = (5, 1)
gradients["dbc"][4] = [-0.34655979]
gradients["dbc"].shape = (5, 1)
gradients["dbo"][4] = [-0.23460769]
gradients["dbo"].shape = (5, 1)
Expected Output:
gradients["dx"][1][2] = [0.00218254 0.28205375 -0.48292508 -0.43281115]
gradients["dx"].shape = (3, 10, 4)
gradients["da0"][2][3] = 0.312770310257
gradients["da0"].shape = (5, 10)
gradients["dWf"][3][1] = -0.0809802310938
gradients["dWf"].shape = (5, 8)
gradients["dWi"][1][2] = 0.40512433093
gradients["dWi"].shape = (5, 8)
gradients["dWc"][3][1] = -0.0793746735512
gradients["dWc"].shape = (5, 8)
gradients["dWo"][1][2] = 0.038948775763
gradients["dWo"].shape = (5, 8)
gradients["dbf"][4] = [-0.15745657]
gradients["dbf"].shape = (5, 1)
gradients["dbi"][4] = [-0.50848333]
gradients["dbi"].shape = (5, 1)
gradients["dbc"][4] = [-0.42510818]
gradients["dbc"].shape = (5, 1)
gradients["dbo"][4] = [ -0.17958196]
gradients["dbo"].shape = (5, 1)