Guest User

Untitled

a guest
Jun 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. def bottom_data_is(self, x, s_prev = None, h_prev = None):
  2. # if this is the first lstm node in the network
  3. if s_prev is None: s_prev = np.zeros_like(self.state.s)
  4. if h_prev is None: h_prev = np.zeros_like(self.state.h)
  5. # save data for use in backprop
  6. self.s_prev = s_prev
  7. self.h_prev = h_prev
  8.  
  9. # concatenate x(t) and h(t-1)
  10. xc = np.hstack((x, h_prev))
  11. self.state.g = np.tanh(np.dot(self.param.wg, xc) + self.param.bg)
  12. self.state.i = sigmoid(np.dot(self.param.wi, xc) + self.param.bi)
  13. self.state.f = sigmoid(np.dot(self.param.wf, xc) + self.param.bf)
  14. self.state.o = sigmoid(np.dot(self.param.wo, xc) + self.param.bo)
  15. self.state.s = self.state.g * self.state.i + s_prev * self.state.f
  16. self.state.h = self.state.s * self.state.o
  17.  
  18. self.xc = xc
Add Comment
Please, Sign In to add comment