fill_constant¶
- paddle.fluid.layers.tensor. fill_constant ( shape, dtype, value, force_cpu=False, out=None, name=None ) [source]
-
This OP creates a Tensor with specified shape and dtype, and initializes it with a constant specified by value.
The attribute stop_gradient of the created Tensor is set to True.
- Parameters
-
shape (list|tuple|Tensor) – Shape of the output Tensor, the data type of
shape
is int32 or int64. Ifshape
is a list or tuple, the elements of it should be integers or Tensors with shape [1]. Ifshape
is an Tensor, it should be an 1-D Tensor with date type int32 or int64.dtype (np.dtype|str) – Data type of the output Tensor which can be float16, float32, float64, uint8, int16, int32, int64.
value (bool|float|int|Tensor) – The constant value used to initialize the Tensor to be created. If
value
is an Tensor, it should be an 1-D Tensor.force_cpu (bool, optional) – data should be on CPU if it’s true, default value is False.
out (Tensor, optional) – Optional output which can be any created Tensor that meets the requirements to store the result of operation. if
out
is None, a new Tensor will be create to store the result.name (str, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to Name.
- Returns
-
Tensor which is created according to shape and dtype.
- Return type
-
Tensor
Examples
import paddle.fluid as fluid # attr shape is a list which doesn't contain Tensor. data1 = fluid.layers.fill_constant(shape=[2,1], value=0, dtype='int64') # data1=[[0],[0]] data2 = fluid.layers.fill_constant(shape=[2,1], value=5, dtype='int64', out=data1) # data1=[[5], [5]] data2=[[5], [5]] # attr shape is a list which contains Tensor. positive_2 = fluid.layers.fill_constant([1], "int32", 2) data3 = fluid.layers.fill_constant(shape=[1, positive_2], dtype='float32', value=1.5) # data3=[[1.5, 1.5]] # attr shape is a Tensor. shape = fluid.layers.fill_constant([2], "int32", 2) # shape=[2,2] data4 = fluid.layers.fill_constant(shape=shape, dtype='bool', value=True) # data4=[[True,True],[True,True]] # attr value is a Tensor. val = fluid.layers.fill_constant([1], "float32", 2.0) # val=[2.0] data5 = fluid.layers.fill_constant(shape=[2,1], value=val, dtype='float32') #data5=[[2.0],[2.0]]