def test_backward(self): a = as_variable(6.0) b = as_variable(4.0) c = div(a, b) c.backward() self.assertEqual(a.grad.data, np.array(1/4)) self.assertEqual(b.grad.data, np.array(-6/4**2))
def test_backward_with_broadcast(self): x0 = Variable(np.array([10, 11, 12])) x1 = Variable(np.array([2])) y = div(x0, x1) y.backward() assert_equal(x0.grad.data, np.array([0.5, 0.5, 0.5])) assert_equal(x1.grad.data, np.array([-10/4-11/4-12/4]))
def test_div_backward(self, culc_object): x0 = culc_object[0] x1 = culc_object[1] y = div(x0, x1) y.backward() assert x0.grad.data == 1 / 3 and x1.grad.data == -2 / 9
def test_div(self, culc_object): assert div(culc_object[0], culc_object[1]).data == 2 / 3
def test_forward(self): a = as_variable(6.0) b = as_variable(4.0) c = div(a, b) self.assertEqual(c.data, np.array(1.5))