def forward_pass(self, inputs, param_vector):
     new_shape = inputs.shape[:2]
     for i in [0, 1]:
         pool_width = self.pool_shape[i]
         img_width = inputs.shape[i + 2]
         new_shape += (pool_width, img_width / pool_width)
     result = inputs.reshape(new_shape)
     return np.max(np.max(result, axis=2), axis=3)
def logsumexp(x):
    """Numerically stable log(sum(exp(x))), also defined in scipy.misc"""
    max_x = np.max(x)
    return max_x + np.log(np.sum(np.exp(x - max_x)))
def logsumexp(X, axis, keepdims=False):
    max_X = np.max(X)
    return max_X + np.log(np.sum(np.exp(X - max_X), axis=axis, keepdims=keepdims))
Example #4
0
def logsumexp(X, axis=1):
    max_X = np.max(X)
    return max_X + np.log(np.sum(np.exp(X - max_X), axis=axis, keepdims=True))