def unpack_weights(self, z):
    w = z
    w1 = np.reshape(w[:(self.d * self.n_hidden)], [self.d, self.n_hidden])
    b1 = w[(self.d * self.n_hidden):((self.d + 1) * self.n_hidden)]
    w = w[((self.d + 1) * self.n_hidden):]
    (w2, b2) = (w[:self.n_hidden], w[(- 3)])
    (loggamma, loglambda) = (w[(- 2)], w[(- 1)])
    return (w1, b1, w2, b2, loggamma, loglambda)
def unpack_weights(self, z):
    w = z
    w1 = np.reshape(w[:(self.d * self.n_hidden)], [self.d, self.n_hidden])
    b1 = w[(self.d * self.n_hidden):((self.d + 1) * self.n_hidden)]
    w = w[((self.d + 1) * self.n_hidden):]
    (w2, b2) = (w[:self.n_hidden], w[(- 3)])
    (loggamma, loglambda) = (w[(- 2)], w[(- 1)])
    return (w1, b1, w2, b2, loggamma, loglambda)