Ejemplo n.º 1
0
    def test_builder_eval(self):
        x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
        v = mb.leaky_relu(x=x_val, alpha=2.0)

        b = np.copy(x_val)
        b[b < 0] *= 2.0
        assert is_close(b, v.val)
Ejemplo n.º 2
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
     alpha = 1.0
     beta = 2.0
     v = mb.sigmoid_hard(x=x_val, alpha=alpha, beta=beta)
     assert is_close(np.minimum(np.maximum((alpha * x_val) + beta, 0), 1),
                     v.val)
Ejemplo n.º 3
0
    def test_builder_eval(self):
        x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
        v = mb.clamped_relu(x=x_val, alpha=2.0, beta=1.0)

        x = np.minimum(np.maximum(x_val, 0), 1.0)
        y = np.minimum(np.minimum(x_val, 0) * 2.0, 1.0)
        assert is_close(x + y, v.val)
Ejemplo n.º 4
0
    def test_builder_eval(self):
        x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)

        mode = "TANH_APPROXIMATION"
        v = mb.gelu(x=x_val, mode=mode)
        a = np.sqrt(2 / np.pi) * (x_val + 0.044715 * np.power(x_val, 3))
        out = 0.5 * x_val * (1 + np.tanh(a))
        assert is_close(out, v.val)

        mode = "SIGMOID_APPROXIMATION"
        v = mb.gelu(x=x_val, mode=mode)
        out = x_val * (1 / (1 + np.exp(-(1.702 * x_val))))
        assert is_close(out, v.val)

        v = mb.gelu(x=x_val)
        out = 0.5 * x_val * (1 + scipy.special.erf(x_val / np.sqrt(2)))
        assert is_close(out, v.val)
Ejemplo n.º 5
0
    def test_builder_eval(self):
        x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
        v = mb.elu(x=x_val, alpha=2.0)

        b = np.copy(x_val)
        b[b < 0] = 2.0 * (np.exp(b[b < 0]) - 1)

        assert is_close(b, v.val)
Ejemplo n.º 6
0
    def test_builder_eval(self):
        x_val = np.array([[[[-1, 3, 6]], [[-1, 2, -3]], [[4, -5, 6]]]],
                         dtype=np.float32)
        alpha = np.array([1, 2, 3], dtype=np.float32)
        v = mb.prelu(x=x_val, alpha=alpha)

        alpha_br = alpha

        for i in range(1, len(x_val.shape)):
            alpha_br = np.expand_dims(alpha_br, i)

        x_pos = np.maximum(x_val, 0)
        b = np.minimum(x_val, 0)

        assert is_close(x_pos + b * alpha_br, v.val)
Ejemplo n.º 7
0
    def test_builder_eval(self):
        x_val = np.array([[[[-1, 3, 6]], [[-1, 2, -3]], [[4, -5, 6]]]],
                         dtype=np.float32)
        v = mb.softplus_parametric(
            x=x_val,
            alpha=np.array([1, 2, 3], dtype=np.float32),
            beta=np.array([4, 5, 6], dtype=np.float32),
        )

        alpha_br = np.array([1, 2, 3], dtype=np.float32)
        beta_br = np.array([4, 5, 6], dtype=np.float32)
        for i in range(1, len(x_val.shape)):
            alpha_br = np.expand_dims(alpha_br, i)
            beta_br = np.expand_dims(beta_br, i)
        out = alpha_br * np.log(np.exp(x_val * beta_br) + 1)

        assert is_close(out, v.val)
Ejemplo n.º 8
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
     v = mb.softsign(x=x_val)
     assert is_close(x_val / (1 + np.abs(x_val)), v.val)
Ejemplo n.º 9
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
     v = mb.softmax(x=x_val, axis=0)
     assert is_close(scipy.special.softmax(x_val, axis=0), v.val)
Ejemplo n.º 10
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
     v = mb.softplus(x=x_val)
     assert is_close(
         np.log(1 + np.exp(-np.abs(x_val))) + np.maximum(x_val, 0), v.val)
Ejemplo n.º 11
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
     v = mb.sigmoid(x=x_val)
     assert is_close(1 / (1 + np.exp(-x_val)), v.val)
Ejemplo n.º 12
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
     v = mb.scaled_tanh(x=x_val, alpha=2.0, beta=1.0)
     assert is_close(2.0 * np.tanh(x_val * 1.0), v.val)
Ejemplo n.º 13
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 7, -3], [4, -5, 8]], dtype=np.float32)
     v = mb.relu6(x=x_val)
     assert is_close(np.minimum(np.maximum(x_val, 0), 6), v.val)
Ejemplo n.º 14
0
 def test_builder_eval(self):
     x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
     v = mb.linear_activation(x=x_val, alpha=2.0, beta=3.0)
     assert is_close(x_val * 2.0 + 3.0, v.val)
Ejemplo n.º 15
0
 def test_builder_eval(self):
     x_val = np.array([[0, 2, 0], [4, 0, 6]], dtype=np.float32)
     v = mb.thresholded_relu(x=x_val, alpha=2.0)
     y = x_val
     y[y < 2.0] = 0
     assert is_close(y, v.val)