(self)
| 48 | self.f = f |
| 49 | |
| 50 | def init(self): |
| 51 | D, M, K = self.D, self.M, self.K |
| 52 | self.W1 = np.random.randn(D, M) / np.sqrt(D) |
| 53 | # self.W1 = np.zeros((D, M)) |
| 54 | self.b1 = np.zeros(M) |
| 55 | self.W2 = np.random.randn(M, K) / np.sqrt(M) |
| 56 | # self.W2 = np.zeros((M, K)) |
| 57 | self.b2 = np.zeros(K) |
| 58 | |
| 59 | def forward(self, X): |
| 60 | Z = self.f(X.dot(self.W1) + self.b1) |