Ejemplo n.º 1
0
 def test_differentiate_compound_multiply(self):
     self.assertEqual(
         differentiate(multiply('x', multiply(3, 'y')), {
             'x': 2,
             'y': 1
         }), 3)
     self.assertEqual(
         differentiate(multiply(3, multiply('x', multiply('x', 'x'))),
                       {'x': 2}), 36)
Ejemplo n.º 2
0
 def test_evaluate_compound_multiply(self):
     self.assertEqual(
         evaluate(multiply('x', multiply(3, 'y')), {
             'x': 2,
             'y': 1
         }), 6)
     self.assertEqual(
         evaluate(multiply(3, multiply('x', multiply('x', 'x'))), {'x': 2}),
         24)
Ejemplo n.º 3
0
 def test_differentiate_simple_multiply(self):
     self.assertEqual(differentiate(multiply(3, 3), {}), 0)
     self.assertEqual(differentiate(multiply(3, 'x'), {'x': 2, 'y': 5}), 3)
     self.assertEqual(differentiate(multiply('x', 'y'), {
         'x': 2,
         'y': 5
     }), 5)
     self.assertEqual(differentiate(multiply('x', 'x'), {
         'x': 2,
         'y': 5
     }), 4)
Ejemplo n.º 4
0
 def test_multiply_var_diff(self):
     x = multiply(3, 'x')
     self.assertEqual(3, x.in1)
     self.assertEqual('x', x.in2)
     self.assertEqual(x.diff({'x': 2}), 3)
     self.assertEqual(0, x.local_grad1)
     self.assertEqual(1, x.local_grad2)
Ejemplo n.º 5
0
 def test_multiply_var_evaluate(self):
     x = multiply(3, 'x')
     self.assertEqual(3, x.in1)
     self.assertEqual('x', x.in2)
     self.assertEqual(x.evaluate({'x': 2}), 6)
     self.assertEqual(3, x.in1)
     self.assertEqual(2, x.in2)
Ejemplo n.º 6
0
 def test_multiply_const_diff(self):
     x = multiply(3, 4)
     self.assertEqual(3, x.in1)
     self.assertEqual(4, x.in2)
     self.assertEqual(x.diff({}), 0)
     self.assertEqual(0, x.local_grad1)
     self.assertEqual(0, x.local_grad2)
Ejemplo n.º 7
0
 def test_multiply_const_evaluate(self):
     x = multiply(3, 4)
     self.assertIsInstance(x, multiply)
     self.assertEqual(3, x.in1)
     self.assertEqual(4, x.in2)
     self.assertEqual(x.evaluate({}), 12)
     self.assertEqual(3, x.in1)
     self.assertEqual(4, x.in2)
Ejemplo n.º 8
0
 def test_differentiate_compount_ops(self):
     self.assertEqual(
         differentiate(add(3, multiply('x', 'x')), {
             'x': 2,
             'y': 5
         }), 4)
     self.assertEqual(
         differentiate(
             add(3, add(multiply(2, 'x'),
                        multiply('x', multiply('x', 'x')))), {'x': 2}), 14)
     self.assertEqual(
         differentiate(
             add(
                 3,
                 add(multiply(2, multiply('x', 'x')),
                     multiply(4, multiply('x', multiply('x', 'x'))))),
             {'x': 2}), 56)
Ejemplo n.º 9
0
 def test_evaluate_compound_ops(self):
     self.assertEqual(
         evaluate(add(3, multiply('x', 'x')), {
             'x': 2,
             'y': 5
         }), 7)
     self.assertEqual(
         evaluate(
             add(3, add(multiply(2, 'x'),
                        multiply('x', multiply('x', 'x')))), {'x': 2}), 15)
     self.assertEqual(
         evaluate(
             add(
                 3,
                 add(multiply(2, multiply('x', 'x')),
                     multiply(4, multiply('x', multiply('x', 'x'))))),
             {'x': 2}), 43)
Ejemplo n.º 10
0
 def loss_func(self, feed_dict={}):
     diff = ad.subtract(ad.Placeholder(feed_dict['predicted_y']),
                        ad.Placeholder(feed_dict['true_y']))
     return ad.multiply(ad.power(diff, ad.Constant(2)), ad.Constant(1 / 2))
Ejemplo n.º 11
0
 def test_evaluate_simple_multiply(self):
     self.assertEqual(evaluate(multiply(3, 3), {}), 9)
     self.assertEqual(evaluate(multiply(3, 'x'), {'x': 2, 'y': 5}), 6)
     self.assertEqual(evaluate(multiply('x', 'y'), {'x': 2, 'y': 5}), 10)
     self.assertEqual(evaluate(multiply('x', 'x'), {'x': 2, 'y': 5}), 4)
Ejemplo n.º 12
0
def test4(x):
    return ad.multiply(ad.power(ad.Variable(x), ad.Constant(2)),
                       ad.Constant(1 / 2))
Ejemplo n.º 13
0
def test2(x, y, z):
    return ad.multiply(ad.add(ad.Variable(x), ad.Variable(y)),
                       ad.maximum(ad.Variable(y), ad.Variable(z)))
Ejemplo n.º 14
0
def test(x, y, z, w):
    return ad.multiply(
        ad.add(ad.multiply(ad.Variable(x), ad.Variable(y)),
               ad.maximum(ad.Variable(z), ad.Variable(w))), ad.Constant(2))