예제 #1
0
 def dynamic(self, value=1.0):
     with fluid.dygraph.guard(self._place):
         input = fluid.dygraph.to_variable(self.input)
         tensor1 = fluid.dygraph.to_variable(self.tensor1)
         tensor2 = fluid.dygraph.to_variable(self.tensor2)
         out = paddle.addcmul(input, tensor1, tensor2, value)
         return out.numpy()
예제 #2
0
    def test_addcmul_with_broadcast0(self):
        program = Program()
        with program_guard(program):
            input = fluid.data(name='in', shape=[3, 100], dtype='float32')
            tensor1 = fluid.data(name='t1', shape=[3, 100], dtype='float32')
            tensor2 = fluid.data(name='t2', shape=[100], dtype='float32')

            out = paddle.addcmul(input, tensor1, tensor2)
            self.assertEqual(out.shape, input.shape)
예제 #3
0
    def test_addcmul(self):
        program = Program()
        with program_guard(program):
            data_shape = [3, 64, 64]
            input = fluid.data(name='in', shape=data_shape, dtype='float32')
            tensor1 = fluid.data(name='t1', shape=data_shape, dtype='float32')
            tensor2 = fluid.data(name='t2', shape=data_shape, dtype='float32')

            out = paddle.addcmul(input, tensor1, tensor2)
            self.assertEqual(out.shape, input.shape)
예제 #4
0
    def test_addcmul_has_out(self):
        program = Program()
        with program_guard(program):
            input = fluid.data(name='in', shape=[4, 100], dtype='float32')
            tensor1 = fluid.data(name='t1', shape=[100], dtype='float32')
            tensor2 = fluid.data(name='t2', shape=[100], dtype='float32')
            out = fluid.data(name='out', shape=[4, 100], dtype='float32')

            out = paddle.addcmul(input, tensor1, tensor2, out=out)
            self.assertEqual(out.shape, input.shape)
예제 #5
0
 def test_invalid_value_float():
     program = Program()
     with program_guard(program):
         input = fluid.data(name='input', shape=[20, 20], dtype='int32')
         tensor1 = fluid.data(name='tensor1',
                              shape=[20, 20],
                              dtype='int32')
         tensor2 = fluid.data(name='tensor2',
                              shape=[20, 20],
                              dtype='int32')
         out = paddle.addcmul(input, tensor1, tensor2, value=1.0)
예제 #6
0
 def test_invalid_tensor2():
     program = Program()
     with program_guard(program):
         input = fluid.data(name='input',
                            shape=[20, 20],
                            dtype='float32')
         tensor1 = fluid.data(name='tensor1',
                              shape=[20, 20],
                              dtype='float32')
         tensor2 = [20, 20]
         out = paddle.addcmul(input, tensor1, tensor2)
예제 #7
0
    def static(self, value=1.0):
        prog = fluid.Program()
        with fluid.program_guard(prog):
            input = fluid.data(name="input", dtype=self._dtype, shape=[3, 100])
            tensor1 = fluid.data(name="tensor1",
                                 dtype=self._dtype,
                                 shape=[100])
            tensor2 = fluid.data(name="tensor2",
                                 dtype=self._dtype,
                                 shape=[3, 100])
            out = paddle.addcmul(input, tensor1, tensor2, value)

        exe = fluid.Executor(self._place)
        return exe.run(feed={
            "input": self.input,
            "tensor1": self.tensor1,
            "tensor2": self.tensor2
        },
                       program=prog,
                       fetch_list=[out])[0]