def test_input_signatures_serial(self):
        layer = cb.Serial(core.Div(divisor=2.0), core.Div(divisor=5.0))
        self.assertIsNone(layer.input_signature)

        layer.input_signature = ShapeDtype((3, 2))
        self.assertEqual(layer.input_signature, ShapeDtype((3, 2)))
        self.assertLen(layer.sublayers, 2)
        for sublayer in layer.sublayers:
            self.assertEqual(sublayer.input_signature, ShapeDtype((3, 2)))
    def test_input_signatures_parallel(self):
        layer = cb.Parallel(core.Div(divisor=0.5), core.Div(divisor=3.0))
        self.assertIsNone(layer.input_signature)

        layer.input_signature = (ShapeDtype((3, 2)), ShapeDtype((4, 7)))
        self.assertEqual(layer.input_signature, (ShapeDtype(
            (3, 2)), ShapeDtype((4, 7))))
        self.assertLen(layer.sublayers, 2)
        sublayer_0, sublayer_1 = layer.sublayers
        self.assertEqual(sublayer_0.input_signature, ShapeDtype((3, 2)))
        self.assertEqual(sublayer_1.input_signature, ShapeDtype((4, 7)))
예제 #3
0
 def test_div(self):
     layer = core.Div(divisor=2.0)
     input_np = onp.array([[1, 2, 3], [4, 5, 6]], dtype=onp.float32)
     output_np = layer(input_np)
     # absltest doesn't have ndarray equalities.
     expected_output_np = input_np / 2.0
     self.assertAlmostEqual(0.0,
                            onp.sum((output_np - expected_output_np)**2),
                            delta=1e-6)
예제 #4
0
 def test_div_shapes(self):
     layer = core.Div(divisor=2.0)
     input_signature = ShapeDtype((3, 2))
     expected_shape = (3, 2)
     output_shape = base.check_shape_agreement(layer, input_signature)
     self.assertEqual(output_shape, expected_shape)
 def some_layer():
     return cb.Parallel(core.Div(divisor=2.0), core.Div(divisor=5.0))
 def test_serial_one_in_one_out(self):
     layer = cb.Serial(core.Div(divisor=2.0))
     input_signature = ShapeDtype((3, 2))
     expected_shape = (3, 2)
     output_shape = base.check_shape_agreement(layer, input_signature)
     self.assertEqual(output_shape, expected_shape)
 def test_parallel_div_div(self):
     layer = cb.Parallel(core.Div(divisor=0.5), core.Div(divisor=3.0))
     input_signature = (ShapeDtype((3, 2)), ShapeDtype((4, 7)))
     expected_shape = ((3, 2), (4, 7))
     output_shape = base.check_shape_agreement(layer, input_signature)
     self.assertEqual(output_shape, expected_shape)
예제 #8
0
 def test_branch_add_div(self):
     layer = cb.Branch(cb.Add(), core.Div(divisor=0.5))
     input_signature = (ShapeDtype((3, 2)), ShapeDtype((3, 2)))
     expected_shape = ((3, 2), (3, 2))
     output_shape = base.check_shape_agreement(layer, input_signature)
     self.assertEqual(output_shape, expected_shape)
예제 #9
0
 def test_serial_div_div(self):
     layer = cb.Serial(core.Div(divisor=2.0), core.Div(divisor=5.0))
     input_shape = (3, 2)
     expected_shape = (3, 2)
     output_shape = base.check_shape_agreement(layer, input_shape)
     self.assertEqual(output_shape, expected_shape)