| 22 | from sklearn.mixture import GaussianMixture |
| 23 | |
| 24 | class Layer(object): |
| 25 | def __init__(self, m1, m2): |
| 26 | W = init_weights((m1, m2)) |
| 27 | bi = np.zeros(m2, dtype=np.float32) |
| 28 | bo = np.zeros(m1, dtype=np.float32) |
| 29 | self.W = theano.shared(W) |
| 30 | self.bi = theano.shared(bi) |
| 31 | self.bo = theano.shared(bo) |
| 32 | self.params = [self.W, self.bi, self.bo] |
| 33 | |
| 34 | def forward(self, X): |
| 35 | return T.nnet.sigmoid(X.dot(self.W) + self.bi) |
| 36 | |
| 37 | def forwardT(self, X): |
| 38 | return T.nnet.sigmoid(X.dot(self.W.T) + self.bo) |
| 39 | |
| 40 | |
| 41 | class DeepAutoEncoder(object): |