예제 #1
0
 def test_uniform_initializer_random_seed(self):
     """Test the uniform initializer with manually setting seed
     """
     program = framework.Program()
     program.random_seed = 123
     block = program.global_block()
     block.create_parameter(dtype="float32",
                            shape=[5, 10],
                            lod_level=0,
                            name="param",
                            initializer=initializer.UniformInitializer())
     block.create_parameter(
         dtype="float32",
         shape=[5, 10],
         lod_level=0,
         name="param",
         initializer=initializer.UniformInitializer(seed=456))
     init_op = block.ops[1]
     self.assertEqual(init_op.attr("seed"), 123)
     init_op1 = block.ops[0]
     self.assertEqual(init_op1.attr("seed"), 456)
예제 #2
0
 def test_uniform_initializer_default_value(self):
     """Test the uniform initializer with default value
     """
     program = framework.Program()
     block = program.global_block()
     block.create_parameter(dtype="float32",
                            shape=[5, 10],
                            lod_level=0,
                            name="param",
                            initializer=initializer.UniformInitializer())
     self.assertEqual(len(block.ops), 1)
     init_op = block.ops[0]
     self.assertEqual(init_op.type, 'uniform_random')
     self.assertAlmostEqual(init_op.attr('min'), -1.0, delta=DELTA)
     self.assertAlmostEqual(init_op.attr('max'), 1.0, delta=DELTA)
     self.assertEqual(init_op.attr('seed'), 0)
예제 #3
0
 def test_uniform_initializer(self):
     """Test uniform initializer with supplied attributes
     """
     program = framework.Program()
     block = program.global_block()
     block.create_parameter(dtype="float32",
                            shape=[5, 10],
                            lod_level=0,
                            name="param",
                            initializer=initializer.UniformInitializer(
                                -4.2, 3.1, 123))
     self.assertEqual(len(block.ops), 1)
     init_op = block.ops[0]
     self.assertEqual(init_op.type, 'uniform_random')
     self.assertAlmostEqual(init_op.attr('min'), -4.2, delta=DELTA)
     self.assertAlmostEqual(init_op.attr('max'), 3.1, delta=DELTA)
     self.assertEqual(init_op.attr('seed'), 123)
예제 #4
0
 def test_uniform_initializer_two_op(self, dtype="float32"):
     """Test uniform initializer with supplied attributes
     """
     program = framework.Program()
     block = program.global_block()
     for i in range(2):
         block.create_parameter(dtype=dtype,
                                shape=[5, 10],
                                lod_level=0,
                                name="param",
                                initializer=initializer.UniformInitializer(
                                    -4.2, float(i), 123))
     num_ops = 2 if dtype == "float16" else 1
     self.assertEqual(len(block.ops), num_ops)
     init_op0 = block.ops[0]
     self.assertEqual(init_op0.type, 'uniform_random')
     self.assertAlmostEqual(init_op0.attr('min'), -4.2, delta=DELTA)
     self.assertAlmostEqual(init_op0.attr('max'), 0.0, delta=DELTA)
     self.assertEqual(init_op0.attr('seed'), 123)
     return block