Ejemplo n.º 1
0
 def test_div(self):
     a = Variable(1.0)
     b = Variable(2.0)
     c = a / b
     c.backward()
     self.assertAlmostEqual(a.d.value, 0.5)
     self.assertAlmostEqual(b.d.value, -0.25)
Ejemplo n.º 2
0
 def test_plus(self):
     a = Variable(1.0)
     b = Variable(2.0)
     c = a + b
     c.backward()
     self.assertAlmostEqual(a.d.value, 1.0)
     self.assertAlmostEqual(b.d.value, 1.0)
Ejemplo n.º 3
0
 def test_expression(self):
     a = Variable(1.0)
     b = Variable(2.0)
     c = Variable(3.0)
     d = a * b + a * c + b * c
     e = 2.0 * (d * b - 5.0)
     self.assertAlmostEqual(d.value, 11.0)
     self.assertAlmostEqual(e.value, 34.0)
Ejemplo n.º 4
0
 def test_expression(self):
     a = Variable(1.0)
     b = Variable(2.0)
     c = Variable(3.0)
     d = a * b + a * c + b * c
     e = 2.0 * (d * b - 5.0)
     e.backward()
     self.assertAlmostEqual(d.d.value, 4.0)
     self.assertAlmostEqual(a.d.value, 20.0)
     self.assertAlmostEqual(b.d.value, 38.0)
     self.assertAlmostEqual(c.d.value, 12.0)
Ejemplo n.º 5
0
    def test_expression(self):
        a = Variable(0.0)
        p = 1.0 / (1 + (-3 * a).exp())
        self.assertAlmostEqual(p.value, 0.5)
        loss = p.log()
        self.assertAlmostEqual(loss.value, log(0.5))

        a2 = Variable(1.0)
        p2 = 1.0 / (1 + (-3 * a2).exp())
        self.assertAlmostEqual(p2.value, 0.952574126)
        loss2 = p2.log()
        self.assertAlmostEqual(loss2.value, log(0.952574126))
Ejemplo n.º 6
0
 def test_log(self):
     a = Variable(1.5)
     c = a.log()
     self.assertAlmostEqual(c.value, log(1.5))
Ejemplo n.º 7
0
 def test_exp(self):
     a = Variable(1.5)
     c = a.exp()
     self.assertAlmostEqual(c.value, exp(1.5))
Ejemplo n.º 8
0
 def test_div2(self):
     a = Variable(1.0)
     c = 2 / a
     self.assertAlmostEqual(a.value, 1.0)
     self.assertAlmostEqual(c.value, 2.0)
Ejemplo n.º 9
0
 def test_mul3(self):
     a = Variable(1.0)
     c = a * 2
     c.backward()
     self.assertAlmostEqual(a.d.value, 2.0)
     self.assertAlmostEqual(c.value, 2.0)
Ejemplo n.º 10
0
 def test_log(self):
     a = Variable(1.5)
     c = a.log()
     c.backward()
     self.assertAlmostEqual(c.value, log(1.5))
     self.assertAlmostEqual(a.d.value, 1 / 1.5)
Ejemplo n.º 11
0
 def test_div3(self):
     a = Variable(1.0)
     c = a / 2
     c.backward()
     self.assertAlmostEqual(a.d.value, 0.5)
Ejemplo n.º 12
0
 def test_mul3(self):
     a = Variable(1.0)
     c = a * 2
     self.assertAlmostEqual(a.value, 1.0)
     self.assertAlmostEqual(c.value, 2.0)
Ejemplo n.º 13
0
 def test_tanh(self):
     a = Variable(1.5)
     c = a.tanh()
     self.assertAlmostEqual(c.value, tanh(1.5))
Ejemplo n.º 14
0
 def test_value(self):
     a = Variable(47.3)
     self.assertAlmostEqual(a.value, 47.3)
Ejemplo n.º 15
0
 def test_minus3(self):
     a = Variable(1.0)
     c = a - 2
     self.assertAlmostEqual(a.value, 1.0)
     self.assertAlmostEqual(c.value, -1.0)
Ejemplo n.º 16
0
 def test_minus2(self):
     a = Variable(1.0)
     c = 2 - a
     self.assertAlmostEqual(a.value, 1.0)
     self.assertAlmostEqual(c.value, 1.0)
Ejemplo n.º 17
0
 def test_plus2(self):
     a = Variable(1.0)
     c = 2 + a
     self.assertAlmostEqual(a.value, 1.0)
     self.assertAlmostEqual(c.value, 3.0)
Ejemplo n.º 18
0
 def test_expression2(self):
     a = Variable(5.0)
     b = a * a * a * a
     b.backward()
     self.assertAlmostEqual(a.d.value, 125.0 * 4.0)
Ejemplo n.º 19
0
 def test_tanh2(self):
     a = Variable(0)
     c = a.tanh()
     self.assertAlmostEqual(c.value, 0.0)
Ejemplo n.º 20
0
 def test_expression2(self):
     a = Variable(5.0)
     b = a * a * a * a
     self.assertAlmostEqual(b.value, 625.0)
Ejemplo n.º 21
0
 def test_div(self):
     a = Variable(1.0)
     b = Variable(2.0)
     c = a / b
     self.assertAlmostEqual(a.value, 1.0)
     self.assertAlmostEqual(c.value, 0.5)
Ejemplo n.º 22
0
 def test_plus(self):
     a = Variable(1.0)
     b = Variable(2.0)
     c = a + b
     self.assertAlmostEqual(a.value, 1.0)
     self.assertAlmostEqual(c.value, 3.0)
Ejemplo n.º 23
0
 def test_div2(self):
     a = Variable(1.0)
     c = 2 / a
     c.backward()
     self.assertAlmostEqual(a.d.value, -2.0)
Ejemplo n.º 24
0
 def test_plus3(self):
     a = Variable(1.0)
     c = a + 2
     c.backward()
     self.assertAlmostEqual(a.d.value, 1.0)
Ejemplo n.º 25
0
 def test_exp(self):
     a = Variable(1.5)
     c = a.exp()
     c.backward()
     self.assertAlmostEqual(c.value, exp(1.5))
     self.assertAlmostEqual(a.d.value, exp(1.5))
Ejemplo n.º 26
0
 def test_tanh2(self):
     a = Variable(0)
     c = a.tanh()
     c.backward()
     self.assertAlmostEqual(a.d.value, 1.0)
Ejemplo n.º 27
0
 def test_tanh(self):
     a = Variable(1.5)
     c = a.tanh()
     c.backward()
     self.assertAlmostEqual(a.d.value, 1 - tanh(1.5)**2)
Ejemplo n.º 28
0
 def test_minus2(self):
     a = Variable(1.0)
     c = 2 - a
     c.backward()
     self.assertAlmostEqual(a.d.value, -1.0)