diff --git a/paddle/fluid/API.spec b/paddle/fluid/API.spec index dd9fd25f0f9e0cc7d2d770cab73089921aa0d4f3..eb31b522f57b16c9dcc2cf2f83d6bce89b6d0967 100644 --- a/paddle/fluid/API.spec +++ b/paddle/fluid/API.spec @@ -175,9 +175,9 @@ paddle.fluid.layers.mul ArgSpec(args=['x', 'y', 'x_num_col_dims', 'y_num_col_dim paddle.fluid.layers.sigmoid_cross_entropy_with_logits ArgSpec(args=['x', 'label', 'name'], varargs=None, keywords=None, defaults=(None,)) paddle.fluid.layers.maxout ArgSpec(args=['x', 'groups', 'name'], varargs=None, keywords=None, defaults=(None,)) paddle.fluid.layers.sequence_reverse ArgSpec(args=['x', 'name'], varargs=None, keywords=None, defaults=(None,)) -paddle.fluid.layers.grid_sampler ArgSpec(args=['x', 'grid', 'name'], varargs=None, keywords=None, defaults=(None,)) paddle.fluid.layers.affine_channel ArgSpec(args=['x', 'scale', 'bias', 'data_layout', 'name'], varargs=None, keywords=None, defaults=(None, None, 'NCHW', None)) paddle.fluid.layers.hash ArgSpec(args=['input', 'hash_size', 'num_hash', 'name'], varargs=None, keywords=None, defaults=(1, None)) +paddle.fluid.layers.grid_sampler ArgSpec(args=['x', 'grid', 'name'], varargs=None, keywords=None, defaults=(None,)) paddle.fluid.layers.log_loss ArgSpec(args=['input', 'label', 'epsilon', 'name'], varargs=None, keywords=None, defaults=(0.0001, None)) paddle.fluid.layers.add_position_encoding ArgSpec(args=['input', 'alpha', 'beta', 'name'], varargs=None, keywords=None, defaults=(None,)) paddle.fluid.layers.data ArgSpec(args=['name', 'shape', 'append_batch_size', 'dtype', 'lod_level', 'type', 'stop_gradient'], varargs=None, keywords=None, defaults=(True, 'float32', 0, VarType.LOD_TENSOR, True)) diff --git a/python/paddle/fluid/layers/nn.py b/python/paddle/fluid/layers/nn.py index 19fcba972610ca45fedf0d98a57e2b704d5f3868..2d27ccbb118cd5c73c161862a5c182dd49bb5e60 100644 --- a/python/paddle/fluid/layers/nn.py +++ b/python/paddle/fluid/layers/nn.py @@ -7652,6 +7652,7 @@ def grid_sampler(x, grid, name=None): out = fluid.layers.grid_sampler(x=x, grid=grid) """ helper = LayerHelper("grid_sampler", **locals()) + dtype = helper.input_dtype() if not isinstance(x, Variable): return ValueError("The x should be a Variable") @@ -7659,10 +7660,10 @@ def grid_sampler(x, grid, name=None): if not isinstance(grid, Variable): return ValueError("The grid should be a Variable") - out = helper.create_tmp_variable(x.dtype) + out = helper.create_variable_for_type_inference(dtype) ipts = {'X': x, 'Grid': grid} - helper.apppend_op(type='grid_sampler', inputs=ipts, outputs={'Output', out}) + helper.append_op(type='grid_sampler', inputs=ipts, outputs={'Output', out}) return out diff --git a/python/paddle/fluid/tests/unittests/test_layers.py b/python/paddle/fluid/tests/unittests/test_layers.py index c6493b2ecc5648d0396335beae187857af5bd997..c0c174f1dbcb3a298d270ab5c8c21b370baedd61 100644 --- a/python/paddle/fluid/tests/unittests/test_layers.py +++ b/python/paddle/fluid/tests/unittests/test_layers.py @@ -865,10 +865,10 @@ class TestBook(unittest.TestCase): self.assertIsNotNone(out) print(str(program)) - def test_affine_grid_gen(self): + def test_grid_sampler(self): program = Program() with program_guard(program): - x = layers.data(name='x', shape=[2, 5, 7, 3], dtype='float32') + x = layers.data(name='x', shape=[2, 3, 5, 7], dtype='float32') grid = layers.data(name='grid', shape=[2, 5, 7, 2], dtype='float32') out = layers.grid_sampler(x, grid) self.assertIsNotNone(out)