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()
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)
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)
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)
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)
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)
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]