def test_backward_with_broadcast(self): x0 = Variable(np.array([10, 11, 12])) x1 = Variable(np.array([5])) y = sub(x0, x1) y.backward() assert_equal(x0.grad.data, np.array([1, 1, 1])) assert_equal(x1.grad.data, np.array([-3]))
def test_backward(self): a = Variable(np.array(3.0)) b = Variable(np.array(2.0)) y = sub(a, b) y.backward() self.assertEqual(a.grad.data, np.array(1.0)) self.assertEqual(b.grad.data, np.array(-1.0))
def test_sub_backward(self, culc_object): x0 = culc_object[0] x1 = culc_object[1] y = sub(x0, x1) y.backward() assert x0.grad.data == 1 and x1.grad.data == -1
def test_sub(self, culc_object): assert sub(culc_object[0], culc_object[1]).data == -1
def test_forward_with_broadcast(self): x0 = Variable(np.arange(100).reshape((100, 1))) x1 = Variable(np.ones((100, 1))) y = sub(x0, x1) assert_equal(y.data, np.arange(-1, 99).reshape(100, 1))
def test_forward(self): a = Variable(np.array(3.0)) b = Variable(np.array(2.0)) y = sub(a, b) self.assertEqual(y.data, np.array(1.0))