Variable¶
- class paddle.static. Variable ( block, type=VarType.LOD_TENSOR, name=None, shape=None, dtype=None, lod_level=None, capacity=None, persistable=None, error_clip=None, stop_gradient=False, is_data=False, need_check_feed=False, belong_to_optimizer=False, **kwargs ) [source]
- 
         Notes The constructor of Variable should not be invoked directly. In Static Graph Mode: Please use ** Block.create_var ** to create a Static variable which has no data until being feed. In Dygraph Mode: Please use ** api_fluid_dygraph_to_variable ** to create a dygraph variable with real data. In Fluid, every input and output of an OP is a variable. In most cases, variables are used for holding different kinds of data or training labels. A variable belongs to a Block . All variable has its own name and two variables in different Block could have the same name. There are many kinds of variables. Each kind of them has its own attributes and usages. Please refer to the framework.proto for details. Most of a Variable’s member variables can be set to be None. It mean it is not available or will be specified later. Examples In Static Graph Mode: import paddle.fluid as fluid cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') In Dygraph Mode: import paddle.fluid as fluid import numpy as np with fluid.dygraph.guard(): new_variable = fluid.dygraph.to_variable(np.arange(10)) - 
            
           detach
           (
           )
           detach¶
- 
           Returns a new Variable, detached from the current graph. It will share data with origin Variable and without tensor copy. In addition, the detached Variable doesn’t provide gradient propagation. - Returns
- 
             ( Variable | dtype is same as current Variable), The detached Variable. 
 Examples import paddle paddle.enable_static() # create a static Variable x = paddle.static.data(name='x', shape=[3, 2, 1]) # create a detached Variable y = x.detach() 
 - 
            
           numpy
           (
           )
           numpy¶
- 
           - Notes:
- 
             This API is ONLY available in Dygraph mode 
 Returns a numpy array shows the value of current Variable - Returns
- 
             The numpy value of current Variable. 
- Return type
- 
             ndarray 
 - Returns type:
- 
             ndarray: dtype is same as current Variable 
 Examples import paddle.fluid as fluid from paddle.fluid.dygraph.base import to_variable from paddle.fluid.dygraph import Linear import numpy as np data = np.random.uniform(-1, 1, [30, 10, 32]).astype('float32') with fluid.dygraph.guard(): linear = Linear(32, 64) data = to_variable(data) x = linear(data) print(x.numpy()) 
 - 
            
           backward
           (
           retain_graph=False
           )
           backward¶
- 
           - Notes:
- 
             This API is ONLY available in Dygraph mode 
 Run backward of current Graph which starts from current Tensor. - Parameters
- 
             retain_graph (bool, optional) – If False, the graph used to compute grads will be freed. If you would like to add more ops to the built graph after calling this method( backward), set the parameterretain_graphto True, then the grads will be retained. Thus, seting it to False is much more memory-efficient. Defaults to False.
- Returns
- 
             None 
- Return type
- 
             NoneType 
 Examples import numpy as np import paddle paddle.disable_static() x = np.ones([2, 2], np.float32) inputs = [] for _ in range(10): tmp = paddle.to_tensor(x) # if we don't set tmp's stop_gradient as False then, all path to loss will has no gradient since # there is no one need gradient on it. tmp.stop_gradient=False inputs.append(tmp) ret = paddle.add_n(inputs) loss = paddle.sum(ret) loss.backward() 
 - 
            
           gradient
           (
           )
           gradient¶
- 
           - Notes:
- 
             This API is ONLY available in Dygraph mode 
 Get the Gradient of Current Variable - Returns
- 
             if Variable’s type is LoDTensor, return numpy value of the gradient of current Variable, if Variable’s type is SelectedRows, return tuple of ndarray, first element of tuple is numpy value of the gradient of current Variable, second element of tuple is numpy value of the rows of current Variable. 
- Return type
- 
             ndarray or tuple of ndarray 
 Examples import paddle.fluid as fluid import numpy as np # example1: return ndarray x = np.ones([2, 2], np.float32) with fluid.dygraph.guard(): inputs2 = [] for _ in range(10): tmp = fluid.dygraph.base.to_variable(x) tmp.stop_gradient=False inputs2.append(tmp) ret2 = fluid.layers.sums(inputs2) loss2 = fluid.layers.reduce_sum(ret2) loss2.backward() print(loss2.gradient()) # example2: return tuple of ndarray with fluid.dygraph.guard(): embedding = fluid.dygraph.Embedding( size=[20, 32], param_attr='emb.w', is_sparse=True) x_data = np.arange(12).reshape(4, 3).astype('int64') x_data = x_data.reshape((-1, 3, 1)) x = fluid.dygraph.base.to_variable(x_data) out = embedding(x) out.backward() print(embedding.weight.gradient()) 
 - 
            
           clear_gradient
           (
           )
           clear_gradient¶
- 
           - Notes:
- 
             1. This API is ONLY available in Dygraph mode 2. Use it only Variable has gradient, normally we use this for Parameters since other temporal Variable will be deleted by Python’s GC 
 Clear (set to 0) the Gradient of Current VariableReturns: None Examples import paddle.fluid as fluid import numpy as np x = np.ones([2, 2], np.float32) with fluid.dygraph.guard(): inputs2 = [] for _ in range(10): tmp = fluid.dygraph.base.to_variable(x) tmp.stop_gradient=False inputs2.append(tmp) ret2 = fluid.layers.sums(inputs2) loss2 = fluid.layers.reduce_sum(ret2) loss2.backward() print(loss2.gradient()) loss2.clear_gradient() print("After clear {}".format(loss2.gradient())) 
 - 
            
           to_string
           (
           throw_on_error, 
           with_details=False
           )
           to_string¶
- 
           Get debug string. - Parameters
- 
             - throw_on_error (bool) – True if raise an exception when self is not initialized. 
- with_details (bool) – more details about variables and parameters (e.g. trainable, optimize_attr, …) will be printed when with_details is True. Default value is False; 
 
- Returns
- 
             The debug string. 
- Return type
- 
             str 
 Examples import paddle.fluid as fluid import paddle paddle.enable_static() cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') print(new_variable.to_string(True)) print("=============with detail===============") print(new_variable.to_string(True, True)) 
 - 
            
           element_size
           (
           )
           element_size¶
- 
           Returns the size in bytes of an element in the Tensor. Examples import paddle paddle.enable_static() x = paddle.static.data(name='x1', shape=[3, 2], dtype='bool') x.element_size() # 1 x = paddle.static.data(name='x2', shape=[3, 2], dtype='int16') x.element_size() # 2 x = paddle.static.data(name='x3', shape=[3, 2], dtype='float16') x.element_size() # 2 x = paddle.static.data(name='x4', shape=[3, 2], dtype='float32') x.element_size() # 4 x = paddle.static.data(name='x5', shape=[3, 2], dtype='float64') x.element_size() # 8 
 - property stop_gradient
- 
           Indicating if we stop gradient from current Variable Notes: This Property has default value as Truein Dygraph mode, while Parameter’s default value is False. However, in Static Graph Mode all Variable’s default stop_gradient value isFalseExamples import paddle.fluid as fluid import numpy as np with fluid.dygraph.guard(): value0 = np.arange(26).reshape(2, 13).astype("float32") value1 = np.arange(6).reshape(2, 3).astype("float32") value2 = np.arange(10).reshape(2, 5).astype("float32") linear = fluid.Linear(13, 5, dtype="float32") linear2 = fluid.Linear(3, 3, dtype="float32") a = fluid.dygraph.to_variable(value0) b = fluid.dygraph.to_variable(value1) c = fluid.dygraph.to_variable(value2) out1 = linear(a) out2 = linear2(b) out1.stop_gradient = True out = fluid.layers.concat(input=[out1, out2, c], axis=1) out.backward() assert linear.weight.gradient() is None assert (out1.gradient() == 0).all() 
 - property persistable
- 
           Indicating if we current Variable should be long-term alive Notes: This Property will be deprecated and this API is just to help user understand concept 1. All Variable’s persistable is Falseexcept Parameters.2. In Dygraph mode, this property should not be changed Examples import paddle.fluid as fluid cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') print("persistable of current Var is: {}".format(new_variable.persistable)) 
 - property is_parameter
- 
           Indicating if current Variable is a Parameter Examples import paddle new_parameter = paddle.static.create_parameter(name="X", shape=[10, 23, 48], dtype='float32') if new_parameter.is_parameter: print("Current var is a Parameter") else: print("Current var is not a Parameter") # Current var is a Parameter 
 - property grad_name
- 
           Indicating name of the gradient Variable of current Variable. Notes: This is a read-only property. It simply returns name of gradient Variable from a naming convention but doesn’t guarantee the gradient exists. Examples import paddle.fluid as fluid x = fluid.data(name=”x”, shape=[-1, 23, 48], dtype=’float32’) print(x.grad_name) # output is “x@GRAD” 
 - property name
- 
           Indicating name of current Variable Notes: If it has two or more Varaible share the same name in the same Block , it means these Variable will share content in no- Dygraph mode. This is how we achieve Parameter sharing Examples import paddle.fluid as fluid cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') print("name of current Var is: {}".format(new_variable.name)) 
 - property shape
- 
           Indicating shape of current Variable Notes: This is a read-only property Examples import paddle.fluid as fluid cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') print("shape of current Var is: {}".format(new_variable.shape)) 
 - property dtype
- 
           Indicating data type of current Variable Notes: This is a read-only property Examples import paddle.fluid as fluid cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') print("Dtype of current Var is: {}".format(new_variable.dtype)) 
 - property lod_level
- 
           Indicating LoDinfo of current Variable, please refer to api_fluid_LoDTensor_en to check the meaning ofLoDNotes: 1. This is a read-only property 2. Don’t support this property in Dygraph mode, it’s value should be 0(int)Examples import paddle import paddle.fluid as fluid paddle.enable_static() cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') print("LoD Level of current Var is: {}".format(new_variable.lod_level)) 
 - property type
- 
           Indicating Type of current Variable Notes: This is a read-only property Examples import paddle.fluid as fluid cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", shape=[-1, 23, 48], dtype='float32') print("Type of current Var is: {}".format(new_variable.type)) 
 - property T
- 
           Permute current Variable with its dimensions reversed. If n is the dimensions of x , x.T is equivalent to x.transpose([n-1, n-2, …, 0]). Examples import paddle paddle.enable_static() x = paddle.ones(shape=[2, 3, 5]) x_T = x.T exe = paddle.static.Executor() x_T_np = exe.run(paddle.static.default_main_program(), fetch_list=[x_T])[0] print(x_T_np.shape) # (5, 3, 2) 
 - 
            
           clone
           (
           )
           clone¶
- 
           Returns a new static Variable, which is the clone of the original static Variable. It remains in the current graph, that is, the cloned Variable provides gradient propagation. Calling out = tensor.clone()is same asout = assign(tensor).- Returns
- 
             Variable, The cloned Variable. 
 Examples import paddle paddle.enable_static() # create a static Variable x = paddle.static.data(name='x', shape=[3, 2, 1]) # create a cloned Variable y = x.clone() 
 - 
            
           get_value
           (
           scope=None
           )
           get_value¶
- 
           Get the value of variable in given scope. - Parameters
- 
             scope (Scope, optional) – If scope is None, it will be set to global scope obtained through ‘paddle.static.global_scope()’. Otherwise, use scope. Default: None 
- Returns
- 
             Tensor, the value in given scope. 
 Examples import paddle import paddle.static as static import numpy as np paddle.enable_static() x = static.data(name="x", shape=[10, 10], dtype='float32') y = static.nn.fc(x, 10, name='fc') place = paddle.CPUPlace() exe = static.Executor(place) prog = paddle.static.default_main_program() exe.run(static.default_startup_program()) inputs = np.ones((10, 10), dtype='float32') exe.run(prog, feed={'x': inputs}, fetch_list=[y, ]) path = 'temp/tensor_' for var in prog.list_vars(): if var.persistable: t = var.get_value() paddle.save(t, path+var.name+'.pdtensor') for var in prog.list_vars(): if var.persistable: t_load = paddle.load(path+var.name+'.pdtensor') var.set_value(t_load) 
 - 
            
           set_value
           (
           value, 
           scope=None
           )
           set_value¶
- 
           Set the value to the tensor in given scope. - Parameters
- 
             - value (Tensor/ndarray) – The value to be set. 
- scope (Scope, optional) – If scope is None, it will be set to global scope obtained through ‘paddle.static.global_scope()’. Otherwise, use scope. Default: None 
 
- Returns
- 
             None 
 Examples import paddle import paddle.static as static import numpy as np paddle.enable_static() x = static.data(name="x", shape=[10, 10], dtype='float32') y = static.nn.fc(x, 10, name='fc') place = paddle.CPUPlace() exe = static.Executor(place) prog = paddle.static.default_main_program() exe.run(static.default_startup_program()) inputs = np.ones((10, 10), dtype='float32') exe.run(prog, feed={'x': inputs}, fetch_list=[y, ]) path = 'temp/tensor_' for var in prog.list_vars(): if var.persistable: t = var.get_value() paddle.save(t, path+var.name+'.pdtensor') for var in prog.list_vars(): if var.persistable: t_load = paddle.load(path+var.name+'.pdtensor') var.set_value(t_load) 
 - 
            
           size
           (
           )
           size¶
- 
           Returns the number of elements for current Variable, which is a int64 Variable with shape [1] - Returns
- 
             Variable, the number of elements for current Variable 
 Examples import paddle paddle.enable_static() # create a static Variable x = paddle.static.data(name='x', shape=[3, 2, 1]) # get the number of elements of the Variable y = x.size() 
 - property attr_names
- 
           Get the names of all attributes defined. 
 - property dist_attr
- 
           Get distributed attribute of this Variable. 
 - 
            
           abs
           (
           name=None
           )
           abs¶
- 
           Abs Operator. This operator is used to perform elementwise abs for input $X$. \(out = |x|\) - Parameters
- 
             - x (Tensor) – (Tensor), The input tensor of abs op. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             (Tensor), The output tensor of abs op. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.abs(x) print(out) # [0.4 0.2 0.1 0.3] 
 - 
            
           acos
           (
           name=None
           )
           acos¶
- 
           Arccosine Operator. \(out = \cos^{-1}(x)\) - Parameters
- 
             - x (Tensor) – Input of acos operator 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of acos operator 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.acos(x) print(out) # [1.98231317 1.77215425 1.47062891 1.26610367] 
 - 
            
           acosh
           (
           name=None
           )
           acosh¶
- 
           Acosh Activation Operator. \(out = acosh(x)\) - Parameters
- 
             - x (Tensor) – Input of Acosh operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Acosh operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([1., 3., 4., 5.]) out = paddle.acosh(x) print(out) # [0. , 1.76274729, 2.06343699, 2.29243159] 
 - 
            
           add
           (
           y, 
           name=None
           )
           add¶
- 
           Elementwise Add Operator. Add two tensors element-wise The equation is: \[Out=X+Y\]$X$ the tensor of any dimension. $Y$ the tensor whose dimensions must be less than or equal to the dimensions of $X$. There are two cases for this operator: - The shape of $Y$ is the same with $X$. 
- The shape of $Y$ is a continuous subsequence of $X$. 
 For case 2: - Broadcast $Y$ to match the shape of $X$, where axis is the start dimension index for broadcasting $Y$ onto $X$. 
- If $axis$ is -1 (default), $axis$=rank($X$)−rank($Y$). 
- The trailing dimensions of size 1 for $Y$ will be ignored for the consideration of subsequence, such as shape($Y$) = (2, 1) => (2). - For example: - shape(X) = (2, 3, 4, 5), shape(Y) = (,) shape(X) = (2, 3, 4, 5), shape(Y) = (5,) shape(X) = (2, 3, 4, 5), shape(Y) = (4, 5), with axis=-1(default) or axis=2 shape(X) = (2, 3, 4, 5), shape(Y) = (3, 4), with axis=1 shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0 shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0 
 - Parameters
- 
             - x (Tensor) – Tensor or LoDTensor of any dimensions. Its dtype should be int32, int64, float32, float64. 
- y (Tensor) – Tensor or LoDTensor of any dimensions. Its dtype should be int32, int64, float32, float64. 
- name (string, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. It’s dimension equals with x. 
 Examples import paddle x = paddle.to_tensor([2, 3, 4], 'float64') y = paddle.to_tensor([1, 5, 2], 'float64') z = paddle.add(x, y) print(z) # [3., 8., 6. ] 
 - 
            
           add_
           (
           y, 
           name=None
           )
           add_¶
- 
           Inplace version of addAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_add.
 - 
            
           add_n
           (
           name=None
           )
           add_n¶
- 
           Sum one or more Tensor of the input. For example: Case 1: Input: input.shape = [2, 3] input = [[1, 2, 3], [4, 5, 6]] Output: output.shape = [2, 3] output = [[1, 2, 3], [4, 5, 6]] Case 2: Input: First input: input1.shape = [2, 3] Input1 = [[1, 2, 3], [4, 5, 6]] The second input: input2.shape = [2, 3] input2 = [[7, 8, 9], [10, 11, 12]] Output: output.shape = [2, 3] output = [[8, 10, 12], [14, 16, 18]]- Parameters
- 
             - inputs (Tensor|list[Tensor]|tuple[Tensor]) – A Tensor or a list/tuple of Tensors. The shape and data type of the list/tuple elements should be consistent. Input can be multi-dimensional Tensor, and data types can be: float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the sum of input \(inputs\) , its shape and data types are consistent with \(inputs\). 
 Examples import paddle input0 = paddle.to_tensor([[1, 2, 3], [4, 5, 6]], dtype='float32') input1 = paddle.to_tensor([[7, 8, 9], [10, 11, 12]], dtype='float32') output = paddle.add_n([input0, input1]) # [[8., 10., 12.], # [14., 16., 18.]] 
 - 
            
           addmm
           (
           x, 
           y, 
           beta=1.0, 
           alpha=1.0, 
           name=None
           )
           addmm¶
- 
           addmm Perform matrix multiplication for input $x$ and $y$. $input$ is added to the final result. The equation is: \[Out = alpha * x * y + beta * input\]$Input$, $x$ and $y$ can carry the LoD (Level of Details) information, or not. But the output only shares the LoD information with input $input$. - Parameters
- 
             - input (Tensor) – The input Tensor to be added to the final result. 
- x (Tensor) – The first input Tensor for matrix multiplication. 
- y (Tensor) – The second input Tensor for matrix multiplication. 
- beta (float, optional) – Coefficient of $input$, default is 1. 
- alpha (float, optional) – Coefficient of $x*y$, default is 1. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output Tensor of addmm. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.ones([2,2]) y = paddle.ones([2,2]) input = paddle.ones([2,2]) out = paddle.addmm( input=input, x=x, y=y, beta=0.5, alpha=5.0 ) print(out) # [[10.5 10.5] # [10.5 10.5]] 
 - 
            
           all
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           all¶
- 
           Computes the logical andof tensor elements over the given dimension.- Parameters
- 
             - x (Tensor) – An N-D Tensor, the input data type should be bool. 
- axis (int|list|tuple, optional) – The dimensions along which the - logical andis compute. If- None, and all elements of- xand return a Tensor with a single element, otherwise must be in the range \([-rank(x), rank(x))\). If \(axis[i] < 0\), the dimension to reduce is \(rank + axis[i]\).
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result Tensor will have one fewer dimension than the - xunless- keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Results the logical andon the specified axis of input Tensor x, it’s data type is bool.
- Return type
- 
             Tensor 
 Examples import paddle # x is a bool Tensor with following elements: # [[True, False] # [True, True]] x = paddle.to_tensor([[1, 0], [1, 1]], dtype='int32') print(x) x = paddle.cast(x, 'bool') # out1 should be [False] out1 = paddle.all(x) # [False] print(out1) # out2 should be [True, False] out2 = paddle.all(x, axis=0) # [True, False] print(out2) # keepdim=False, out3 should be [False, True], out.shape should be (2,) out3 = paddle.all(x, axis=-1) # [False, True] print(out3) # keepdim=True, out4 should be [[False], [True]], out.shape should be (2,1) out4 = paddle.all(x, axis=1, keepdim=True) # [[False], [True]] print(out4) 
 - 
            
           allclose
           (
           y, 
           rtol=1e-05, 
           atol=1e-08, 
           equal_nan=False, 
           name=None
           )
           allclose¶
- 
           This operator checks if all \(x\) and \(y\) satisfy the condition: \[\left| x - y \right| \leq atol + rtol \times \left| y \right|\]elementwise, for all elements of \(x\) and \(y\). The behaviour of this operator is analogous to \(numpy.allclose\), namely that it returns \(True\) if two tensors are elementwise equal within a tolerance. - Parameters
- 
             - x (Tensor) – The input tensor, it’s data type should be float32, float64. 
- y (Tensor) – The input tensor, it’s data type should be float32, float64. 
- rtol (rtoltype, optional) – The relative tolerance. Default: \(1e-5\) . 
- atol (atoltype, optional) – The absolute tolerance. Default: \(1e-8\) . 
- equal_nan (equalnantype, optional) – If \(True\) , then two \(NaNs\) will be compared as equal. Default: \(False\) . 
- name (str, optional) – Name for the operation. For more information, please refer to Name. Default: None. 
 
- Returns
- 
             The output tensor, it’s data type is bool. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([10000., 1e-07]) y = paddle.to_tensor([10000.1, 1e-08]) result1 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name="ignore_nan") # [False] result2 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=True, name="equal_nan") # [False] x = paddle.to_tensor([1.0, float('nan')]) y = paddle.to_tensor([1.0, float('nan')]) result1 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name="ignore_nan") # [False] result2 = paddle.allclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=True, name="equal_nan") # [True] 
 - 
            
           amax
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           amax¶
- 
           Computes the maximum of tensor elements over the given axis. Note The difference between max and amax is: If there are multiple maximum elements, amax evenly distributes gradient between these equal values, while max propagates gradient to all of them. - Parameters
- 
             - x (Tensor) – A tensor, the data type is float32, float64, int32, int64, the dimension is no more than 4. 
- axis (int|list|tuple, optional) – The axis along which the maximum is computed. If - None, compute the maximum over all elements of x and return a Tensor with a single element, otherwise must be in the range \([-x.ndim(x), x.ndim(x))\). If \(axis[i] < 0\), the axis to reduce is \(x.ndim + axis[i]\).
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have one fewer dimension than the x unless - keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of maximum on the specified axis of input tensor, it’s data type is the same as x. 
 Examples import paddle # data_x is a Tensor with shape [2, 4] with multiple maximum elements # the axis is a int element x = paddle.to_tensor([[0.1, 0.9, 0.9, 0.9], [0.9, 0.9, 0.6, 0.7]], dtype='float64', stop_gradient=False) # There are 5 maximum elements: # 1) amax evenly distributes gradient between these equal values, # thus the corresponding gradients are 1/5=0.2; # 2) while max propagates gradient to all of them, # thus the corresponding gradient are 1. result1 = paddle.amax(x) result1.backward() print(result1, x.grad) #[0.9], [[0., 0.2, 0.2, 0.2], [0.2, 0.2, 0., 0.]] x.clear_grad() result1_max = paddle.max(x) result1_max.backward() print(result1_max, x.grad) #[0.9], [[0., 1.0, 1.0, 1.0], [1.0, 1.0, 0., 0.]] ############################### x.clear_grad() result2 = paddle.amax(x, axis=0) result2.backward() print(result2, x.grad) #[0.9, 0.9, 0.9, 0.9], [[0., 0.5, 1., 1.], [1., 0.5, 0., 0.]] x.clear_grad() result3 = paddle.amax(x, axis=-1) result3.backward() print(result3, x.grad) #[0.9, 0.9], [[0., 0.3333, 0.3333, 0.3333], [0.5, 0.5, 0., 0.]] x.clear_grad() result4 = paddle.amax(x, axis=1, keepdim=True) result4.backward() print(result4, x.grad) #[[0.9], [0.9]], [[0., 0.3333, 0.3333, 0.3333.], [0.5, 0.5, 0., 0.]] # data_y is a Tensor with shape [2, 2, 2] # the axis is list y = paddle.to_tensor([[[0.1, 0.9], [0.9, 0.9]], [[0.9, 0.9], [0.6, 0.7]]], dtype='float64', stop_gradient=False) result5 = paddle.amax(y, axis=[1, 2]) result5.backward() print(result5, y.grad) #[0.9., 0.9], [[[0., 0.3333], [0.3333, 0.3333]], [[0.5, 0.5], [0., 1.]]] y.clear_grad() result6 = paddle.amax(y, axis=[0, 1]) result6.backward() print(result6, y.grad) #[0.9., 0.9], [[[0., 0.3333], [0.5, 0.3333]], [[0.5, 0.3333], [1., 1.]]] 
 - 
            
           amin
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           amin¶
- 
           Computes the minimum of tensor elements over the given axis Note The difference between min and amin is: If there are multiple minimum elements, amin evenly distributes gradient between these equal values, while min propagates gradient to all of them. - Parameters
- 
             - x (Tensor) – A tensor, the data type is float32, float64, int32, int64, the dimension is no more than 4. 
- axis (int|list|tuple, optional) – The axis along which the minimum is computed. If - None, compute the minimum over all elements of x and return a Tensor with a single element, otherwise must be in the range \([-x.ndim, x.ndim)\). If \(axis[i] < 0\), the axis to reduce is \(x.ndim + axis[i]\).
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have one fewer dimension than the x unless - keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of minimum on the specified axis of input tensor, it’s data type is the same as input’s Tensor. 
 Examples import paddle # data_x is a Tensor with shape [2, 4] with multiple minimum elements # the axis is a int element x = paddle.to_tensor([[0.2, 0.1, 0.1, 0.1], [0.1, 0.1, 0.6, 0.7]], dtype='float64', stop_gradient=False) # There are 5 minimum elements: # 1) amin evenly distributes gradient between these equal values, # thus the corresponding gradients are 1/5=0.2; # 2) while min propagates gradient to all of them, # thus the corresponding gradient are 1. result1 = paddle.amin(x) result1.backward() print(result1, x.grad) #[0.1], [[0., 0.2, 0.2, 0.2], [0.2, 0.2, 0., 0.]] x.clear_grad() result1_min = paddle.min(x) result1_min.backward() print(result1_min, x.grad) #[0.1], [[0., 1.0, 1.0, 1.0], [1.0, 1.0, 0., 0.]] ############################### x.clear_grad() result2 = paddle.amin(x, axis=0) result2.backward() print(result2, x.grad) #[0.1, 0.1, 0.1, 0.1], [[0., 0.5, 1., 1.], [1., 0.5, 0., 0.]] x.clear_grad() result3 = paddle.amin(x, axis=-1) result3.backward() print(result3, x.grad) #[0.1, 0.1], [[0., 0.3333, 0.3333, 0.3333], [0.5, 0.5, 0., 0.]] x.clear_grad() result4 = paddle.amin(x, axis=1, keepdim=True) result4.backward() print(result4, x.grad) #[[0.1], [0.1]], [[0., 0.3333, 0.3333, 0.3333.], [0.5, 0.5, 0., 0.]] # data_y is a Tensor with shape [2, 2, 2] # the axis is list y = paddle.to_tensor([[[0.2, 0.1], [0.1, 0.1]], [[0.1, 0.1], [0.6, 0.7]]], dtype='float64', stop_gradient=False) result5 = paddle.amin(y, axis=[1, 2]) result5.backward() print(result5, y.grad) #[0.1., 0.1], [[[0., 0.3333], [0.3333, 0.3333]], [[0.5, 0.5], [0., 1.]]] y.clear_grad() result6 = paddle.amin(y, axis=[0, 1]) result6.backward() print(result6, y.grad) #[0.1., 0.1], [[[0., 0.3333], [0.5, 0.3333]], [[0.5, 0.3333], [1., 1.]]] 
 - 
            
           angle
           (
           name=None
           )
           angle¶
- 
           Element-wise angle of complex numbers. For non-negative real numbers, the angle is 0 while for negative real numbers, the angle is \(\pi\). - Equation:
- 
             \[angle(x)=arctan2(x.imag, x.real)\]
 - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is complex64, complex128, or float32, float64 . 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             An N-D Tensor of real data type with the same precision as that of x’s data type. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([-2, -1, 0, 1]).unsqueeze(-1).astype('float32') y = paddle.to_tensor([-2, -1, 0, 1]).astype('float32') z = x + 1j * y print(z) # Tensor(shape=[4, 4], dtype=complex64, place=Place(cpu), stop_gradient=True, # [[(-2-2j), (-2-1j), (-2+0j), (-2+1j)], # [(-1-2j), (-1-1j), (-1+0j), (-1+1j)], # [-2j , -1j , 0j , 1j ], # [ (1-2j), (1-1j), (1+0j), (1+1j)]]) theta = paddle.angle(z) print(theta) # Tensor(shape=[4, 4], dtype=float32, place=Place(cpu), stop_gradient=True, # [[-2.35619450, -2.67794514, 3.14159274, 2.67794514], # [-2.03444386, -2.35619450, 3.14159274, 2.35619450], # [-1.57079637, -1.57079637, 0. , 1.57079637], # [-1.10714877, -0.78539819, 0. , 0.78539819]]) 
 - 
            
           any
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           any¶
- 
           Computes the logical orof tensor elements over the given dimension, and return the result.- Parameters
- 
             - x (Tensor) – An N-D Tensor, the input data type should be bool. 
- axis (int|list|tuple, optional) – The dimensions along which the - logical oris compute. If- None, and all elements of- xand return a Tensor with a single element, otherwise must be in the range \([-rank(x), rank(x))\). If \(axis[i] < 0\), the dimension to reduce is \(rank + axis[i]\).
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result Tensor will have one fewer dimension than the - xunless- keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Results the logical oron the specified axis of input Tensor x, it’s data type is bool.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1, 0], [1, 1]], dtype='int32') x = paddle.assign(x) print(x) x = paddle.cast(x, 'bool') # x is a bool Tensor with following elements: # [[True, False] # [True, True]] # out1 should be [True] out1 = paddle.any(x) # [True] print(out1) # out2 should be [True, True] out2 = paddle.any(x, axis=0) # [True, True] print(out2) # keepdim=False, out3 should be [True, True], out.shape should be (2,) out3 = paddle.any(x, axis=-1) # [True, True] print(out3) # keepdim=True, result should be [[True], [True]], out.shape should be (2,1) out4 = paddle.any(x, axis=1, keepdim=True) # [[True], [True]] print(out4) 
 - 
            
           argmax
           (
           axis=None, 
           keepdim=False, 
           dtype='int64', 
           name=None
           )
           argmax¶
- 
           Computes the indices of the max elements of the input tensor’s element along the provided axis. - Parameters
- 
             - x (Tensor) – An input N-D Tensor with type float32, float64, int16, int32, int64, uint8. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is x.ndim. when axis < 0, it works the same way as axis + R. Default is None, the input x will be into the flatten tensor, and selecting the min value index. 
- keepdim (bool, optional) – Whether to keep the given axis in output. If it is True, the dimensions will be same as input x and with size one in the axis. Otherwise the output dimentions is one fewer than x since the axis is squeezed. Default is False. 
- dtype (str|np.dtype, optional) – Data type of the output tensor which can be int32, int64. The default value is - int64, and it will return the int64 indices.
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             Tensor, return the tensor of int32 if set dtypeis int32, otherwise return the tensor of int64.
 Examples import paddle x = paddle.to_tensor([[5,8,9,5], [0,0,1,7], [6,9,2,4]]) out1 = paddle.argmax(x) print(out1) # 2 out2 = paddle.argmax(x, axis=0) print(out2) # [2, 2, 0, 1] out3 = paddle.argmax(x, axis=-1) print(out3) # [2, 3, 1] out4 = paddle.argmax(x, axis=0, keepdim=True) print(out4) # [[2, 2, 0, 1]] 
 - 
            
           argmin
           (
           axis=None, 
           keepdim=False, 
           dtype='int64', 
           name=None
           )
           argmin¶
- 
           Computes the indices of the min elements of the input tensor’s element along the provided axis. - Parameters
- 
             - x (Tensor) – An input N-D Tensor with type float32, float64, int16, int32, int64, uint8. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is x.ndim. when axis < 0, it works the same way as axis + R. Default is None, the input x will be into the flatten tensor, and selecting the min value index. 
- keepdim (bool, optional) – Whether to keep the given axis in output. If it is True, the dimensions will be same as input x and with size one in the axis. Otherwise the output dimentions is one fewer than x since the axis is squeezed. Default is False. 
- dtype (str, optional) – Data type of the output tensor which can be int32, int64. The default value is ‘int64’, and it will return the int64 indices. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             Tensor, return the tensor of int32 if set dtypeis int32, otherwise return the tensor of int64.
 Examples import paddle x = paddle.to_tensor([[5,8,9,5], [0,0,1,7], [6,9,2,4]]) out1 = paddle.argmin(x) print(out1) # 4 out2 = paddle.argmin(x, axis=0) print(out2) # [1, 1, 1, 2] out3 = paddle.argmin(x, axis=-1) print(out3) # [0, 0, 2] out4 = paddle.argmin(x, axis=0, keepdim=True) print(out4) # [[1, 1, 1, 2]] 
 - 
            
           argsort
           (
           axis=- 1, 
           descending=False, 
           name=None
           )
           argsort¶
- 
           Sorts the input along the given axis, and returns the corresponding index tensor for the sorted output values. The default sort algorithm is ascending, if you want the sort algorithm to be descending, you must set the descendingas True.- Parameters
- 
             - x (Tensor) – An input N-D Tensor with type float32, float64, int16, int32, int64, uint8. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is Rank(x). when axis<0, it works the same way as axis+R. Default is -1. 
- descending (bool, optional) – Descending is a flag, if set to true, algorithm will sort by descending order, else sort by ascending order. Default is false. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             sorted indices(with the same shape as xand with data type int64).
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[[5,8,9,5], [0,0,1,7], [6,9,2,4]], [[5,2,4,2], [4,7,7,9], [1,7,0,6]]], dtype='float32') out1 = paddle.argsort(x, axis=-1) out2 = paddle.argsort(x, axis=0) out3 = paddle.argsort(x, axis=1) print(out1) #[[[0 3 1 2] # [0 1 2 3] # [2 3 0 1]] # [[1 3 2 0] # [0 1 2 3] # [2 0 3 1]]] print(out2) #[[[0 1 1 1] # [0 0 0 0] # [1 1 1 0]] # [[1 0 0 0] # [1 1 1 1] # [0 0 0 1]]] print(out3) #[[[1 1 1 2] # [0 0 2 0] # [2 2 0 1]] # [[2 0 2 0] # [1 1 0 2] # [0 2 1 1]]] 
 - 
            
           as_complex
           (
           name=None
           )
           as_complex¶
- 
           Transform a real tensor to a complex tensor. The data type of the input tensor is ‘float32’ or ‘float64’, and the data type of the returned tensor is ‘complex64’ or ‘complex128’, respectively. The shape of the input tensor is (* ,2), (*means arbitary shape), i.e. the size of the last axis shoule be 2, which represent the real and imag part of a complex number. The shape of the returned tensor is(*,).- Parameters
- 
             - x (Tensor) – The input tensor. Data type is ‘float32’ or ‘float64’. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output. Data type is ‘complex64’ or ‘complex128’, with the same precision as the input. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.arange(12, dtype=paddle.float32).reshape([2, 3, 2]) y = paddle.as_complex(x) print(y) # Tensor(shape=[2, 3], dtype=complex64, place=Place(gpu:0), stop_gradient=True, # [[1j , (2+3j) , (4+5j) ], # [(6+7j) , (8+9j) , (10+11j)]]) 
 - 
            
           as_real
           (
           name=None
           )
           as_real¶
- 
           Transform a complex tensor to a real tensor. The data type of the input tensor is ‘complex64’ or ‘complex128’, and the data type of the returned tensor is ‘float32’ or ‘float64’, respectively. When the shape of the input tensor is (*, ), (*means arbitary shape), the shape of the output tensor is(*, 2), i.e. the shape of the output is the shape of the input appended by an extra2.- Parameters
- 
             - x (Tensor) – The input tensor. Data type is ‘complex64’ or ‘complex128’. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output. Data type is ‘float32’ or ‘float64’, with the same precision as the input. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.arange(12, dtype=paddle.float32).reshape([2, 3, 2]) y = paddle.as_complex(x) z = paddle.as_real(y) print(z) # Tensor(shape=[2, 3, 2], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [[[0. , 1. ], # [2. , 3. ], # [4. , 5. ]], # [[6. , 7. ], # [8. , 9. ], # [10., 11.]]]) 
 - 
            
           asin
           (
           name=None
           )
           asin¶
- 
           Arcsine Operator. \(out = \sin^{-1}(x)\) - Parameters
- 
             - x (Tensor) – Input of asin operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of asin operator 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.asin(x) print(out) # [-0.41151685 -0.20135792 0.10016742 0.30469265] 
 - 
            
           asinh
           (
           name=None
           )
           asinh¶
- 
           Asinh Activation Operator. \(out = asinh(x)\) - Parameters
- 
             - x (Tensor) – Input of Asinh operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Asinh operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.asinh(x) print(out) # [-0.39003533, -0.19869010, 0.09983408, 0.29567307] 
 - 
            
           astype
           (
           dtype
           )
           astype¶
- 
           - Notes:
- 
             The variable must be a api_fluid_Tensor 
 Cast a variable to a specified data type. - Parameters
- 
             - self (Variable) – The source variable 
- dtype – The target data type 
 
- Returns
- 
             Variable with new dtype 
- Return type
- 
             Variable 
 Examples In Static Graph Mode: import paddle.fluid as fluid startup_prog = fluid.Program() main_prog = fluid.Program() with fluid.program_guard(startup_prog, main_prog): original_variable = fluid.data(name = "new_variable", shape=[2,2], dtype='float32') new_variable = original_variable.astype('int64') print("new var's dtype is: {}".format(new_variable.dtype)) In Dygraph Mode: import paddle.fluid as fluid import numpy as np x = np.ones([2, 2], np.float32) with fluid.dygraph.guard(): original_variable = fluid.dygraph.to_variable(x) print("original var's dtype is: {}, numpy dtype is {}".format(original_variable.dtype, original_variable.numpy().dtype)) new_variable = original_variable.astype('int64') print("new var's dtype is: {}, numpy dtype is {}".format(new_variable.dtype, new_variable.numpy().dtype)) 
 - 
            
           atan
           (
           name=None
           )
           atan¶
- 
           Arctangent Operator. \(out = \tan^{-1}(x)\) - Parameters
- 
             - x (Tensor) – Input of atan operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of atan operator 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.atan(x) print(out) # [-0.38050638 -0.19739556 0.09966865 0.29145679] 
 - 
            
           atanh
           (
           name=None
           )
           atanh¶
- 
           Atanh Activation Operator. \(out = atanh(x)\) - Parameters
- 
             - x (Tensor) – Input of Atanh operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Atanh operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.atanh(x) print(out) # [-0.42364895, -0.20273256, 0.10033535, 0.30951962] 
 - 
            
           bincount
           (
           weights=None, 
           minlength=0, 
           name=None
           )
           bincount¶
- 
           Computes frequency of each value in the input tensor. - Parameters
- 
             - x (Tensor) – A Tensor with non-negative integer. Should be 1-D tensor. 
- weights (Tensor, optional) – Weight for each value in the input tensor. Should have the same shape as input. Default is None. 
- minlength (int, optional) – Minimum number of bins. Should be non-negative integer. Default is 0. 
- 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
- 
             The tensor of frequency. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 1, 4, 5]) result1 = paddle.bincount(x) print(result1) # [0, 2, 1, 0, 1, 1] w = paddle.to_tensor([2.1, 0.4, 0.1, 0.5, 0.5]) result2 = paddle.bincount(x, weights=w) print(result2) # [0., 2.19999981, 0.40000001, 0., 0.50000000, 0.50000000] 
 - 
            
           bitwise_and
           (
           y, 
           out=None, 
           name=None
           )
           bitwise_and¶
- 
           It operates bitwise_andon TensorXandY.\[Out = X \& Y\]Note paddle.bitwise_andsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – Input Tensor of - bitwise_and. It is a N-D Tensor of bool, uint8, int8, int16, int32, int64
- y (Tensor) – Input Tensor of - bitwise_and. It is a N-D Tensor of bool, uint8, int8, int16, int32, int64
- out (Tensor) – Result of - bitwise_and. It is a N-D Tensor with the same data type of input Tensor
 
- Returns
- 
             Result of bitwise_and. It is a N-D Tensor with the same data type of input Tensor
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([-5, -1, 1]) y = paddle.to_tensor([4, 2, -3]) res = paddle.bitwise_and(x, y) print(res) # [0, 2, 1] 
 - 
            
           bitwise_not
           (
           out=None, 
           name=None
           )
           bitwise_not¶
- 
           It operates bitwise_noton TensorX.\[Out = \sim X\]- Parameters
- 
             - x (Tensor) – Input Tensor of - bitwise_not. It is a N-D Tensor of bool, uint8, int8, int16, int32, int64
- out (Tensor) – Result of - bitwise_not. It is a N-D Tensor with the same data type of input Tensor
 
- Returns
- 
             Result of bitwise_not. It is a N-D Tensor with the same data type of input Tensor
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([-5, -1, 1]) res = paddle.bitwise_not(x) print(res) # [4, 0, -2] 
 - 
            
           bitwise_or
           (
           y, 
           out=None, 
           name=None
           )
           bitwise_or¶
- 
           It operates bitwise_oron TensorXandY.\[Out = X | Y\]Note paddle.bitwise_orsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – Input Tensor of - bitwise_or. It is a N-D Tensor of bool, uint8, int8, int16, int32, int64
- y (Tensor) – Input Tensor of - bitwise_or. It is a N-D Tensor of bool, uint8, int8, int16, int32, int64
- out (Tensor) – Result of - bitwise_or. It is a N-D Tensor with the same data type of input Tensor
 
- Returns
- 
             Result of bitwise_or. It is a N-D Tensor with the same data type of input Tensor
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([-5, -1, 1]) y = paddle.to_tensor([4, 2, -3]) res = paddle.bitwise_or(x, y) print(res) # [-1, -1, -3] 
 - 
            
           bitwise_xor
           (
           y, 
           out=None, 
           name=None
           )
           bitwise_xor¶
- 
           It operates bitwise_xoron TensorXandY.\[Out = X ^\wedge Y\]Note paddle.bitwise_xorsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – Input Tensor of - bitwise_xor. It is a N-D Tensor of bool, uint8, int8, int16, int32, int64
- y (Tensor) – Input Tensor of - bitwise_xor. It is a N-D Tensor of bool, uint8, int8, int16, int32, int64
- out (Tensor) – Result of - bitwise_xor. It is a N-D Tensor with the same data type of input Tensor
 
- Returns
- 
             Result of bitwise_xor. It is a N-D Tensor with the same data type of input Tensor
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([-5, -1, 1]) y = paddle.to_tensor([4, 2, -3]) res = paddle.bitwise_xor(x, y) print(res) # [-1, -3, -4] 
 - 
            
           bmm
           (
           y, 
           name=None
           )
           bmm¶
- 
           Applies batched matrix multiplication to two tensors. Both of the two input tensors must be three-dementional and share the same batch size. if x is a (b, m, k) tensor, y is a (b, k, n) tensor, the output will be a (b, m, n) tensor. - Parameters
- 
             - x (Tensor) – The input Tensor. 
- y (Tensor) – The input Tensor. 
- name (str|None) – A name for this layer(optional). If set None, the layer will be named automatically. 
 
- Returns
- 
             The product Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle # In imperative mode: # size x: (2, 2, 3) and y: (2, 3, 2) x = paddle.to_tensor([[[1.0, 1.0, 1.0], [2.0, 2.0, 2.0]], [[3.0, 3.0, 3.0], [4.0, 4.0, 4.0]]]) y = paddle.to_tensor([[[1.0, 1.0],[2.0, 2.0],[3.0, 3.0]], [[4.0, 4.0],[5.0, 5.0],[6.0, 6.0]]]) out = paddle.bmm(x, y) # Tensor(shape=[2, 2, 2], dtype=float32, place=Place(cpu), stop_gradient=True, # [[[6. , 6. ], # [12., 12.]], # [[45., 45.], # [60., 60.]]]) 
 - 
            
           broadcast_shape
           (
           y_shape
           )
           broadcast_shape¶
- 
           The function returns the shape of doing operation with broadcasting on tensors of x_shape and y_shape, please refer to user_guide_broadcasting for more details. - Parameters
- 
             - x_shape (list[int]|tuple[int]) – A shape of tensor. 
- y_shape (list[int]|tuple[int]) – A shape of tensor. 
 
- Returns
- 
             list[int], the result shape. 
 Examples import paddle shape = paddle.broadcast_shape([2, 1, 3], [1, 3, 1]) # [2, 3, 3] # shape = paddle.broadcast_shape([2, 1, 3], [3, 3, 1]) # ValueError (terminated with error message). 
 - 
            
           broadcast_tensors
           (
           name=None
           )
           broadcast_tensors¶
- 
           This OP broadcast a list of tensors following broadcast semantics Note If you want know more about broadcasting, please refer to Introduction to Tensor . - Parameters
- 
             - input (list|tuple) – - inputis a Tensor list or Tensor tuple which is with data type bool, float16, float32, float64, int32, int64. All the Tensors in- inputmust have same data type. Currently we only support tensors with rank no greater than 5.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The list of broadcasted tensors following the same order as input.
- Return type
- 
             list(Tensor) 
 Examples import paddle x1 = paddle.rand([1, 2, 3, 4]).astype('float32') x2 = paddle.rand([1, 2, 1, 4]).astype('float32') x3 = paddle.rand([1, 1, 3, 1]).astype('float32') out1, out2, out3 = paddle.broadcast_tensors(input=[x1, x2, x3]) # out1, out2, out3: tensors broadcasted from x1, x2, x3 with shape [1,2,3,4] 
 - 
            
           broadcast_to
           (
           shape, 
           name=None
           )
           broadcast_to¶
- 
           Broadcast the input tensor to a given shape. Both the number of dimensions of xand the number of elements inshapeshould be less than or equal to 6. The dimension to broadcast to must have a value 1.- Parameters
- 
             - x (Tensor) – The input tensor, its data type is bool, float32, float64, int32 or int64. 
- shape (list|tuple|Tensor) – The result shape after broadcasting. The data type is int32. If shape is a list or tuple, all its elements should be integers or 1-D Tensors with the data type int32. If shape is a Tensor, it should be an 1-D Tensor with the data type int32. The value -1 in shape means keeping the corresponding dimension unchanged. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A Tensor with the given shape. The data type is the same as x.
- Return type
- 
             N-D Tensor 
 Examples import paddle data = paddle.to_tensor([1, 2, 3], dtype='int32') out = paddle.broadcast_to(data, shape=[2, 3]) print(out) # [[1, 2, 3], [1, 2, 3]] 
 - 
            
           bucketize
           (
           sorted_sequence, 
           out_int32=False, 
           right=False, 
           name=None
           )
           bucketize¶
- 
           This API is used to find the index of the corresponding 1D tensor sorted_sequence in the innermost dimension based on the given x. - Parameters
- 
             - x (Tensor) – An input N-D tensor value with type int32, int64, float32, float64. 
- sorted_sequence (Tensor) – An input 1-D tensor with type int32, int64, float32, float64. The value of the tensor monotonically increases in the innermost dimension. 
- out_int32 (bool, optional) – Data type of the output tensor which can be int32, int64. The default value is False, and it indicates that the output data type is int64. 
- right (bool, optional) – Find the upper or lower bounds of the sorted_sequence range in the innermost dimension based on the given x. If the value of the sorted_sequence is nan or inf, return the size of the innermost dimension. The default value is False and it shows the lower bounds. 
- 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(the same sizes of the x), return the tensor of int32 if set out_int32is True, otherwise return the tensor of int64.
 Examples import paddle sorted_sequence = paddle.to_tensor([2, 4, 8, 16], dtype='int32') x = paddle.to_tensor([[0, 8, 4, 16], [-1, 2, 8, 4]], dtype='int32') out1 = paddle.bucketize(x, sorted_sequence) print(out1) # Tensor(shape=[2, 4], dtype=int64, place=CPUPlace, stop_gradient=True, # [[0, 2, 1, 3], # [0, 0, 2, 1]]) out2 = paddle.bucketize(x, sorted_sequence, right=True) print(out2) # Tensor(shape=[2, 4], dtype=int64, place=CPUPlace, stop_gradient=True, # [[0, 3, 2, 4], # [0, 1, 3, 2]]) out3 = x.bucketize(sorted_sequence) print(out3) # Tensor(shape=[2, 4], dtype=int64, place=CPUPlace, stop_gradient=True, # [[0, 2, 1, 3], # [0, 0, 2, 1]]) out4 = x.bucketize(sorted_sequence, right=True) print(out4) # Tensor(shape=[2, 4], dtype=int64, place=CPUPlace, stop_gradient=True, # [[0, 3, 2, 4], # [0, 1, 3, 2]]) 
 - 
            
           cast
           (
           dtype
           )
           cast¶
- 
           This OP takes in the Tensor xwithx.dtypeand casts it to the output withdtype. It’s meaningless if the output dtype equals the input dtype, but it’s fine if you do so.- Parameters
- 
             - x (Tensor) – An input N-D Tensor with data type bool, float16, float32, float64, int32, int64, uint8. 
- dtype (np.dtype|str) – Data type of the output: bool, float16, float32, float64, int8, int32, int64, uint8. 
 
- Returns
- 
             A Tensor with the same shape as input’s. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([2, 3, 4], 'float64') y = paddle.cast(x, 'uint8') 
 - 
            
           ceil
           (
           name=None
           )
           ceil¶
- 
           Ceil Operator. Computes ceil of x element-wise. \(out = \\lceil x \\rceil\) - Parameters
- 
             - x (Tensor) – Input of Ceil operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Ceil operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.ceil(x) print(out) # [-0. -0. 1. 1.] 
 - 
            
           ceil_
           (
           name=None
           )
           ceil_¶
- 
           Inplace version of ceilAPI, the output Tensor will be inplaced with inputx. Please refer to api_fluid_layers_ceil.
 - 
            
           cholesky
           (
           upper=False, 
           name=None
           )
           cholesky¶
- 
           Computes the Cholesky decomposition of one symmetric positive-definite matrix or batches of symmetric positive-definite matrice. If upper is True, the decomposition has the form \(A = U^{T}U\) , and the returned matrix \(U\) is upper-triangular. Otherwise, the decomposition has the form \(A = LL^{T}\) , and the returned matrix \(L\) is lower-triangular. - Parameters
- 
             - x (Tensor) – The input tensor. Its shape should be [*, M, M], where * is zero or more batch dimensions, and matrices on the inner-most 2 dimensions all should be symmetric positive-definite. Its data type should be float32 or float64. 
- upper (bool) – The flag indicating whether to return upper or lower triangular matrices. Default: False. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, A Tensor with same shape and data type as x. It represents triangular matrices generated by Cholesky decomposition. 
 Examples import paddle a = paddle.rand([3, 3], dtype="float32") a_t = paddle.transpose(a, [1, 0]) x = paddle.matmul(a, a_t) + 1e-03 out = paddle.linalg.cholesky(x, upper=False) print(out) 
 - 
            
           cholesky_solve
           (
           y, 
           upper=False, 
           name=None
           )
           cholesky_solve¶
- 
           Solves a linear system of equations A @ X = B, given A’s Cholesky factor matrix u and matrix B. Input x and y is 2D matrices or batches of 2D matrices. If the inputs are batches, the outputs is also batches. - Parameters
- 
             - x (Tensor) – The input matrix which is upper or lower triangular Cholesky factor of square matrix A. Its shape should be [*, M, M], where * is zero or more batch dimensions. Its data type should be float32 or float64. 
- y (Tensor) – Multiple right-hand sides of system of equations. Its shape should be [*, M, K], where * is zero or more batch dimensions. Its data type should be float32 or float64. 
- upper (bool, optional) – whether to consider the Cholesky factor as a lower or upper triangular matrix. Default: False. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The solution of the system of equations. Its data type is the same as that of x. 
- Return type
- 
             Tensor 
 Examples import paddle u = paddle.to_tensor([[1, 1, 1], [0, 2, 1], [0, 0,-1]], dtype="float64") b = paddle.to_tensor([[0], [-9], [5]], dtype="float64") out = paddle.linalg.cholesky_solve(b, u, upper=True) print(out) # [-2.5, -7, 9.5] 
 - 
            
           chunk
           (
           chunks, 
           axis=0, 
           name=None
           )
           chunk¶
- 
           Split the input tensor into multiple sub-Tensors. - Parameters
- 
             - x (Tensor) – A N-D Tensor. The data type is bool, float16, float32, float64, int32 or int64. 
- chunks (int) – The number of tensor to be split along the certain axis. 
- axis (int|Tensor, optional) – The axis along which to split, it can be a scalar with type - intor a- Tensorwith shape [1] and data type- int32or- int64. If :math::axis < 0, the axis to split along is \(rank(x) + axis\). Default is 0.
- 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
- 
             The list of segmented Tensors. 
- Return type
- 
             list(Tensor) 
 Examples import paddle x = paddle.rand([3, 9, 5]) out0, out1, out2 = paddle.chunk(x, chunks=3, axis=1) # out0.shape [3, 3, 5] # out1.shape [3, 3, 5] # out2.shape [3, 3, 5] # axis is negative, the real axis is (rank(x) + axis) which real # value is 1. out0, out1, out2 = paddle.chunk(x, chunks=3, axis=-2) # out0.shape [3, 3, 5] # out1.shape [3, 3, 5] # out2.shape [3, 3, 5] 
 - 
            
           clip
           (
           min=None, 
           max=None, 
           name=None
           )
           clip¶
- 
           This operator clip all elements in input into the range [ min, max ] and return a resulting tensor as the following equation: \[Out = MIN(MAX(x, min), max)\]- Parameters
- 
             - x (Tensor) – An N-D Tensor with data type float32, float64, int32 or int64. 
- min (float|int|Tensor, optional) – The lower bound with type - float,- intor a- Tensorwith shape [1] and type- int32,- float32,- float64.
- max (float|int|Tensor, optional) – The upper bound with type - float,- intor a- Tensorwith shape [1] and type- int32,- float32,- float64.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A Tensor with the same data type and data shape as input. 
- Return type
- 
             Tensor 
 Examples import paddle x1 = paddle.to_tensor([[1.2, 3.5], [4.5, 6.4]], 'float32') out1 = paddle.clip(x1, min=3.5, max=5.0) out2 = paddle.clip(x1, min=2.5) print(out1) # [[3.5, 3.5] # [4.5, 5.0]] print(out2) # [[2.5, 3.5] # [[4.5, 6.4] 
 - 
            
           clip_
           (
           min=None, 
           max=None, 
           name=None
           )
           clip_¶
- 
           Inplace version of clipAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_clip.
 - 
            
           concat
           (
           axis=0, 
           name=None
           )
           concat¶
- 
           Concatenates the input along the axis. - Parameters
- 
             - x (list|tuple) – - xis a Tensor list or Tensor tuple which is with data type bool, float16, float32, float64, int32, int64, int8, uint8. All the Tensors in- xmust have same data type.
- axis (int|Tensor, optional) – Specify the axis to operate on the input Tensors. It’s a scalar with data type int or a Tensor with shape [1] and data type int32 or int64. The effective range is [-R, R), where R is Rank(x). When - axis < 0, it works the same way as- axis+R. Default is 0.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A Tensor with the same data type as x.
- Return type
- 
             Tensor 
 Examples import paddle x1 = paddle.to_tensor([[1, 2, 3], [4, 5, 6]]) x2 = paddle.to_tensor([[11, 12, 13], [14, 15, 16]]) x3 = paddle.to_tensor([[21, 22], [23, 24]]) zero = paddle.full(shape=[1], dtype='int32', fill_value=0) # When the axis is negative, the real axis is (axis + Rank(x)) # As follow, axis is -1, Rank(x) is 2, the real axis is 1 out1 = paddle.concat(x=[x1, x2, x3], axis=-1) out2 = paddle.concat(x=[x1, x2], axis=0) out3 = paddle.concat(x=[x1, x2], axis=zero) # out1 # [[ 1 2 3 11 12 13 21 22] # [ 4 5 6 14 15 16 23 24]] # out2 out3 # [[ 1 2 3] # [ 4 5 6] # [11 12 13] # [14 15 16]] 
 - 
            
           cond
           (
           p=None, 
           name=None
           )
           cond¶
- 
           Computes the condition number of a matrix or batches of matrices with respect to a matrix norm p.- Parameters
- 
             - x (Tensor) – The input tensor could be tensor of shape - (*, m, n)where- *is zero or more batch dimensions for- pin- (2, -2), or of shape- (*, n, n)where every matrix is invertible for any supported- p. And the input data type could be- float32or- float64.
- p (float|string, optional) – Order of the norm. Supported values are fro, nuc, 1, -1, 2, -2, inf, -inf. Default value is None, meaning that the order of the norm is 2. 
- 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
- 
             computing results of condition number, its data type is the same as input Tensor x.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1., 0, -1], [0, 1, 0], [1, 0, 1]]) # compute conditional number when p is None out = paddle.linalg.cond(x) # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [1.41421342]) # compute conditional number when order of the norm is 'fro' out_fro = paddle.linalg.cond(x, p='fro') # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [3.16227770]) # compute conditional number when order of the norm is 'nuc' out_nuc = paddle.linalg.cond(x, p='nuc') # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [9.24263859]) # compute conditional number when order of the norm is 1 out_1 = paddle.linalg.cond(x, p=1) # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [2.]) # compute conditional number when order of the norm is -1 out_minus_1 = paddle.linalg.cond(x, p=-1) # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [1.]) # compute conditional number when order of the norm is 2 out_2 = paddle.linalg.cond(x, p=2) # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [1.41421342]) # compute conditional number when order of the norm is -1 out_minus_2 = paddle.linalg.cond(x, p=-2) # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [0.70710683]) # compute conditional number when order of the norm is inf out_inf = paddle.linalg.cond(x, p=float("inf")) # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [2.]) # compute conditional number when order of the norm is -inf out_minus_inf = paddle.linalg.cond(x, p=-float("inf")) # Tensor(shape=[1], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [1.]) a = paddle.randn([2, 4, 4]) # Tensor(shape=[2, 4, 4], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [[[-0.06784091, -0.07095790, 1.31792855, -0.58959651], # [ 0.20818676, -0.85640615, -0.89998871, -1.47439921], # [-0.49132481, 0.42250812, -0.77383220, -2.19794774], # [-0.33551720, -1.70003879, -1.09795380, -0.63737559]], # [[ 1.12026262, -0.16119350, -1.21157813, 2.74383283], # [-0.15999718, 0.18798758, -0.69392562, 1.35720372], # [-0.53013402, -2.26304483, 1.40843511, -1.02288902], # [ 0.69533503, 2.05261683, -0.02251151, -1.43127477]]]) a_cond_fro = paddle.linalg.cond(a, p='fro') # Tensor(shape=[2], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [8.86691189 , 75.23817444]) b = paddle.randn([2, 3, 4]) # Tensor(shape=[2, 3, 4], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [[[-0.43754861, 1.80796063, -0.78729683, -1.82264030], # [-0.27670753, 0.06620564, 0.29072434, -0.31155765], # [ 0.34123746, -0.05444612, 0.05001324, -1.46877074]], # [[-0.64331555, -1.51103854, -1.26277697, -0.68024760], # [ 2.59375715, -1.06665540, 0.96575671, -0.73330832], # [-0.47064447, -0.23945692, -0.95150250, -1.07125998]]]) b_cond_2 = paddle.linalg.cond(b, p=2) # Tensor(shape=[2], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [6.64228773, 3.89068866]) 
 - 
            
           conj
           (
           name=None
           )
           conj¶
- 
           This function computes the conjugate of the Tensor elementwisely. - Parameters
- 
             - x (Tensor) – The input Tensor which hold the complex numbers. Optional data types are: complex64, complex128, float32, float64, int32 or int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The conjugate of input. The shape and data type is the same with input. If the elements of tensor is real type such as float32, float64, int32 or int64, the out is the same with input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle data=paddle.to_tensor([[1+1j, 2+2j, 3+3j], [4+4j, 5+5j, 6+6j]]) #Tensor(shape=[2, 3], dtype=complex64, place=CUDAPlace(0), stop_gradient=True, # [[(1+1j), (2+2j), (3+3j)], # [(4+4j), (5+5j), (6+6j)]]) conj_data=paddle.conj(data) #Tensor(shape=[2, 3], dtype=complex64, place=CUDAPlace(0), stop_gradient=True, # [[(1-1j), (2-2j), (3-3j)], # [(4-4j), (5-5j), (6-6j)]]) 
 - 
            
           corrcoef
           (
           rowvar=True, 
           name=None
           )
           corrcoef¶
- 
           A correlation coefficient matrix indicate the correlation of each pair variables in the input matrix. For example, for an N-dimensional samples X=[x1,x2,…xN]T, then the correlation coefficient matrix element Rij is the correlation of xi and xj. The element Rii is the covariance of xi itself. The relationship between the correlation coefficient matrix R and the covariance matrix C, is \[R_{ij} = \frac{ C_{ij} } { \sqrt{ C_{ii} * C_{jj} } }\]The values of R are between -1 and 1. - Parameters
- 
             - x (Tensor) – A N-D(N<=2) Tensor containing multiple variables and observations. By default, each row of x represents a variable. Also see rowvar below. 
- rowvar (Bool, optional) – If rowvar is True (default), then each row represents a variable, with observations in the columns. Default: True. 
- name (str, optional) – Name of the output. Default is None. It’s used to print debug info for developers. Details: Name. 
 
- Returns
- 
             The correlation coefficient matrix of the variables. 
 Examples import paddle xt = paddle.rand((3,4)) print(paddle.linalg.corrcoef(xt)) # Tensor(shape=[3, 3], dtype=float32, place=Place(cpu), stop_gradient=True, # [[ 1. , -0.73702252, 0.66228950], # [-0.73702258, 1. , -0.77104872], # [ 0.66228974, -0.77104825, 1. ]]) 
 - 
            
           cos
           (
           name=None
           )
           cos¶
- 
           Cosine Operator. Computes cosine of x element-wise. Input range is (-inf, inf) and output range is [-1,1]. \(out = cos(x)\) - Parameters
- 
             - x (Tensor) – Input of Cos operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Cos operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.cos(x) print(out) # [0.92106099 0.98006658 0.99500417 0.95533649] 
 - 
            
           cosh
           (
           name=None
           )
           cosh¶
- 
           Cosh Activation Operator. \(out = cosh(x)\) - Parameters
- 
             - x (Tensor) – Input of Cosh operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Cosh operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.cosh(x) print(out) # [1.08107237 1.02006676 1.00500417 1.04533851] 
 - 
            
           count_nonzero
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           count_nonzero¶
- 
           Counts the number of non-zero values in the tensor x along the specified axis. - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is bool, float16, float32, float64, int32 or int64. 
- axis (int|list|tuple, optional) – The dimensions along which the sum is performed. If - None, sum all elements of- xand return a Tensor with a single element, otherwise must be in the range \([-rank(x), rank(x))\). If \(axis[i] < 0\), the dimension to reduce is \(rank + axis[i]\).
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result Tensor will have one fewer dimension than the - xunless- keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Results of count operation on the specified axis of input Tensor x, it’s data type is ‘int64’. 
- Return type
- 
             Tensor 
 Examples import paddle # x is a 2-D Tensor: x = paddle.to_tensor([[0., 1.1, 1.2], [0., 0., 1.3], [0., 0., 0.]]) out1 = paddle.count_nonzero(x) # [3] out2 = paddle.count_nonzero(x, axis=0) # [0, 1, 2] out3 = paddle.count_nonzero(x, axis=0, keepdim=True) # [[0, 1, 2]] out4 = paddle.count_nonzero(x, axis=1) # [2, 1, 0] out5 = paddle.count_nonzero(x, axis=1, keepdim=True) #[[2], # [1], # [0]] # y is a 3-D Tensor: y = paddle.to_tensor([[[0., 1.1, 1.2], [0., 0., 1.3], [0., 0., 0.]], [[0., 2.5, 2.6], [0., 0., 2.4], [2.1, 2.2, 2.3]]]) out6 = paddle.count_nonzero(y, axis=[1, 2]) # [3, 6] out7 = paddle.count_nonzero(y, axis=[0, 1]) # [1, 3, 5] 
 - 
            
           cov
           (
           rowvar=True, 
           ddof=True, 
           fweights=None, 
           aweights=None, 
           name=None
           )
           cov¶
- 
           Estimate the covariance matrix of the input variables, given data and weights. A covariance matrix is a square matrix, indicate the covariance of each pair variables in the input matrix. For example, for an N-dimensional samples X=[x1,x2,…xN]T, then the covariance matrix element Cij is the covariance of xi and xj. The element Cii is the variance of xi itself. - Parameters
- 
             - x (Tensor) – A N-D(N<=2) Tensor containing multiple variables and observations. By default, each row of x represents a variable. Also see rowvar below. 
- rowvar (Bool, optional) – If rowvar is True (default), then each row represents a variable, with observations in the columns. Default: True 
- ddof (Bool, optional) – If ddof=True will return the unbiased estimate, and ddof=False will return the simple average. Default: True 
- fweights (Tensor, optional) – 1-D Tensor of integer frequency weights; The number of times each observation vector should be repeated. Default: None 
- aweights (Tensor, optional) – 1-D Tensor of observation vector weights. How important of the observation vector, larger data means this element is more important. Default: None 
- name (str, optional) – Name of the output. Default is None. It’s used to print debug info for developers. Details: Name 
 
- Returns
- 
             The covariance matrix Tensor of the variables. 
- Return type
- 
             Tensor 
 Examples: import paddle xt = paddle.rand((3,4)) paddle.linalg.cov(xt) ''' Tensor(shape=[3, 3], dtype=float64, place=CUDAPlace(0), stop_gradient=True, [[0.07918842, 0.06127326, 0.01493049], [0.06127326, 0.06166256, 0.00302668], [0.01493049, 0.00302668, 0.01632146]]) ''' 
 - 
            
           cpu
           (
           )
           cpu¶
- 
           Variable should not have cpu() and cuda() interface. But this interface can greatly facilitate dy2static. We do nothing here. 
 - 
            
           cross
           (
           y, 
           axis=9, 
           name=None
           )
           cross¶
- 
           Computes the cross product between two tensors along an axis. Inputs must have the same shape, and the length of their axes should be equal to 3. If axis is not given, it defaults to the first axis found with the length 3. - Parameters
- 
             - x (Tensor) – The first input tensor. 
- y (Tensor) – The second input tensor. 
- axis (int, optional) – The axis along which to compute the cross product. It defaults to be 9 which indicates using the first axis found with the length 3. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor. A Tensor with same data type as x. 
 Examples import paddle x = paddle.to_tensor([[1.0, 1.0, 1.0], [2.0, 2.0, 2.0], [3.0, 3.0, 3.0]]) y = paddle.to_tensor([[1.0, 1.0, 1.0], [1.0, 1.0, 1.0], [1.0, 1.0, 1.0]]) z1 = paddle.cross(x, y) # [[-1. -1. -1.] # [ 2. 2. 2.] # [-1. -1. -1.]] z2 = paddle.cross(x, y, axis=1) # [[0. 0. 0.] # [0. 0. 0.] # [0. 0. 0.]] 
 - 
            
           cuda
           (
           )
           cuda¶
- 
           Variable should not have cpu() and cuda() interface. But this interface can greatly facilitate dy2static. We do nothing here. 
 - 
            
           cumprod
           (
           dim=None, 
           dtype=None, 
           name=None
           )
           cumprod¶
- 
           Compute the cumulative product of the input tensor x along a given dimension dim. Note The first element of the result is the same as the first element of the input. - Parameters
- 
             - x (Tensor) – the input tensor need to be cumproded. 
- dim (int) – the dimension along which the input tensor will be accumulated. It need to be in the range of [-x.rank, x.rank), where x.rank means the dimensions of the input tensor x and -1 means the last dimension. 
- dtype (str, optional) – The data type of the output tensor, can be float32, float64, int32, int64, complex64, complex128. If specified, the input tensor is casted to dtype before the operation is performed. This is useful for preventing data type overflows. The default value is None. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the result of cumprod operator. 
 Examples import paddle data = paddle.arange(12) data = paddle.reshape(data, (3, 4)) # [[ 0 1 2 3 ] # [ 4 5 6 7 ] # [ 8 9 10 11]] y = paddle.cumprod(data, dim=0) # [[ 0 1 2 3] # [ 0 5 12 21] # [ 0 45 120 231]] y = paddle.cumprod(data, dim=-1) # [[ 0 0 0 0] # [ 4 20 120 840] # [ 8 72 720 7920]] y = paddle.cumprod(data, dim=1, dtype='float64') # [[ 0. 0. 0. 0.] # [ 4. 20. 120. 840.] # [ 8. 72. 720. 7920.]] print(y.dtype) # paddle.float64 
 - 
            
           cumsum
           (
           axis=None, 
           dtype=None, 
           name=None
           )
           cumsum¶
- 
           The cumulative sum of the elements along a given axis. Note The first element of the result is the same as the first element of the input. - Parameters
- 
             - x (Tensor) – The input tensor needed to be cumsumed. 
- axis (int, optional) – The dimension to accumulate along. -1 means the last dimension. The default (None) is to compute the cumsum over the flattened array. 
- dtype (str, optional) – The data type of the output tensor, can be float32, float64, int32, int64. If specified, the input tensor is casted to dtype before the operation is performed. This is useful for preventing data type overflows. The default value is None. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the result of cumsum operator. 
 Examples import paddle data = paddle.arange(12) data = paddle.reshape(data, (3, 4)) y = paddle.cumsum(data) # [ 0 1 3 6 10 15 21 28 36 45 55 66] y = paddle.cumsum(data, axis=0) # [[ 0 1 2 3] # [ 4 6 8 10] # [12 15 18 21]] y = paddle.cumsum(data, axis=-1) # [[ 0 1 3 6] # [ 4 9 15 22] # [ 8 17 27 38]] y = paddle.cumsum(data, dtype='float64') print(y.dtype) # paddle.float64 
 - 
            
           deg2rad
           (
           name=None
           )
           deg2rad¶
- 
           - Convert each of the elements of input x from degrees to angles in radians.
- 
             \[deg2rad(x)=\pi * x / 180\]
 - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             An N-D Tensor, the shape and data type is the same with input (The output data type is float32 when the input data type is int). 
- Return type
- 
             out (Tensor) 
 Examples import paddle x1 = paddle.to_tensor([180.0, -180.0, 360.0, -360.0, 90.0, -90.0]) result1 = paddle.deg2rad(x1) print(result1) # Tensor(shape=[6], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [3.14159274, -3.14159274, 6.28318548, -6.28318548, 1.57079637, # -1.57079637]) x2 = paddle.to_tensor(180) result2 = paddle.deg2rad(x2) print(result2) # Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [3.14159274]) 
 - 
            
           diagonal
           (
           offset=0, 
           axis1=0, 
           axis2=1, 
           name=None
           )
           diagonal¶
- 
           This OP computes the diagonals of the input tensor x. If xis 2D, returns the diagonal. Ifxhas larger dimensions, diagonals be taken from the 2D planes specified by axis1 and axis2. By default, the 2D planes formed by the first and second axis of the input tensor x.The argument offsetdetermines where diagonals are taken from input tensor x:- If offset = 0, it is the main diagonal. 
- If offset > 0, it is above the main diagonal. 
- If offset < 0, it is below the main diagonal. 
 - Parameters
- 
             - x (Tensor) – The input tensor x. Must be at least 2-dimensional. The input data type should be bool, int32, int64, float16, float32, float64. 
- offset (int, optional) – Which diagonals in input tensor x will be taken. Default: 0 (main diagonals). 
- axis1 (int, optional) – The first axis with respect to take diagonal. Default: 0. 
- axis2 (int, optional) – The second axis with respect to take diagonal. Default: 1. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             a partial view of input tensor in specify two dimensions, the output data type is the same as input data type. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.rand([2,2,3],'float32') print(x) # Tensor(shape=[2, 2, 3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[[0.45661032, 0.03751532, 0.90191704], # [0.43760979, 0.86177313, 0.65221709]], # [[0.17020577, 0.00259554, 0.28954273], # [0.51795638, 0.27325270, 0.18117726]]]) out1 = paddle.diagonal(x) print(out1) #Tensor(shape=[3, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[0.45661032, 0.51795638], # [0.03751532, 0.27325270], # [0.90191704, 0.18117726]]) out2 = paddle.diagonal(x, offset=0, axis1=2, axis2=1) print(out2) #Tensor(shape=[2, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[0.45661032, 0.86177313], # [0.17020577, 0.27325270]]) out3 = paddle.diagonal(x, offset=1, axis1=0, axis2=1) print(out3) #Tensor(shape=[3, 1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[0.43760979], # [0.86177313], # [0.65221709]]) out4 = paddle.diagonal(x, offset=0, axis1=1, axis2=2) print(out4) #Tensor(shape=[2, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[0.45661032, 0.86177313], # [0.17020577, 0.27325270]]) 
 - 
            
           diff
           (
           n=1, 
           axis=- 1, 
           prepend=None, 
           append=None, 
           name=None
           )
           diff¶
- 
           Computes the n-th forward difference along the given axis. The first-order differences is computed by using the following formula: \[out[i] = x[i+1] - x[i]\]Higher-order differences are computed by using paddle.diff() recursively. Only n=1 is currently supported. - Parameters
- 
             - x (Tensor) – The input tensor to compute the forward difference on 
- n (int, optional) – The number of times to recursively compute the difference. Only support n=1. Default:1 
- axis (int, optional) – The axis to compute the difference along. Default:-1 
- prepend (Tensor, optional) – The tensor to prepend to input along axis before computing the difference. It’s dimensions must be equivalent to that of x, and its shapes must match x’s shape except on axis. 
- append (Tensor, optional) – The tensor to append to input along axis before computing the difference, It’s dimensions must be equivalent to that of x, and its shapes must match x’s shape except on axis. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output tensor with same dtype with x. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 4, 5, 2]) out = paddle.diff(x) print(out) # out: # [3, 1, -3] y = paddle.to_tensor([7, 9]) out = paddle.diff(x, append=y) print(out) # out: # [3, 1, -3, 5, 2] z = paddle.to_tensor([[1, 2, 3], [4, 5, 6]]) out = paddle.diff(z, axis=0) print(out) # out: # [[3, 3, 3]] out = paddle.diff(z, axis=1) print(out) # out: # [[1, 1], [1, 1]] 
 - 
            
           digamma
           (
           name=None
           )
           digamma¶
- 
           Calculates the digamma of the given input tensor, element-wise. \[Out = \Psi(x) = \frac{ \Gamma^{'}(x) }{ \Gamma(x) }\]- Parameters
- 
             - x (Tensor) – Input Tensor. Must be one of the following types: float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the digamma of the input Tensor, the shape and data type is the same with input. 
 Examples import paddle data = paddle.to_tensor([[1, 1.5], [0, -2.2]], dtype='float32') res = paddle.digamma(data) print(res) # Tensor(shape=[2, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[-0.57721591, 0.03648996], # [ nan , 5.32286835]]) 
 - 
            
           dist
           (
           y, 
           p=2, 
           name=None
           )
           dist¶
- 
           This OP returns the p-norm of (x - y). It is not a norm in a strict sense, only as a measure of distance. The shapes of x and y must be broadcastable. The definition is as follows, for details, please refer to the numpy’s broadcasting: - Each input has at least one dimension. 
- Match the two input dimensions from back to front, the dimension sizes must either be equal, one of them is 1, or one of them does not exist. 
 Where, z = x - y, the shapes of x and y are broadcastable, then the shape of z can be obtained as follows: 1. If the number of dimensions of x and y are not equal, prepend 1 to the dimensions of the tensor with fewer dimensions. For example, The shape of x is [8, 1, 6, 1], the shape of y is [7, 1, 5], prepend 1 to the dimension of y. x (4-D Tensor): 8 x 1 x 6 x 1 y (4-D Tensor): 1 x 7 x 1 x 5 2. Determine the size of each dimension of the output z: choose the maximum value from the two input dimensions. z (4-D Tensor): 8 x 7 x 6 x 5 If the number of dimensions of the two inputs are the same, the size of the output can be directly determined in step 2. When p takes different values, the norm formula is as follows: When p = 0, defining $0^0=0$, the zero-norm of z is simply the number of non-zero elements of z. \[\begin{split}||z||_{0}=\lim_{p \\rightarrow 0}\sum_{i=1}^{m}|z_i|^{p}\end{split}\]When p = inf, the inf-norm of z is the maximum element of the absolute value of z. \[||z||_\infty=\max_i |z_i|\]When p = -inf, the negative-inf-norm of z is the minimum element of the absolute value of z. \[||z||_{-\infty}=\min_i |z_i|\]Otherwise, the p-norm of z follows the formula, \[\begin{split}||z||_{p}=(\sum_{i=1}^{m}|z_i|^p)^{\\frac{1}{p}}\end{split}\]- Parameters
- 
             - x (Tensor) – 1-D to 6-D Tensor, its data type is float32 or float64. 
- y (Tensor) – 1-D to 6-D Tensor, its data type is float32 or float64. 
- p (float, optional) – The norm to be computed, its data type is float32 or float64. Default: 2. 
 
- Returns
- 
             Tensor that is the p-norm of (x - y). 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[3, 3],[3, 3]], dtype="float32") y = paddle.to_tensor([[3, 3],[3, 1]], dtype="float32") out = paddle.dist(x, y, 0) print(out) # out = [1.] out = paddle.dist(x, y, 2) print(out) # out = [2.] out = paddle.dist(x, y, float("inf")) print(out) # out = [2.] out = paddle.dist(x, y, float("-inf")) print(out) # out = [0.] 
 - 
            
           divide
           (
           y, 
           name=None
           )
           divide¶
- 
           Divide two tensors element-wise. The equation is: \[out = x / y\]Note paddle.dividesupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([2, 3, 4], dtype='float64') y = paddle.to_tensor([1, 5, 2], dtype='float64') z = paddle.divide(x, y) print(z) # [2., 0.6, 2.] 
 - 
            
           dot
           (
           y, 
           name=None
           )
           dot¶
- 
           This operator calculates inner product for vectors. Note Support 1-d and 2-d Tensor. When it is 2d, the first dimension of this matrix is the batch dimension, which means that the vectors of multiple batches are dotted. - Parameters
- 
             - x (Tensor) – 1-D or 2-D - Tensor. Its dtype should be- float32,- float64,- int32,- int64
- y (Tensor) – 1-D or 2-D - Tensor. Its dtype soulde be- float32,- float64,- int32,- int64
- name (str, optional) – Name of the output. Default is None. It’s used to print debug info for developers. Details: Name 
 
- Returns
- 
             the calculated result Tensor. 
- Return type
- 
             Tensor 
 Examples: import paddle # 1-D Tensor * 1-D Tensor x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([4, 5, 6]) z = paddle.dot(x, y) print(z) # [32] # 2-D Tensor * 2-D Tensor x = paddle.to_tensor([[1, 2, 3], [2, 4, 6]]) y = paddle.to_tensor([[4, 5, 6], [4, 5, 6]]) z = paddle.dot(x, y) print(z) # [[32], [64]] 
 - 
            
           eig
           (
           name=None
           )
           eig¶
- 
           Performs the eigenvalue decomposition of a square matrix or a batch of square matrices. Note - If the matrix is a Hermitian or a real symmetric matrix, please use paddle.linalg.eigh instead, which is much faster. 
- If only eigenvalues is needed, please use paddle.linalg.eigvals instead. 
- If the matrix is of any shape, please use paddle.linalg.svd. 
- This API is only supported on CPU device. 
- The output datatype is always complex for both real and complex input. 
 - Parameters
- 
             - x (Tensor) – A tensor with shape math:[*, N, N], The data type of the x should be one of - float32,- float64,- compplex64or- complex128.
- 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
- 
             A tensor with shape math:[*, N] refers to the eigen values. Eigenvectors(Tensors): A tensor with shape math:[*, N, N] refers to the eigen vectors. 
- Return type
- 
             Eigenvalues(Tensors) 
 Examples import paddle paddle.device.set_device("cpu") x = paddle.to_tensor([[1.6707249, 7.2249975, 6.5045543], [9.956216, 8.749598, 6.066444 ], [4.4251957, 1.7983172, 0.370647 ]]) w, v = paddle.linalg.eig(x) print(v) # Tensor(shape=[3, 3], dtype=complex128, place=CPUPlace, stop_gradient=False, # [[(-0.5061363550800655+0j) , (-0.7971760990842826+0j) , # (0.18518077798279986+0j)], # [(-0.8308237755993192+0j) , (0.3463813401919749+0j) , # (-0.6837005269141947+0j) ], # [(-0.23142567697893396+0j), (0.4944999840400175+0j) , # (0.7058765252952796+0j) ]]) print(w) # Tensor(shape=[3], dtype=complex128, place=CPUPlace, stop_gradient=False, # [ (16.50471283351188+0j) , (-5.5034820550763515+0j) , # (-0.21026087843552282+0j)]) 
 - 
            
           eigvals
           (
           name=None
           )
           eigvals¶
- 
           Compute the eigenvalues of one or more general matrices. Warning The gradient kernel of this operator does not yet developed. If you need back propagation through this operator, please replace it with paddle.linalg.eig. - Parameters
- 
             - x (Tensor) – A square matrix or a batch of square matrices whose eigenvalues will be computed. Its shape should be [*, M, M], where * is zero or more batch dimensions. Its data type should be float32, float64, complex64, or complex128. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, A tensor containing the unsorted eigenvalues which has the same batch dimensions with x. The eigenvalues are complex-valued even when x is real. 
 Examples import paddle paddle.set_device("cpu") paddle.seed(1234) x = paddle.rand(shape=[3, 3], dtype='float64') # [[0.02773777, 0.93004224, 0.06911496], # [0.24831591, 0.45733623, 0.07717843], # [0.48016702, 0.14235102, 0.42620817]]) print(paddle.linalg.eigvals(x)) # [(-0.27078833542132674+0j), (0.29962280156230725+0j), (0.8824477020120244+0j)] #complex128 
 - 
            
           eigvalsh
           (
           UPLO='L', 
           name=None
           )
           eigvalsh¶
- 
           Computes the eigenvalues of a complex Hermitian (conjugate symmetric) or a real symmetric matrix. - Parameters
- 
             - x (Tensor) – A tensor with shape \([_, M, M]\) , The data type of the input Tensor x should be one of float32, float64, complex64, complex128. 
- UPLO (str, optional) – Lower triangular part of a (‘L’, default) or the upper triangular part (‘U’). 
- 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
- 
             The tensor eigenvalues in ascending order. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1, -2j], [2j, 5]]) out_value = paddle.eigvalsh(x, UPLO='L') print(out_value) # Tensor(shape=[2], dtype=float32, place=Place(cpu), stop_gradient=True, # [0.17157286, 5.82842731]) 
 - 
            
           equal
           (
           y, 
           name=None
           )
           equal¶
- 
           This layer returns the truth value of \(x == y\) elementwise. Note The output has no gradient. - Parameters
- 
             - x (Tensor) – Tensor, data type is bool, float32, float64, int32, int64. 
- y (Tensor) – Tensor, data type is bool, float32, float64, int32, int64. 
- 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
- 
             output Tensor, it’s shape is the same as the input’s Tensor, and the data type is bool. The result of this op is stop_gradient. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([1, 3, 2]) result1 = paddle.equal(x, y) print(result1) # result1 = [True False False] 
 - 
            
           equal_all
           (
           y, 
           name=None
           )
           equal_all¶
- 
           Returns the truth value of \(x == y\). True if two inputs have the same elements, False otherwise. Note The output has no gradient. - Parameters
- 
             - x (Tensor) – Tensor, data type is bool, float32, float64, int32, int64. 
- y (Tensor) – Tensor, data type is bool, float32, float64, int32, int64. 
- 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
- 
             output Tensor, data type is bool, value is [False] or [True]. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([1, 2, 3]) z = paddle.to_tensor([1, 4, 3]) result1 = paddle.equal_all(x, y) print(result1) # result1 = [True ] result2 = paddle.equal_all(x, z) print(result2) # result2 = [False ] 
 - 
            
           erf
           (
           name=None
           )
           erf¶
- 
           Erf Operator For more details, see Error function. - Equation:
- 
             \[out = \frac{2}{\sqrt{\pi}} \int_{0}^{x}e^{- \eta^{2}}d\eta\]
 - Parameters
- 
             - x (Tensor) – The input tensor, it’s data type should be float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output of Erf, dtype: float32 or float64, the same as the input, shape: the same as the input. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.erf(x) print(out) # [-0.42839236 -0.22270259 0.11246292 0.32862676] 
 - 
            
           erfinv
           (
           name=None
           )
           erfinv¶
- 
           The inverse error function of x. Please refer to erf \[erfinv(erf(x)) = x.\]- Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             out (Tensor), an N-D Tensor, the shape and data type is the same with input. 
 Example import paddle x = paddle.to_tensor([0, 0.5, -1.], dtype="float32") out = paddle.erfinv(x) # out: [0, 0.4769, -inf] 
 - 
            
           erfinv_
           (
           name=None
           )
           erfinv_¶
- 
           Inplace version of erfinvAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_erfinv.
 - 
            
           exp
           (
           name=None
           )
           exp¶
- 
           Exp Operator. Computes exp of x element-wise with a natural number \(e\) as the base. \(out = e^x\) - Parameters
- 
             - x (Tensor) – Input of Exp operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Exp operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.exp(x) print(out) # [0.67032005 0.81873075 1.10517092 1.34985881] 
 - 
            
           exp_
           (
           name=None
           )
           exp_¶
- 
           Inplace version of expAPI, the output Tensor will be inplaced with inputx. Please refer to api_fluid_layers_exp.
 - 
            
           expand
           (
           shape, 
           name=None
           )
           expand¶
- 
           Expand the input tensor to a given shape. Both the number of dimensions of xand the number of elements inshapeshould be less than or equal to 6. And the number of dimensions ofxshould be less than the number of elements inshape. The dimension to expand must have a value 1.- Parameters
- 
             - x (Tensor) – The input Tensor, its data type is bool, float32, float64, int32 or int64. 
- shape (list|tuple|Tensor) – The result shape after expanding. The data type is int32. If shape is a list or tuple, all its elements should be integers or 1-D Tensors with the data type int32. If shape is a Tensor, it should be an 1-D Tensor with the data type int32. The value -1 in shape means keeping the corresponding dimension unchanged. 
- 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
- 
             A Tensor with the given shape. The data type is the same as x.
- Return type
- 
             N-D Tensor 
 Examples import paddle data = paddle.to_tensor([1, 2, 3], dtype='int32') out = paddle.expand(data, shape=[2, 3]) print(out) # [[1, 2, 3], [1, 2, 3]] 
 - 
            
           expand_as
           (
           y, 
           name=None
           )
           expand_as¶
- 
           Expand the input tensor xto the same shape as the input tensory.Both the number of dimensions of xandymust be less than or equal to 6, and the number of dimensions ofymust be greather than or equal to that ofx. The dimension to expand must have a value of 1.- Parameters
- 
             - x (Tensor) – The input tensor, its data type is bool, float32, float64, int32 or int64. 
- y (Tensor) – The input tensor that gives the shape to expand to. 
- 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
- 
             A Tensor with the same shape as y. The data type is the same asx.
- Return type
- 
             N-D Tensor 
 Examples import paddle data_x = paddle.to_tensor([1, 2, 3], 'int32') data_y = paddle.to_tensor([[1, 2, 3], [4, 5, 6]], 'int32') out = paddle.expand_as(data_x, data_y) print(out) # Tensor(shape=[2, 3], dtype=int32, place=Place(gpu:0), stop_gradient=True, # [[1, 2, 3], # [1, 2, 3]]) 
 - 
            
           exponential_
           (
           lam=1.0, 
           name=None
           )
           exponential_¶
- 
           This inplace OP fill input Tensor xwith random number from a Exponential Distribution.lamis \(\lambda\) parameter of Exponential Distribution.\[f(x) = \lambda e^{-\lambda x}\]- Parameters
- 
             - x (Tensor) – Input tensor. The data type should be float32, float64. 
- lam (float, optional) – \(\lambda\) parameter of Exponential Distribution. Default, 1.0. 
- 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
- 
             Input Tensor x.
- Return type
- 
             Tensor 
 Examples import paddle paddle.set_device('cpu') paddle.seed(100) x = paddle.empty([2,3]) x.exponential_() # [[0.80643415, 0.23211166, 0.01169797], # [0.72520673, 0.45208144, 0.30234432]] 
 - 
            
           flatten
           (
           start_axis=0, 
           stop_axis=- 1, 
           name=None
           )
           flatten¶
- 
           Flattens a contiguous range of axes in a tensor according to start_axis and stop_axis. Note The output Tensor will share data with origin Tensor and doesn’t have a Tensor copy in dygraphmode. If you want to use the Tensor copy version, please use Tensor.clone likeflatten_clone_x = x.flatten().clone().For Example: Case 1: Given X.shape = (3, 100, 100, 4) and start_axis = 1 end_axis = 2 We get: Out.shape = (3, 1000 * 100, 2) Case 2: Given X.shape = (3, 100, 100, 4) and start_axis = 0 stop_axis = -1 We get: Out.shape = (3 * 100 * 100 * 4)- Parameters
- 
             - x (Tensor) – A tensor of number of dimentions >= axis. A tensor with data type float32, float64, int8, int32, int64, uint8. 
- start_axis (int) – the start axis to flatten 
- stop_axis (int) – the stop axis to flatten 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             
             - A tensor with the contents of the input tensor, with input
- 
               axes flattened by indicated start axis and end axis. A Tensor with data type same as input x. 
 
- Return type
- 
             Tensor 
 Examples import paddle image_shape=(2, 3, 4, 4) x = paddle.arange(end=image_shape[0] * image_shape[1] * image_shape[2] * image_shape[3]) img = paddle.reshape(x, image_shape) out = paddle.flatten(img, start_axis=1, stop_axis=2) # out shape is [2, 12, 4] # out shares data with img in dygraph mode img[0, 0, 0, 0] = -1 print(out[0, 0, 0]) # [-1] 
 - 
            
           flatten_
           (
           start_axis=0, 
           stop_axis=- 1, 
           name=None
           )
           flatten_¶
- 
           Inplace version of flattenAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_flatten.
 - 
            
           flip
           (
           axis, 
           name=None
           )
           flip¶
- 
           Reverse the order of a n-D tensor along given axis in axis. - Parameters
- 
             - x (Tensor) – A Tensor(or LoDTensor) with shape \([N_1, N_2,..., N_k]\) . The data type of the input Tensor x should be float32, float64, int32, int64, bool. 
- axis (list|tuple|int) – The axis(axes) to flip on. Negative indices for indexing from the end are accepted. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor or LoDTensor calculated by flip layer. The data type is same with input x. 
- Return type
- 
             Tensor 
 Examples import paddle image_shape=(3, 2, 2) img = paddle.arange(image_shape[0] * image_shape[1] * image_shape[2]).reshape(image_shape) tmp = paddle.flip(img, [0,1]) print(tmp) # [[[10,11],[8, 9]], [[6, 7],[4, 5]], [[2, 3],[0, 1]]] out = paddle.flip(tmp,-1) print(out) # [[[11,10],[9, 8]], [[7, 6],[5, 4]], [[3, 2],[1, 0]]] 
 - 
            
           floor
           (
           name=None
           )
           floor¶
- 
           Floor Activation Operator. Computes floor of x element-wise. \(out = \\lfloor x \\rfloor\) - Parameters
- 
             - x (Tensor) – Input of Floor operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Floor operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.floor(x) print(out) # [-1. -1. 0. 0.] 
 - 
            
           floor_
           (
           name=None
           )
           floor_¶
- 
           Inplace version of floorAPI, the output Tensor will be inplaced with inputx. Please refer to api_fluid_layers_floor.
 - 
            
           floor_divide
           (
           y, 
           name=None
           )
           floor_divide¶
- 
           Floor divide two tensors element-wise. The equation is: \[out = x // y\]Note paddle.floor_dividesupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. It’s dimension equals with $x$. 
 Examples import paddle x = paddle.to_tensor([2, 3, 8, 7]) y = paddle.to_tensor([1, 5, 3, 3]) z = paddle.floor_divide(x, y) print(z) # [2, 0, 2, 2] 
 - 
            
           floor_mod
           (
           y, 
           name=None
           )
           floor_mod¶
- 
           Mod two tensors element-wise. The equation is: \[out = x \% y\]Note paddle.remaindersupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([2, 3, 8, 7]) y = paddle.to_tensor([1, 5, 3, 3]) z = paddle.remainder(x, y) print(z) # [0, 3, 2, 1] 
 - 
            
           fmax
           (
           y, 
           name=None
           )
           fmax¶
- 
           Compares the elements at the corresponding positions of the two tensors and returns a new tensor containing the maximum value of the element. If one of them is a nan value, the other value is directly returned, if both are nan values, then the first nan value is returned. The equation is: \[out = fmax(x, y)\]Note paddle.fmaxsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([[1, 2], [7, 8]]) y = paddle.to_tensor([[3, 4], [5, 6]]) res = paddle.fmax(x, y) print(res) # Tensor(shape=[2, 2], dtype=int64, place=Place(cpu), stop_gradient=True, # [[3, 4], # [7, 8]]) x = paddle.to_tensor([[1, 2, 3], [1, 2, 3]]) y = paddle.to_tensor([3, 0, 4]) res = paddle.fmax(x, y) print(res) # Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[3, 2, 4], # [3, 2, 4]]) x = paddle.to_tensor([2, 3, 5], dtype='float32') y = paddle.to_tensor([1, float("nan"), float("nan")], dtype='float32') res = paddle.fmax(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [2., 3., 5.]) x = paddle.to_tensor([5, 3, float("inf")], dtype='float32') y = paddle.to_tensor([1, -float("inf"), 5], dtype='float32') res = paddle.fmax(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [5. , 3. , inf.]) 
 - 
            
           fmin
           (
           y, 
           name=None
           )
           fmin¶
- 
           Compares the elements at the corresponding positions of the two tensors and returns a new tensor containing the minimum value of the element. If one of them is a nan value, the other value is directly returned, if both are nan values, then the first nan value is returned. The equation is: \[out = fmin(x, y)\]Note paddle.fminsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([[1, 2], [7, 8]]) y = paddle.to_tensor([[3, 4], [5, 6]]) res = paddle.fmin(x, y) print(res) # Tensor(shape=[2, 2], dtype=int64, place=Place(cpu), stop_gradient=True, # [[1, 2], # [5, 6]]) x = paddle.to_tensor([[[1, 2, 3], [1, 2, 3]]]) y = paddle.to_tensor([3, 0, 4]) res = paddle.fmin(x, y) print(res) # Tensor(shape=[1, 2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[[1, 0, 3], # [1, 0, 3]]]) x = paddle.to_tensor([2, 3, 5], dtype='float32') y = paddle.to_tensor([1, float("nan"), float("nan")], dtype='float32') res = paddle.fmin(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [1., 3., 5.]) x = paddle.to_tensor([5, 3, float("inf")], dtype='float64') y = paddle.to_tensor([1, -float("inf"), 5], dtype='float64') res = paddle.fmin(x, y) print(res) # Tensor(shape=[3], dtype=float64, place=Place(cpu), stop_gradient=True, # [ 1. , -inf., 5. ]) 
 - 
            
           frac
           (
           name=None
           )
           frac¶
- 
           This API is used to return the fractional portion of each element in input. - Parameters
- 
             - x (Tensor) – The input tensor, which data type should be int32, int64, float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output Tensor of frac. 
- Return type
- 
             Tensor 
 Examples import paddle input = paddle.to_tensor([[12.22000003, -1.02999997], [-0.54999995, 0.66000003]]) output = paddle.frac(input) print(output) # Tensor(shape=[2, 2], dtype=float32, place=Place(cpu), stop_gradient=True, # [[ 0.22000003, -0.02999997], # [-0.54999995, 0.66000003]]) 
 - 
            
           gather
           (
           index, 
           axis=None, 
           name=None
           )
           gather¶
- 
           Output is obtained by gathering entries of axisofxindexed byindexand concatenate them together.Given: x = [[1, 2], [3, 4], [5, 6]] index = [1, 2] axis=[0] Then: out = [[3, 4], [5, 6]]- Parameters
- 
             - x (Tensor) – The source input tensor with rank>=1. Supported data type is int32, int64, float32, float64 and uint8 (only for CPU), float16 (only for GPU). 
- index (Tensor) – The index input tensor with rank=1. Data type is int32 or int64. 
- axis (Tensor|int, optional) – The axis of input to be gathered, it’s can be int or a Tensor with data type is int32 or int64. The default value is None, if None, the - axisis 0.
- 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
- 
             The output is a tensor with the same rank as x.
- Return type
- 
             output (Tensor) 
 Examples import paddle input = paddle.to_tensor([[1,2],[3,4],[5,6]]) index = paddle.to_tensor([0,1]) output = paddle.gather(input, index, axis=0) # expected output: [[1,2],[3,4]] 
 - 
            
           gather_nd
           (
           index, 
           name=None
           )
           gather_nd¶
- 
           This function is actually a high-dimensional extension of gatherand supports for simultaneous indexing by multiple axes.indexis a K-dimensional integer tensor, which is regarded as a (K-1)-dimensional tensor ofindexintoinput, where each element defines a slice of params:\[output[(i_0, ..., i_{K-2})] = input[index[(i_0, ..., i_{K-2})]]\]Obviously, index.shape[-1] <= input.rank. And, the output tensor has shapeindex.shape[:-1] + input.shape[index.shape[-1]:].Given: x = [[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]] x.shape = (2, 3, 4) * Case 1: index = [[1]] gather_nd(x, index) = [x[1, :, :]] = [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]] * Case 2: index = [[0,2]] gather_nd(x, index) = [x[0, 2, :]] = [8, 9, 10, 11] * Case 3: index = [[1, 2, 3]] gather_nd(x, index) = [x[1, 2, 3]] = [23]- Parameters
- 
             - x (Tensor) – The input Tensor which it’s data type should be bool, float32, float64, int32, int64. 
- index (Tensor) – The index input with rank > 1, index.shape[-1] <= input.rank. Its dtype should be int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A tensor with the shape index.shape[:-1] + input.shape[index.shape[-1]:] 
- Return type
- 
             output (Tensor) 
 Examples import paddle x = paddle.to_tensor([[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]]]) index = paddle.to_tensor([[0, 1]]) output = paddle.gather_nd(x, index) #[[3, 4]] 
 - 
            
           gcd
           (
           y, 
           name=None
           )
           gcd¶
- 
           Computes the element-wise greatest common divisor (GCD) of input |x| and |y|. Both x and y must have integer types. Note gcd(0,0)=0, gcd(0, y)=|y| If x.shape != y.shape, they must be broadcastable to a common shape (which becomes the shape of the output). - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is int32,int64. 
- y (Tensor) – An N-D Tensor, the data type is int32,int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             An N-D Tensor, the data type is the same with input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x1 = paddle.to_tensor(12) x2 = paddle.to_tensor(20) paddle.gcd(x1, x2) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [4]) x3 = paddle.arange(6) paddle.gcd(x3, x2) # Tensor(shape=[6], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [20, 1 , 2 , 1 , 4 , 5]) x4 = paddle.to_tensor(0) paddle.gcd(x4, x2) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [20]) paddle.gcd(x4, x4) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [0]) x5 = paddle.to_tensor(-20) paddle.gcd(x1, x5) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [4]) 
 - 
            
           greater_equal
           (
           y, 
           name=None
           )
           greater_equal¶
- 
           Returns the truth value of \(x >= y\) elementwise, which is equivalent function to the overloaded operator >=. Note The output has no gradient. - Parameters
- 
             - x (Tensor) – First input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- y (Tensor) – Second input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- 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
- 
             The output shape is same as input x. The output data type is bool.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([1, 3, 2]) result1 = paddle.greater_equal(x, y) print(result1) # result1 = [True False True] 
 - 
            
           greater_than
           (
           y, 
           name=None
           )
           greater_than¶
- 
           Returns the truth value of \(x > y\) elementwise, which is equivalent function to the overloaded operator >. Note The output has no gradient. - Parameters
- 
             - x (Tensor) – First input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- y (Tensor) – Second input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- 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
- 
             The output shape is same as input x. The output data type is bool.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([1, 3, 2]) result1 = paddle.greater_than(x, y) print(result1) # result1 = [False False True] 
 - 
            
           heaviside
           (
           y, 
           name=None
           )
           heaviside¶
- 
           Computes the Heaviside step function determined by corresponding element in y for each element in x. The equation is \[\begin{split}heaviside(x, y)= \left\{ \begin{array}{lcl} 0,& &\text{if} \ x < 0, \\ y,& &\text{if} \ x = 0, \\ 1,& &\text{if} \ x > 0. \end{array} \right.\end{split}\]Note paddle.heavisidesupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – The input tensor of Heaviside step function, it’s data type should be float16, float32, float64, int32 or int64. 
- y (Tensor) – The tensor that determines a Heaviside step function, it’s data type should be float16, float32, float64, int32 or int64. 
- name (str, optional) – Name for the operation (optional, default is None). Normally there is no need for user to set this property. For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x and y have different shapes and are broadcastable, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([-0.5, 0, 0.5]) y = paddle.to_tensor([0.1]) paddle.heaviside(x, y) # [0. , 0.10000000, 1. ] x = paddle.to_tensor([[-0.5, 0, 0.5], [-0.5, 0.5, 0]]) y = paddle.to_tensor([0.1, 0.2, 0.3]) paddle.heaviside(x, y) # [[0. , 0.20000000, 1. ], # [0. , 1. , 0.30000001]] 
 - 
            
           histogram
           (
           bins=100, 
           min=0, 
           max=0, 
           name=None
           )
           histogram¶
- 
           Computes the histogram of a tensor. The elements are sorted into equal width bins between min and max. If min and max are both zero, the minimum and maximum values of the data are used. - Parameters
- 
             - input (Tensor) – A Tensor(or LoDTensor) with shape \([N_1, N_2,..., N_k]\) . The data type of the input Tensor should be float32, float64, int32, int64. 
- bins (int, optional) – number of histogram bins. 
- min (int, optional) – lower end of the range (inclusive). 
- max (int, optional) – upper end of the range (inclusive). 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             data type is int64, shape is (nbins,). 
- Return type
- 
             Tensor 
 Examples import paddle inputs = paddle.to_tensor([1, 2, 1]) result = paddle.histogram(inputs, bins=4, min=0, max=3) print(result) # [0, 2, 1, 0] 
 - 
            
           imag
           (
           name=None
           )
           imag¶
- 
           Returns a new tensor containing imaginary values of input tensor. - Parameters
- 
             - x (Tensor) – the input tensor, its data type could be complex64 or complex128. 
- 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
- 
             a tensor containing imaginary values of the input tensor. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor( [[1 + 6j, 2 + 5j, 3 + 4j], [4 + 3j, 5 + 2j, 6 + 1j]]) # Tensor(shape=[2, 3], dtype=complex64, place=CUDAPlace(0), stop_gradient=True, # [[(1+6j), (2+5j), (3+4j)], # [(4+3j), (5+2j), (6+1j)]]) imag_res = paddle.imag(x) # Tensor(shape=[2, 3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[6., 5., 4.], # [3., 2., 1.]]) imag_t = x.imag() # Tensor(shape=[2, 3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[6., 5., 4.], # [3., 2., 1.]]) 
 - 
            
           increment
           (
           value=1.0, 
           name=None
           )
           increment¶
- 
           The API is usually used for control flow to increment the data of xby an amountvalue. Notice that the number of elements inxmust be equal to 1.- Parameters
- 
             - x (Tensor) – A tensor that must always contain only one element, its data type supports float32, float64, int32 and int64. 
- value (float, optional) – The amount to increment the data of - x. Default: 1.0.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the elementwise-incremented tensor with the same shape and data type as x.
 Examples import paddle data = paddle.zeros(shape=[1], dtype='float32') counter = paddle.increment(data) # [1.] 
 - 
            
           index_add
           (
           index, 
           axis, 
           value, 
           name=None
           )
           index_add¶
- 
           Adds the elements of the input tensor with value tensor by selecting the indices in the order given in index. - Parameters
- 
             - x (Tensor) – The Destination Tensor. Supported data types are int32, int64, float16, float32, float64. 
- index (Tensor) – The 1-D Tensor containing the indices to index. The data type of - indexmust be int32 or int64.
- axis (int) – The dimension in which we index. 
- value (Tensor) – The tensor used to add the elements along the target axis. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             same dimention and dtype with x. 
- Return type
- 
             Tensor 
 Examples # required: gpu import paddle input_tensor = paddle.to_tensor(paddle.ones((3, 3)), dtype="float32") index = paddle.to_tensor([0, 2], dtype="int32") value = paddle.to_tensor([[1, 1, 1], [1, 1, 1]], dtype="float32") outplace_res = paddle.index_add(input_tensor, index, 0, value) print(outplace_res) # Tensor(shape=[3, 3], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [[2., 2., 2.], # [1., 1., 1.], # [2., 2., 2.]]) 
 - 
            
           index_add_
           (
           index, 
           axis, 
           value, 
           name=None
           )
           index_add_¶
- 
           Inplace version of index_addAPI, the output Tensor will be inplaced with inputx. Please refer to api_paddle_tensor_index_add.Examples # required: gpu import paddle input_tensor = paddle.to_tensor(paddle.ones((3, 3)), dtype="float32") index = paddle.to_tensor([0, 2], dtype="int32") value = paddle.to_tensor([[1, 1], [1, 1], [1, 1]], dtype="float32") inplace_res = paddle.index_add_(input_tensor, index, 1, value) print(inplace_res) # Tensor(shape=[3, 3], dtype=float32, place=Place(gpu:0), stop_gradient=True, # [[2., 1., 2.], # [2., 1., 2.], # [2., 1., 2.]]) 
 - 
            
           index_sample
           (
           index
           )
           index_sample¶
- 
           IndexSample Layer IndexSample OP returns the element of the specified location of X, and the location is specified by Index. Given: X = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]] Index = [[0, 1, 3], [0, 2, 4]] Then: Out = [[1, 2, 4], [6, 8, 10]]- Parameters
- 
             - x (Tensor) – The source input tensor with 2-D shape. Supported data type is int32, int64, float32, float64. 
- index (Tensor) – The index input tensor with 2-D shape, first dimension should be same with X. Data type is int32 or int64. 
 
- Returns
- 
             The output is a tensor with the same shape as index. 
- Return type
- 
             output (Tensor) 
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0], [9.0, 10.0, 11.0, 12.0]], dtype='float32') index = paddle.to_tensor([[0, 1, 2], [1, 2, 3], [0, 0, 0]], dtype='int32') target = paddle.to_tensor([[100, 200, 300, 400], [500, 600, 700, 800], [900, 1000, 1100, 1200]], dtype='int32') out_z1 = paddle.index_sample(x, index) print(out_z1) #[[1. 2. 3.] # [6. 7. 8.] # [9. 9. 9.]] # Use the index of the maximum value by topk op # get the value of the element of the corresponding index in other tensors top_value, top_index = paddle.topk(x, k=2) out_z2 = paddle.index_sample(target, top_index) print(top_value) #[[ 4. 3.] # [ 8. 7.] # [12. 11.]] print(top_index) #[[3 2] # [3 2] # [3 2]] print(out_z2) #[[ 400 300] # [ 800 700] # [1200 1100]] 
 - 
            
           index_select
           (
           index, 
           axis=0, 
           name=None
           )
           index_select¶
- 
           Returns a new tensor which indexes the inputtensor along dimensionaxisusing the entries inindexwhich is a Tensor. The returned tensor has the same number of dimensions as the originalxtensor. The dim-th dimension has the same size as the length ofindex; other dimensions have the same size as in thextensor.- Parameters
- 
             - x (Tensor) – The input Tensor to be operated. The data of - xcan be one of float32, float64, int32, int64.
- index (Tensor) – The 1-D Tensor containing the indices to index. The data type of - indexmust be int32 or int64.
- axis (int, optional) – The dimension in which we index. Default: if None, the - axisis 0.
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             A Tensor with same data type as x.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0], [9.0, 10.0, 11.0, 12.0]]) index = paddle.to_tensor([0, 1, 1], dtype='int32') out_z1 = paddle.index_select(x=x, index=index) #[[1. 2. 3. 4.] # [5. 6. 7. 8.] # [5. 6. 7. 8.]] out_z2 = paddle.index_select(x=x, index=index, axis=1) #[[ 1. 2. 2.] # [ 5. 6. 6.] # [ 9. 10. 10.]] 
 - 
            
           inner
           (
           y, 
           name=None
           )
           inner¶
- 
           Inner product of two input Tensor. Ordinary inner product for 1-D Tensors, in higher dimensions a sum product over the last axes. - Parameters
- 
             - x (Tensor) – An N-D Tensor or a Scalar Tensor. If its not a scalar Tensor, its last dimensions must match y’s. 
- y (Tensor) – An N-D Tensor or a Scalar Tensor. If its not a scalar Tensor, its last dimensions must match x’s. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The inner-product Tensor, the output shape is x.shape[:-1] + y.shape[:-1]. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.arange(1, 7).reshape((2, 3)).astype('float32') y = paddle.arange(1, 10).reshape((3, 3)).astype('float32') out = paddle.inner(x, y) print(out) # ([[14, 32, 50], # [32, 77, 122]]) 
 - 
            
           inverse
           (
           name=None
           )
           inverse¶
- 
           Takes the inverse of the square matrix. A square matrix is a matrix with the same number of rows and columns. The input can be a square matrix (2-D Tensor) or batches of square matrices. - Parameters
- 
             - x (Tensor) – The input tensor. The last two dimensions should be equal. When the number of dimensions is greater than 2, it is treated as batches of square matrix. The data type can be float32 and float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             
             - A Tensor holds the inverse of x. The shape and data type
- 
               is the same as x. 
 
- Return type
- 
             Tensor 
 Examples import paddle mat = paddle.to_tensor([[2, 0], [0, 2]], dtype='float32') inv = paddle.inverse(mat) print(inv) # [[0.5, 0], [0, 0.5]] 
 - 
            
           is_complex
           (
           )
           is_complex¶
- 
           Return whether x is a tensor of complex data type(complex64 or complex128). - Parameters
- 
             x (Tensor) – The input tensor. 
- Returns
- 
             True if the data type of the input is complex data type, otherwise false. 
- Return type
- 
             bool 
 Examples import paddle x = paddle.to_tensor([1 + 2j, 3 + 4j]) print(paddle.is_complex(x)) # True x = paddle.to_tensor([1.1, 1.2]) print(paddle.is_complex(x)) # False x = paddle.to_tensor([1, 2, 3]) print(paddle.is_complex(x)) # False 
 - 
            
           is_empty
           (
           name=None
           )
           is_empty¶
- 
           Test whether a Tensor is empty. - Parameters
- 
             - x (Tensor) – The Tensor to be tested. 
- name (str, optional) – The default value is - None. Normally users don’t have to set this parameter. For more information, please refer to Name .
 
- Returns
- 
             A bool scalar Tensor. True if ‘x’ is an empty Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle input = paddle.rand(shape=[4, 32, 32], dtype='float32') res = paddle.is_empty(x=input) print("res:", res) # ('res:', Tensor: eager_tmp_1 # - place: CPUPlace # - shape: [1] # - layout: NCHW # - dtype: bool # - data: [0]) 
 - 
            
           is_floating_point
           (
           )
           is_floating_point¶
- 
           Returns whether the dtype of x is one of paddle.float64, paddle.float32, paddle.float16, and paddle.bfloat16. - Parameters
- 
             x (Tensor) – The input tensor. 
- Returns
- 
             True if the dtype of x is floating type, otherwise false. 
- Return type
- 
             bool 
 Examples import paddle x = paddle.arange(1., 5., dtype='float32') y = paddle.arange(1, 5, dtype='int32') print(paddle.is_floating_point(x)) # True print(paddle.is_floating_point(y)) # False 
 - 
            
           is_integer
           (
           )
           is_integer¶
- 
           Return whether x is a tensor of integeral data type. - Parameters
- 
             x (Tensor) – The input tensor. 
- Returns
- 
             True if the data type of the input is integer data type, otherwise false. 
- Return type
- 
             bool 
 Examples import paddle x = paddle.to_tensor([1 + 2j, 3 + 4j]) print(paddle.is_integer(x)) # False x = paddle.to_tensor([1.1, 1.2]) print(paddle.is_integer(x)) # False x = paddle.to_tensor([1, 2, 3]) print(paddle.is_integer(x)) # True 
 - 
            
           is_tensor
           (
           )
           is_tensor¶
- 
           Tests whether input object is a paddle.Tensor. - Parameters
- 
             x (object) – Object to test. 
- Returns
- 
             A boolean value. True if xis a paddle.Tensor, otherwise False.
 Examples import paddle input1 = paddle.rand(shape=[2, 3, 5], dtype='float32') check = paddle.is_tensor(input1) print(check) #True input3 = [1, 4] check = paddle.is_tensor(input3) print(check) #False 
 - 
            
           isclose
           (
           y, 
           rtol=1e-05, 
           atol=1e-08, 
           equal_nan=False, 
           name=None
           )
           isclose¶
- 
           This operator checks if all \(x\) and \(y\) satisfy the condition: \[\left| x - y \right| \leq atol + rtol \times \left| y \right|\]elementwise, for all elements of \(x\) and \(y\). The behaviour of this operator is analogous to \(numpy.isclose\), namely that it returns \(True\) if two tensors are elementwise equal within a tolerance. - Parameters
- 
             - x (Tensor) – The input tensor, it’s data type should be float32, float64. 
- y (Tensor) – The input tensor, it’s data type should be float32, float64. 
- rtol (rtoltype, optional) – The relative tolerance. Default: \(1e-5\) . 
- atol (atoltype, optional) – The absolute tolerance. Default: \(1e-8\) . 
- equal_nan (equalnantype, optional) – If \(True\) , then two \(NaNs\) will be compared as equal. Default: \(False\) . 
- name (str, optional) – Name for the operation. For more information, please refer to Name. Default: None. 
 
- Returns
- 
             The output tensor, it’s data type is bool. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([10000., 1e-07]) y = paddle.to_tensor([10000.1, 1e-08]) result1 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name="ignore_nan") # [True, False] result2 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=True, name="equal_nan") # [True, False] x = paddle.to_tensor([1.0, float('nan')]) y = paddle.to_tensor([1.0, float('nan')]) result1 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=False, name="ignore_nan") # [True, False] result2 = paddle.isclose(x, y, rtol=1e-05, atol=1e-08, equal_nan=True, name="equal_nan") # [True, True] 
 - 
            
           isfinite
           (
           name=None
           )
           isfinite¶
- 
           Return whether every element of input tensor is finite number or not. - Parameters
- 
             - x (Tensor) – The input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the bool result which shows every element of x whether it is finite number or not. 
 Examples import paddle x = paddle.to_tensor([float('-inf'), -2, 3.6, float('inf'), 0, float('-nan'), float('nan')]) out = paddle.isfinite(x) print(out) # [False True True False True False False] 
 - 
            
           isinf
           (
           name=None
           )
           isinf¶
- 
           Return whether every element of input tensor is +/-INF or not. - Parameters
- 
             - x (Tensor) – The input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the bool result which shows every element of x whether it is +/-INF or not. 
 Examples import paddle x = paddle.to_tensor([float('-inf'), -2, 3.6, float('inf'), 0, float('-nan'), float('nan')]) out = paddle.isinf(x) print(out) # [ True False False True False False False] 
 - 
            
           isnan
           (
           name=None
           )
           isnan¶
- 
           Return whether every element of input tensor is NaN or not. - Parameters
- 
             - x (Tensor) – The input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the bool result which shows every element of x whether it is NaN or not. 
 Examples import paddle x = paddle.to_tensor([float('-inf'), -2, 3.6, float('inf'), 0, float('-nan'), float('nan')]) out = paddle.isnan(x) print(out) # [False False False False False True True] 
 - 
            
           item
           (
           )
           item¶
- 
           In order to be compatible with the item interface introduced by the dynamic graph, it does nothing but returns self. It will check that the shape must be a 1-D tensor 
 - 
            
           kron
           (
           y, 
           name=None
           )
           kron¶
- 
           Kron Operator. This operator computes the Kronecker product of two tensors, a composite tensor made of blocks of the second tensor scaled by the first. This operator assumes that the rank of the two tensors, $X$ and $Y$ are the same, if necessary prepending the smallest with ones. If the shape of $X$ is [$r_0$, $r_1$, …, $r_N$] and the shape of $Y$ is [$s_0$, $s_1$, …, $s_N$], then the shape of the output tensor is [$r_{0}s_{0}$, $r_{1}s_{1}$, …, $r_{N}s_{N}$]. The elements are products of elements from $X$ and $Y$. The equation is: $$ output[k_{0}, k_{1}, …, k_{N}] = X[i_{0}, i_{1}, …, i_{N}] * Y[j_{0}, j_{1}, …, j_{N}] $$ where $$ k_{t} = i_{t} * s_{t} + j_{t}, t = 0, 1, …, N $$ - Parameters
- 
             - x (Tensor) – the fist operand of kron op, data type: float16, float32, float64, int32 or int64. 
- y (Tensor) – the second operand of kron op, data type: float16, float32, float64, int32 or int64. Its data type should be the same with x. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output of kron, data type: float16, float32, float64, int32 or int64. Its data is the same with x. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1, 2], [3, 4]], dtype='int64') y = paddle.to_tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype='int64') out = paddle.kron(x, y) print(out) # [[1, 2, 3, 2, 4, 6], # [ 4, 5, 6, 8, 10, 12], # [ 7, 8, 9, 14, 16, 18], # [ 3, 6, 9, 4, 8, 12], # [12, 15, 18, 16, 20, 24], # [21, 24, 27, 28, 32, 36]]) 
 - 
            
           kthvalue
           (
           k, 
           axis=None, 
           keepdim=False, 
           name=None
           )
           kthvalue¶
- 
           Find values and indices of the k-th smallest at the axis. - Parameters
- 
             - x (Tensor) – A N-D Tensor with type float32, float64, int32, int64. 
- k (int) – The k for the k-th smallest number to look for along the axis. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is x.ndim. when axis < 0, it works the same way as axis + R. The default is None. And if the axis is None, it will computed as -1 by default. 
- keepdim (bool, optional) – Whether to keep the given axis in output. If it is True, the dimensions will be same as input x and with size one in the axis. Otherwise the output dimentions is one fewer than x since the axis is squeezed. Default is False. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             tuple(Tensor), return the values and indices. The value data type is the same as the input x. The indices data type is int64. 
 Examples import paddle x = paddle.randn((2,3,2)) # Tensor(shape=[2, 3, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[[ 0.22954939, -0.01296274], # [ 1.17135799, -0.34493217], # [-0.19550551, -0.17573971]], # # [[ 0.15104349, -0.93965352], # [ 0.14745511, 0.98209465], # [ 0.10732264, -0.55859774]]]) y = paddle.kthvalue(x, 2, 1) # (Tensor(shape=[2, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[ 0.22954939, -0.17573971], # [ 0.14745511, -0.55859774]]), Tensor(shape=[2, 2], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [[0, 2], # [1, 2]])) 
 - 
            
           lcm
           (
           y, 
           name=None
           )
           lcm¶
- 
           Computes the element-wise least common multiple (LCM) of input |x| and |y|. Both x and y must have integer types. Note lcm(0,0)=0, lcm(0, y)=0 If x.shape != y.shape, they must be broadcastable to a common shape (which becomes the shape of the output). - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is int32,int64. 
- y (Tensor) – An N-D Tensor, the data type is int32,int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             An N-D Tensor, the data type is the same with input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x1 = paddle.to_tensor(12) x2 = paddle.to_tensor(20) paddle.lcm(x1, x2) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [60]) x3 = paddle.arange(6) paddle.lcm(x3, x2) # Tensor(shape=[6], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [0, 20, 20, 60, 20, 20]) x4 = paddle.to_tensor(0) paddle.lcm(x4, x2) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [0]) paddle.lcm(x4, x4) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [0]) x5 = paddle.to_tensor(-20) paddle.lcm(x1, x5) # Tensor(shape=[1], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [60]) 
 - 
            
           lerp
           (
           y, 
           weight, 
           name=None
           )
           lerp¶
- 
           Does a linear interpolation between x and y based on weight. - Equation:
- 
             \[lerp(x, y, weight) = x + weight * (y - x).\]
 - Parameters
- 
             - x (Tensor) – An N-D Tensor with starting points, the data type is float32, float64. 
- y (Tensor) – An N-D Tensor with ending points, the data type is float32, float64. 
- weight (float|Tensor) – The weight for the interpolation formula. When weight is Tensor, the data type is float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             An N-D Tensor, the shape and data type is the same with input. 
- Return type
- 
             out (Tensor) 
 Example import paddle x = paddle.arange(1., 5., dtype='float32') y = paddle.empty([4], dtype='float32') y.fill_(10.) out = paddle.lerp(x, y, 0.5) # out: [5.5, 6., 6.5, 7.] 
 - 
            
           lerp_
           (
           y, 
           weight, 
           name=None
           )
           lerp_¶
- 
           Inplace version of lerpAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_lerp.
 - 
            
           less_equal
           (
           y, 
           name=None
           )
           less_equal¶
- 
           Returns the truth value of \(x <= y\) elementwise, which is equivalent function to the overloaded operator <=. Note The output has no gradient. - Parameters
- 
             - x (Tensor) – First input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- y (Tensor) – Second input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- 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
- 
             The output shape is same as input x. The output data type is bool.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([1, 3, 2]) result1 = paddle.less_equal(x, y) print(result1) # result1 = [True True False] 
 - 
            
           less_than
           (
           y, 
           name=None
           )
           less_than¶
- 
           Returns the truth value of \(x < y\) elementwise, which is equivalent function to the overloaded operator <. Note The output has no gradient. - Parameters
- 
             - x (Tensor) – First input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- y (Tensor) – Second input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- 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
- 
             The output shape is same as input x. The output data type is bool.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([1, 3, 2]) result1 = paddle.less_than(x, y) print(result1) # result1 = [False True False] 
 - 
            
           lgamma
           (
           name=None
           )
           lgamma¶
- 
           Calculates the lgamma of the given input tensor, element-wise. This operator performs elementwise lgamma for input $X$. \(out = log\Gamma(x)\) - Parameters
- 
             - x (Tensor) – Input Tensor. Must be one of the following types: float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the lgamma of the input Tensor, the shape and data type is the same with input. 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.lgamma(x) print(out) # [1.31452441, 1.76149750, 2.25271273, 1.09579802] 
 - 
            
           log
           (
           name=None
           )
           log¶
- 
           Calculates the natural log of the given input Tensor, element-wise. \[Out = \ln(x)\]- Parameters
- 
             - x (Tensor) – Input Tensor. Must be one of the following types: float32, float64. 
- name (str|None) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to Name 
 
- Returns
- 
             The natural log of the input Tensor computed element-wise. 
- Return type
- 
             Tensor 
 Examples import paddle x = [[2,3,4], [7,8,9]] x = paddle.to_tensor(x, dtype='float32') res = paddle.log(x) # [[0.693147, 1.09861, 1.38629], [1.94591, 2.07944, 2.19722]] 
 - 
            
           log10
           (
           name=None
           )
           log10¶
- 
           Calculates the log to the base 10 of the given input tensor, element-wise. \[Out = \log_10_x\]- Parameters
- 
             - x (Tensor) – Input tensor must be one of the following types: float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The log to the base 10 of the input Tensor computed element-wise. 
- Return type
- 
             Tensor 
 Examples import paddle # example 1: x is a float x_i = paddle.to_tensor([[1.0], [10.0]]) res = paddle.log10(x_i) # [[0.], [1.0]] # example 2: x is float32 x_i = paddle.full(shape=[1], fill_value=10, dtype='float32') paddle.to_tensor(x_i) res = paddle.log10(x_i) print(res) # [1.0] # example 3: x is float64 x_i = paddle.full(shape=[1], fill_value=10, dtype='float64') paddle.to_tensor(x_i) res = paddle.log10(x_i) print(res) # [1.0] 
 - 
            
           log1p
           (
           name=None
           )
           log1p¶
- 
           Calculates the natural log of the given input tensor, element-wise. \[Out = \ln(x+1)\]- Parameters
- 
             - x (Tensor) – Input Tensor. Must be one of the following types: float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the natural log of the input Tensor computed element-wise. 
 Examples import paddle data = paddle.to_tensor([[0], [1]], dtype='float32') res = paddle.log1p(data) # [[0.], [0.6931472]] 
 - 
            
           log2
           (
           name=None
           )
           log2¶
- 
           Calculates the log to the base 2 of the given input tensor, element-wise. \[Out = \log_2x\]- Parameters
- 
             - x (Tensor) – Input tensor must be one of the following types: float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The log to the base 2 of the input Tensor computed element-wise. 
- Return type
- 
             Tensor 
 Examples import paddle # example 1: x is a float x_i = paddle.to_tensor([[1.0], [2.0]]) res = paddle.log2(x_i) # [[0.], [1.0]] # example 2: x is float32 x_i = paddle.full(shape=[1], fill_value=2, dtype='float32') paddle.to_tensor(x_i) res = paddle.log2(x_i) print(res) # [1.0] # example 3: x is float64 x_i = paddle.full(shape=[1], fill_value=2, dtype='float64') paddle.to_tensor(x_i) res = paddle.log2(x_i) print(res) # [1.0] 
 - 
            
           logcumsumexp
           (
           axis=None, 
           dtype=None, 
           name=None
           )
           logcumsumexp¶
- 
           The logarithm of the cumulative summation of the exponentiation of the elements along a given axis. For summation index j given by axis and other indices i, the result is \[logcumsumexp(x)_{ij} = log \sum_{i=0}^{j}exp(x_{ij})\]Note The first element of the result is the same as the first element of the input. - Parameters
- 
             - x (Tensor) – The input tensor. 
- axis (int, optional) – The dimension to do the operation along. -1 means the last dimension. The default (None) is to compute the cumsum over the flattened array. 
- dtype (str, optional) – The data type of the output tensor, can be float32, float64. If specified, the input tensor is casted to dtype before the operation is performed. This is useful for preventing data type overflows. The default value is None. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, the result of logcumsumexp operator. 
 Examples import paddle data = paddle.arange(12, dtype='float64') data = paddle.reshape(data, (3, 4)) y = paddle.logcumsumexp(data) # [ 0. 1.3132617 2.4076061 3.4401898 4.4519143 5.4561934 # 6.4577627 7.4583397 8.458551 9.45863 10.458658 11.458669 ] y = paddle.logcumsumexp(data, axis=0) # [[ 0. 1. 2. 3. ] # [ 4.01815 5.01815 6.01815 7.01815 ] # [ 8.018479 9.018479 10.018479 11.018479]] y = paddle.logcumsumexp(data, axis=-1) # [[ 0. 1.3132617 2.4076061 3.4401898] # [ 4. 5.3132615 6.407606 7.44019 ] # [ 8. 9.313262 10.407606 11.440189 ]] y = paddle.logcumsumexp(data, dtype='float64') print(y.dtype) # paddle.float64 
 - 
            
           logical_and
           (
           y, 
           out=None, 
           name=None
           )
           logical_and¶
- 
           logical_andoperator computes element-wise logical AND onxandy, and returnsout.outis N-dim booleanTensor. Each element ofoutis calculated by\[out = x \&\& y\]Note paddle.logical_andsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be one of bool, int8, int16, in32, in64, float32, float64. 
- y (Tensor) – the input tensor, it’s data type should be one of bool, int8, int16, in32, in64, float32, float64. 
- out (Tensor) – The - Tensorthat specifies the output of the operator, which can be any- Tensorthat has been created in the program. The default value is None, and a new- Tensorwill be created to save the output.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. It’s dimension equals with x.
 Examples import paddle x = paddle.to_tensor([True]) y = paddle.to_tensor([True, False, True, False]) res = paddle.logical_and(x, y) print(res) # [True False True False] 
 - 
            
           logical_not
           (
           out=None, 
           name=None
           )
           logical_not¶
- 
           logical_notoperator computes element-wise logical NOT onx, and returnsout.outis N-dim booleanVariable. Each element ofoutis calculated by\[out = !x\]- Parameters
- 
             - x (Tensor) – Operand of logical_not operator. Must be a Tensor of type bool, int8, int16, in32, in64, float32, or float64. 
- out (Tensor) – The - Tensorthat specifies the output of the operator, which can be any- Tensorthat has been created in the program. The default value is None, and a new ``Tensor` will be created to save the output.
- name (str|None) – The default value is None. Normally there is no need for users to set this property. For more information, please refer to Name. 
 
- Returns
- 
             n-dim bool LoDTensor or Tensor 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([True, False, True, False]) res = paddle.logical_not(x) print(res) # [False True False True] 
 - 
            
           logical_or
           (
           y, 
           out=None, 
           name=None
           )
           logical_or¶
- 
           logical_oroperator computes element-wise logical OR onxandy, and returnsout.outis N-dim booleanTensor. Each element ofoutis calculated by\[out = x || y\]Note paddle.logical_orsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be one of bool, int8, int16, in32, in64, float32, float64. 
- y (Tensor) – the input tensor, it’s data type should be one of bool, int8, int16, in32, in64, float32, float64. 
- out (Tensor) – The - Variablethat specifies the output of the operator, which can be any- Tensorthat has been created in the program. The default value is None, and a new- Tensorwill be created to save the output.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. It’s dimension equals with x.
 Examples import paddle x = paddle.to_tensor([True, False], dtype="bool").reshape([2, 1]) y = paddle.to_tensor([True, False, True, False], dtype="bool").reshape([2, 2]) res = paddle.logical_or(x, y) print(res) # Tensor(shape=[2, 2], dtype=bool, place=Place(cpu), stop_gradient=True, # [[True , True ], # [True , False]]) 
 - 
            
           logical_xor
           (
           y, 
           out=None, 
           name=None
           )
           logical_xor¶
- 
           logical_xoroperator computes element-wise logical XOR onxandy, and returnsout.outis N-dim booleanTensor. Each element ofoutis calculated by\[out = (x || y) \&\& !(x \&\& y)\]Note paddle.logical_xorsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be one of bool, int8, int16, in32, in64, float32, float64. 
- y (Tensor) – the input tensor, it’s data type should be one of bool, int8, int16, in32, in64, float32, float64. 
- out (Tensor) – The - Tensorthat specifies the output of the operator, which can be any- Tensorthat has been created in the program. The default value is None, and a new- Tensorwill be created to save the output.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. It’s dimension equals with x.
 Examples import paddle x = paddle.to_tensor([True, False], dtype="bool").reshape([2, 1]) y = paddle.to_tensor([True, False, True, False], dtype="bool").reshape([2, 2]) res = paddle.logical_xor(x, y) print(res) # Tensor(shape=[2, 2], dtype=bool, place=Place(cpu), stop_gradient=True, # [[False, True ], # [True , False]]) 
 - 
            
           logit
           (
           eps=None, 
           name=None
           )
           logit¶
- 
           This function generates a new tensor with the logit of the elements of input x. x is clamped to [eps, 1-eps] when eps is not zero. When eps is zero and x < 0 or x > 1, the function will yields NaN. \[logit(x) = ln(\frac{x}{1 - x})\]where \[\begin{split}x_i= \left\{\begin{array}{rcl} x_i & &\text{if } eps == Default \\ eps & &\text{if } x_i < eps \\ x_i & &\text{if } eps <= x_i <= 1-eps \\ 1-eps & &\text{if } x_i > 1-eps \end{array}\right.\end{split}\]- Parameters
- 
             - x (Tensor) – The input Tensor with data type float32, float64. 
- eps (float, optional) – the epsilon for input clamp bound. Default is None. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A Tensor with the same data type and shape as x.
- Return type
- 
             out(Tensor) 
 Examples import paddle x = paddle.to_tensor([0.2635, 0.0106, 0.2780, 0.2097, 0.8095]) out1 = paddle.logit(x) print(out1) # [-1.0277, -4.5365, -0.9544, -1.3269, 1.4468] 
 - 
            
           logsumexp
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           logsumexp¶
- 
           Calculates the log of the sum of exponentials of xalongaxis.\[logsumexp(x) = \log\sum exp(x)\]- Parameters
- 
             - x (Tensor) – The input Tensor with data type float32 or float64, which have no more than 4 dimensions. 
- axis (int|list|tuple, optional) – The axis along which to perform logsumexp calculations. - axisshould be int, list(int) or tuple(int). If- axisis a list/tuple of dimension(s), logsumexp is calculated along all element(s) of- axis.- axisor element(s) of- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisor element(s) of- axisis less than 0, it works the same way as \(axis + D\) . If- axisis None, logsumexp is calculated along all elements of- x. Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keep_dimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of logsumexp along axisofx, with the same data type asx.
 Examples: import paddle x = paddle.to_tensor([[-1.5, 0., 2.], [3., 1.2, -2.4]]) out1 = paddle.logsumexp(x) # [3.4691226] out2 = paddle.logsumexp(x, 1) # [2.15317821, 3.15684602] 
 - 
            
           lstsq
           (
           y, 
           rcond=None, 
           driver=None, 
           name=None
           )
           lstsq¶
- 
           Computes a solution to the least squares problem of a system of linear equations. - Parameters
- 
             - x (Tensor) – A tensor with shape - (*, M, N), the data type of the input Tensor- xshould be one of float32, float64.
- y (Tensor) – A tensor with shape - (*, M, K), the data type of the input Tensor- yshould be one of float32, float64.
- rcond (float, optional) – The default value is None. A float pointing number used to determine the effective rank of - x. If- rcondis None, it will be set to max(M, N) times the machine precision of x_dtype.
- driver (str, optional) – The default value is None. The name of LAPACK method to be used. For CPU inputs the valid values are ‘gels’, ‘gelsy’, ‘gelsd, ‘gelss’. For CUDA input, the only valid driver is ‘gels’. If - driveris None, ‘gelsy’ is used for CPU inputs and ‘gels’ for CUDA inputs.
- 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
- 
             A tuple of 4 Tensors which is ( solution,residuals,rank,singular_values).solutionis a tensor with shape(*, N, K), meaning the least squares solution.residualsis a tensor with shape(*, K), meaning the squared residuals of the solutions, which is computed when M > N and every matrix inxis full-rank, otherwise return an empty tensor.rankis a tensor with shape(*), meaning the ranks of the matrices inx, which is computed whendriverin (‘gelsy’, ‘gelsd’, ‘gelss’), otherwise return an empty tensor.singular_valuesis a tensor with shape(*, min(M, N)), meaning singular values of the matrices inx, which is computed whendriverin (‘gelsd’, ‘gelss’), otherwise return an empty tensor.
- Return type
- 
             Tuple 
 Examples import paddle paddle.set_device("cpu") x = paddle.to_tensor([[1, 3], [3, 2], [5, 6.]]) y = paddle.to_tensor([[3, 4, 6], [5, 3, 4], [1, 2, 1.]]) results = paddle.linalg.lstsq(x, y, driver="gelsd") print(results[0]) # [[ 0.78350395, -0.22165027, -0.62371236], # [-0.11340097, 0.78866047, 1.14948535]] print(results[1]) # [19.81443405, 10.43814468, 30.56185532]) print(results[2]) # 2 print(results[3]) # [9.03455734, 1.54167950] x = paddle.to_tensor([[10, 2, 3], [3, 10, 5], [5, 6, 12.]]) y = paddle.to_tensor([[4, 2, 9], [2, 0, 3], [2, 5, 3.]]) results = paddle.linalg.lstsq(x, y, driver="gels") print(results[0]) # [[ 0.39386186, 0.10230173, 0.93606132], # [ 0.10741687, -0.29028133, 0.11892585], # [-0.05115091, 0.51918161, -0.19948854]] print(results[1]) # [] 
 - 
            
           lu
           (
           pivot=True, 
           get_infos=False, 
           name=None
           )
           lu¶
- 
           Computes the LU factorization of an N-D(N>=2) matrix x. Returns the LU factorization(inplace x) and Pivots. low triangular matrix L and upper triangular matrix U are combined to a single LU matrix. Pivoting is done if pivot is set to True. P mat can be get by pivots: - Parameters
- 
             - X (Tensor) – the tensor to factor of N-dimensions(N>=2). 
- pivot (bool, optional) – controls whether pivoting is done. Default: True. 
- get_infos (bool, optional) – if set to True, returns an info IntTensor. Default: False. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             
             factorization (Tensor), LU matrix, the factorization of input X. pivots (IntTensor), the pivots of size(∗(N-2), min(m,n)). pivots stores all the intermediate transpositions of rows. The final permutation perm could be reconstructed by this, details refer to upper example. infos (IntTensor, optional), if get_infos is True, this is a tensor of size (∗(N-2)) where non-zero values indicate whether factorization for the matrix or each minibatch has succeeded or failed. 
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]).astype('float64') lu,p,info = paddle.linalg.lu(x, get_infos=True) # >>> lu: # Tensor(shape=[3, 2], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[5. , 6. ], # [0.20000000, 0.80000000], # [0.60000000, 0.50000000]]) # >>> p # Tensor(shape=[2], dtype=int32, place=CUDAPlace(0), stop_gradient=True, # [3, 3]) # >>> info # Tensor(shape=[], dtype=int32, place=CUDAPlace(0), stop_gradient=True, # 0) P,L,U = paddle.linalg.lu_unpack(lu,p) # >>> P # (Tensor(shape=[3, 3], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[0., 1., 0.], # [0., 0., 1.], # [1., 0., 0.]]), # >>> L # Tensor(shape=[3, 2], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[1. , 0. ], # [0.20000000, 1. ], # [0.60000000, 0.50000000]]), # >>> U # Tensor(shape=[2, 2], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[5. , 6. ], # [0. , 0.80000000]])) # one can verify : X = P @ L @ U ; 
 - 
            
           lu_unpack
           (
           y, 
           unpack_ludata=True, 
           unpack_pivots=True, 
           name=None
           )
           lu_unpack¶
- 
           Unpack L U and P to single matrix tensor . unpack L and U matrix from LU, unpack permutation matrix P from Pivtos . P mat can be get by pivots: - Parameters
- 
             - x (Tensor) – The LU tensor get from paddle.linalg.lu, which is combined by L and U. 
- y (Tensor) – Pivots get from paddle.linalg.lu. 
- unpack_ludata (bool,optional) – whether to unpack L and U from x. Default: True. 
- unpack_pivots (bool, optional) – whether to unpack permutation matrix P from Pivtos. Default: True. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             
             P (Tensor), Permutation matrix P of lu factorization. L (Tensor), The lower triangular matrix tensor of lu factorization. U (Tensor), The upper triangular matrix tensor of lu factorization. 
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]).astype('float64') lu,p,info = paddle.linalg.lu(x, get_infos=True) # >>> lu: # Tensor(shape=[3, 2], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[5. , 6. ], # [0.20000000, 0.80000000], # [0.60000000, 0.50000000]]) # >>> p # Tensor(shape=[2], dtype=int32, place=CUDAPlace(0), stop_gradient=True, # [3, 3]) # >>> info # Tensor(shape=[], dtype=int32, place=CUDAPlace(0), stop_gradient=True, # 0) P,L,U = paddle.linalg.lu_unpack(lu,p) # >>> P # (Tensor(shape=[3, 3], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[0., 1., 0.], # [0., 0., 1.], # [1., 0., 0.]]), # >>> L # Tensor(shape=[3, 2], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[1. , 0. ], # [0.20000000, 1. ], # [0.60000000, 0.50000000]]), # >>> U # Tensor(shape=[2, 2], dtype=float64, place=CUDAPlace(0), stop_gradient=True, # [[5. , 6. ], # [0. , 0.80000000]])) # one can verify : X = P @ L @ U ; 
 - 
            
           masked_select
           (
           mask, 
           name=None
           )
           masked_select¶
- 
           Returns a new 1-D tensor which indexes the input tensor according to the maskwhich is a tensor with data type of bool.- Parameters
- 
             - x (Tensor) – The input Tensor, the data type can be int32, int64, float32, float64. 
- mask (Tensor) – The Tensor containing the binary mask to index with, it’s data type is bool. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             A 1-D Tensor which is the same data type as x.
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0], [9.0, 10.0, 11.0, 12.0]]) mask = paddle.to_tensor([[True, False, False, False], [True, True, False, False], [True, False, False, False]]) out = paddle.masked_select(x, mask) #[1.0 5.0 6.0 9.0] 
 - 
            
           matmul
           (
           y, 
           transpose_x=False, 
           transpose_y=False, 
           name=None
           )
           matmul¶
- 
           Applies matrix multiplication to two tensors. matmul follows the complete broadcast rules, and its behavior is consistent with np.matmul. Currently, the input tensors’ number of dimensions can be any, matmul can be used to achieve the dot, matmul and batchmatmul. The actual behavior depends on the shapes of \(x\), \(y\) and the flag values of transpose_x,transpose_y. Specifically:- If a transpose flag is specified, the last two dimensions of the tensor are transposed. If the tensor is ndim-1 of shape, the transpose is invalid. If the tensor is ndim-1 of shape \([D]\), then for \(x\) it is treated as \([1, D]\), whereas for \(y\) it is the opposite: It is treated as \([D, 1]\). 
 The multiplication behavior depends on the dimensions of x and y. Specifically: - If both tensors are 1-dimensional, the dot product result is obtained. 
- If both tensors are 2-dimensional, the matrix-matrix product is obtained. 
- If the x is 1-dimensional and the y is 2-dimensional, a 1 is prepended to its dimension in order to conduct the matrix multiply. After the matrix multiply, the prepended dimension is removed. 
- If the x is 2-dimensional and y is 1-dimensional, the matrix-vector product is obtained. 
- If both arguments are at least 1-dimensional and at least one argument is N-dimensional (where N > 2), then a batched matrix multiply is obtained. If the first argument is 1-dimensional, a 1 is prepended to its dimension in order to conduct the batched matrix multiply and removed after. If the second argument is 1-dimensional, a 1 is appended to its dimension for the purpose of the batched matrix multiple and removed after. The non-matrix (exclude the last two dimensions) dimensions are broadcasted according the broadcast rule. For example, if input is a (j, 1, n, m) tensor and the other is a (k, m, p) tensor, out will be a (j, k, n, p) tensor. 
 - Parameters
- 
             - x (Tensor) – The input tensor which is a Tensor. 
- y (Tensor) – The input tensor which is a Tensor. 
- transpose_x (bool) – Whether to transpose \(x\) before multiplication. 
- transpose_y (bool) – Whether to transpose \(y\) before multiplication. 
- name (str|None) – A name for this layer(optional). If set None, the layer will be named automatically. 
 
- Returns
- 
             The output Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle # vector * vector x = paddle.rand([10]) y = paddle.rand([10]) z = paddle.matmul(x, y) print(z.shape) # [1] # matrix * vector x = paddle.rand([10, 5]) y = paddle.rand([5]) z = paddle.matmul(x, y) print(z.shape) # [10] # batched matrix * broadcasted vector x = paddle.rand([10, 5, 2]) y = paddle.rand([2]) z = paddle.matmul(x, y) print(z.shape) # [10, 5] # batched matrix * batched matrix x = paddle.rand([10, 5, 2]) y = paddle.rand([10, 2, 5]) z = paddle.matmul(x, y) print(z.shape) # [10, 5, 5] # batched matrix * broadcasted matrix x = paddle.rand([10, 1, 5, 2]) y = paddle.rand([1, 3, 2, 5]) z = paddle.matmul(x, y) print(z.shape) # [10, 3, 5, 5] 
 - 
            
           matrix_power
           (
           n, 
           name=None
           )
           matrix_power¶
- 
           Computes the n-th power of a square matrix or a batch of square matrices. Let \(X\) be a sqaure matrix or a batch of square matrices, \(n\) be an exponent, the equation should be: \[Out = X ^ {n}\]Specifically, - If n > 0, it returns the matrix or a batch of matrices raised to the power of n. 
- If n = 0, it returns the identity matrix or a batch of identity matrices. 
- If n < 0, it returns the inverse of each matrix (if invertible) raised to the power of abs(n). 
 - Parameters
- 
             - x (Tensor) – A square matrix or a batch of square matrices to be raised to power n. Its shape should be [*, M, M], where * is zero or more batch dimensions. Its data type should be float32 or float64. 
- n (int) – The exponent. It can be any positive, negative integer or zero. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             
             - Tensor, The n-th power of the matrix (or the batch of matrices) x. Its data type should be the same as that of x. 
 
 Examples import paddle x = paddle.to_tensor([[1, 2, 3], [1, 4, 9], [1, 8, 27]], dtype='float64') print(paddle.linalg.matrix_power(x, 2)) # [[6. , 34. , 102.], # [14. , 90. , 282.], # [36. , 250., 804.]] print(paddle.linalg.matrix_power(x, 0)) # [[1., 0., 0.], # [0., 1., 0.], # [0., 0., 1.]] print(paddle.linalg.matrix_power(x, -2)) # [[ 12.91666667, -12.75000000, 2.83333333 ], # [-7.66666667 , 8. , -1.83333333 ], # [ 1.80555556 , -1.91666667 , 0.44444444 ]] 
 - 
            
           max
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           max¶
- 
           Computes the maximum of tensor elements over the given axis. Note The difference between max and amax is: If there are multiple maximum elements, amax evenly distributes gradient between these equal values, while max propagates gradient to all of them. - Parameters
- 
             - x (Tensor) – A tensor, the data type is float32, float64, int32, int64. 
- axis (int|list|tuple, optional) – The axis along which the maximum is computed. If - None, compute the maximum over all elements of x and return a Tensor with a single element, otherwise must be in the range \([-x.ndim(x), x.ndim(x))\). If \(axis[i] < 0\), the axis to reduce is \(x.ndim + axis[i]\).
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have one fewer dimension than the x unless - keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of maximum on the specified axis of input tensor, it’s data type is the same as x. 
 Examples import paddle # data_x is a Tensor with shape [2, 4] # the axis is a int element x = paddle.to_tensor([[0.2, 0.3, 0.5, 0.9], [0.1, 0.2, 0.6, 0.7]], dtype='float64', stop_gradient=False) result1 = paddle.max(x) result1.backward() print(result1, x.grad) #[0.9], [[0., 0., 0., 1.], [0., 0., 0., 0.]] x.clear_grad() result2 = paddle.max(x, axis=0) result2.backward() print(result2, x.grad) #[0.2, 0.3, 0.6, 0.9], [[1., 1., 0., 1.], [0., 0., 1., 0.]] x.clear_grad() result3 = paddle.max(x, axis=-1) result3.backward() print(result3, x.grad) #[0.9, 0.7], [[0., 0., 0., 1.], [0., 0., 0., 1.]] x.clear_grad() result4 = paddle.max(x, axis=1, keepdim=True) result4.backward() print(result4, x.grad) #[[0.9], [0.7]], [[0., 0., 0., 1.], [0., 0., 0., 1.]] # data_y is a Tensor with shape [2, 2, 2] # the axis is list y = paddle.to_tensor([[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]], dtype='float64', stop_gradient=False) result5 = paddle.max(y, axis=[1, 2]) result5.backward() print(result5, y.grad) #[4., 8.], [[[0., 0.], [0., 1.]], [[0., 0.], [0., 1.]]] y.clear_grad() result6 = paddle.max(y, axis=[0, 1]) result6.backward() print(result6, y.grad) #[7., 8.], [[[0., 0.], [0., 0.]], [[0., 0.], [1., 1.]]] 
 - 
            
           maximum
           (
           y, 
           name=None
           )
           maximum¶
- 
           Compare two tensors and returns a new tensor containing the element-wise maxima. The equation is: \[out = max(x, y)\]Note paddle.maximumsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([[1, 2], [7, 8]]) y = paddle.to_tensor([[3, 4], [5, 6]]) res = paddle.maximum(x, y) print(res) # Tensor(shape=[2, 2], dtype=int64, place=Place(cpu), stop_gradient=True, # [[3, 4], # [7, 8]]) x = paddle.to_tensor([[1, 2, 3], [1, 2, 3]]) y = paddle.to_tensor([3, 0, 4]) res = paddle.maximum(x, y) print(res) # Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[3, 2, 4], # [3, 2, 4]]) x = paddle.to_tensor([2, 3, 5], dtype='float32') y = paddle.to_tensor([1, float("nan"), float("nan")], dtype='float32') res = paddle.maximum(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [2. , nan, nan]) x = paddle.to_tensor([5, 3, float("inf")], dtype='float32') y = paddle.to_tensor([1, -float("inf"), 5], dtype='float32') res = paddle.maximum(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [5. , 3. , inf.]) 
 - 
            
           mean
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           mean¶
- 
           Computes the mean of the input tensor’s elements along axis.- Parameters
- 
             - x (Tensor) – The input Tensor with data type float32, float64. 
- axis (int|list|tuple, optional) – The axis along which to perform mean calculations. - axisshould be int, list(int) or tuple(int). If- axisis a list/tuple of dimension(s), mean is calculated along all element(s) of- axis.- axisor element(s) of- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisor element(s) of- axisis less than 0, it works the same way as \(axis + D\) . If- axisis None, mean is calculated over all elements of- x. Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keepdimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of average along axisofx, with the same data type asx.
 Examples import paddle x = paddle.to_tensor([[[1., 2., 3., 4.], [5., 6., 7., 8.], [9., 10., 11., 12.]], [[13., 14., 15., 16.], [17., 18., 19., 20.], [21., 22., 23., 24.]]]) out1 = paddle.mean(x) # [12.5] out2 = paddle.mean(x, axis=-1) # [[ 2.5 6.5 10.5] # [14.5 18.5 22.5]] out3 = paddle.mean(x, axis=-1, keepdim=True) # [[[ 2.5] # [ 6.5] # [10.5]] # [[14.5] # [18.5] # [22.5]]] out4 = paddle.mean(x, axis=[0, 2]) # [ 8.5 12.5 16.5] 
 - 
            
           median
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           median¶
- 
           Compute the median along the specified axis. - Parameters
- 
             - x (Tensor) – The input Tensor, it’s data type can be bool, float16, float32, float64, int32, int64. 
- axis (int, optional) – The axis along which to perform median calculations - axisshould be int.- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisis less than 0, it works the same way as \(axis + D\). If- axisis None, median is calculated over all elements of- x. Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keepdimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of median along axisofx. If data type ofxis float64, data type of results will be float64, otherwise data type will be float32.
 Examples import paddle x = paddle.arange(12).reshape([3, 4]) # Tensor(shape=[3, 4], dtype=int64, place=Place(cpu), stop_gradient=True, # [[0 , 1 , 2 , 3 ], # [4 , 5 , 6 , 7 ], # [8 , 9 , 10, 11]]) y1 = paddle.median(x) # Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, # [5.50000000]) y2 = paddle.median(x, axis=0) # Tensor(shape=[4], dtype=float32, place=Place(cpu), stop_gradient=True, # [4., 5., 6., 7.]) y3 = paddle.median(x, axis=1) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [1.50000000, 5.50000000, 9.50000000]) y4 = paddle.median(x, axis=0, keepdim=True) # Tensor(shape=[1, 4], dtype=float32, place=Place(cpu), stop_gradient=True, # [[4., 5., 6., 7.]]) 
 - 
            
           min
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           min¶
- 
           Computes the minimum of tensor elements over the given axis Note The difference between min and amin is: If there are multiple minimum elements, amin evenly distributes gradient between these equal values, while min propagates gradient to all of them. - Parameters
- 
             - x (Tensor) – A tensor, the data type is float32, float64, int32, int64. 
- axis (int|list|tuple, optional) – The axis along which the minimum is computed. If - None, compute the minimum over all elements of x and return a Tensor with a single element, otherwise must be in the range \([-x.ndim, x.ndim)\). If \(axis[i] < 0\), the axis to reduce is \(x.ndim + axis[i]\).
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have one fewer dimension than the x unless - keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of minimum on the specified axis of input tensor, it’s data type is the same as input’s Tensor. 
 Examples import paddle # data_x is a Tensor with shape [2, 4] # the axis is a int element x = paddle.to_tensor([[0.2, 0.3, 0.5, 0.9], [0.1, 0.2, 0.6, 0.7]], dtype='float64', stop_gradient=False) result1 = paddle.min(x) result1.backward() print(result1, x.grad) #[0.1], [[0., 0., 0., 0.], [1., 0., 0., 0.]] x.clear_grad() result2 = paddle.min(x, axis=0) result2.backward() print(result2, x.grad) #[0.1, 0.2, 0.5, 0.7], [[0., 0., 1., 0.], [1., 1., 0., 1.]] x.clear_grad() result3 = paddle.min(x, axis=-1) result3.backward() print(result3, x.grad) #[0.2, 0.1], [[1., 0., 0., 0.], [1., 0., 0., 0.]] x.clear_grad() result4 = paddle.min(x, axis=1, keepdim=True) result4.backward() print(result4, x.grad) #[[0.2], [0.1]], [[1., 0., 0., 0.], [1., 0., 0., 0.]] # data_y is a Tensor with shape [2, 2, 2] # the axis is list y = paddle.to_tensor([[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]], dtype='float64', stop_gradient=False) result5 = paddle.min(y, axis=[1, 2]) result5.backward() print(result5, y.grad) #[1., 5.], [[[1., 0.], [0., 0.]], [[1., 0.], [0., 0.]]] y.clear_grad() result6 = paddle.min(y, axis=[0, 1]) result6.backward() print(result6, y.grad) #[1., 2.], [[[1., 1.], [0., 0.]], [[0., 0.], [0., 0.]]] 
 - 
            
           minimum
           (
           y, 
           name=None
           )
           minimum¶
- 
           Compare two tensors and return a new tensor containing the element-wise minima. The equation is: \[out = min(x, y)\]Note paddle.minimumsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([[1, 2], [7, 8]]) y = paddle.to_tensor([[3, 4], [5, 6]]) res = paddle.minimum(x, y) print(res) # Tensor(shape=[2, 2], dtype=int64, place=Place(cpu), stop_gradient=True, # [[1, 2], # [5, 6]]) x = paddle.to_tensor([[[1, 2, 3], [1, 2, 3]]]) y = paddle.to_tensor([3, 0, 4]) res = paddle.minimum(x, y) print(res) # Tensor(shape=[1, 2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[[1, 0, 3], # [1, 0, 3]]]) x = paddle.to_tensor([2, 3, 5], dtype='float32') y = paddle.to_tensor([1, float("nan"), float("nan")], dtype='float32') res = paddle.minimum(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [1. , nan, nan]) x = paddle.to_tensor([5, 3, float("inf")], dtype='float64') y = paddle.to_tensor([1, -float("inf"), 5], dtype='float64') res = paddle.minimum(x, y) print(res) # Tensor(shape=[3], dtype=float64, place=Place(cpu), stop_gradient=True, # [ 1. , -inf., 5. ]) 
 - 
            
           mm
           (
           mat2, 
           name=None
           )
           mm¶
- 
           Applies matrix multiplication to two tensors. Currently, the input tensors’ rank can be any, but when the rank of any inputs is bigger than 3, this two inputs’ rank should be equal. Also note that if the raw tensor \(x\) or \(mat2\) is rank-1 and nontransposed, the prepended or appended dimension \(1\) will be removed after matrix multiplication. - Parameters
- 
             - input (Tensor) – The input tensor which is a Tensor. 
- mat2 (Tensor) – The input tensor which is a Tensor. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The product Tensor. 
- Return type
- 
             Tensor 
 * example 1: input: [B, ..., M, K], mat2: [B, ..., K, N] out: [B, ..., M, N] * example 2: input: [B, M, K], mat2: [B, K, N] out: [B, M, N] * example 3: input: [B, M, K], mat2: [K, N] out: [B, M, N] * example 4: input: [M, K], mat2: [K, N] out: [M, N] * example 5: input: [B, M, K], mat2: [K] out: [B, M] * example 6: input: [K], mat2: [K] out: [1] Examples import paddle input = paddle.arange(1, 7).reshape((3, 2)).astype('float32') mat2 = paddle.arange(1, 9).reshape((2, 4)).astype('float32') out = paddle.mm(input, mat2) print(out) # [[11., 14., 17., 20.], # [23., 30., 37., 44.], # [35., 46., 57., 68.]]) 
 - 
            
           mod
           (
           y, 
           name=None
           )
           mod¶
- 
           Mod two tensors element-wise. The equation is: \[out = x \% y\]Note paddle.remaindersupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([2, 3, 8, 7]) y = paddle.to_tensor([1, 5, 3, 3]) z = paddle.remainder(x, y) print(z) # [0, 3, 2, 1] 
 - 
            
           mode
           (
           axis=- 1, 
           keepdim=False, 
           name=None
           )
           mode¶
- 
           Used to find values and indices of the modes at the optional axis. - Parameters
- 
             - x (Tensor) – Tensor, an input N-D Tensor with type float32, float64, int32, int64. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is x.ndim. when axis < 0, it works the same way as axis + R. Default is -1. 
- keepdim (bool, optional) – Whether to keep the given axis in output. If it is True, the dimensions will be same as input x and with size one in the axis. Otherwise the output dimentions is one fewer than x since the axis is squeezed. Default is False. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             tuple(Tensor), return the values and indices. The value data type is the same as the input x. The indices data type is int64. 
 Examples import paddle tensor = paddle.to_tensor([[[1,2,2],[2,3,3]],[[0,5,5],[9,9,0]]], dtype=paddle.float32) res = paddle.mode(tensor, 2) print(res) # (Tensor(shape=[2, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[2., 3.], # [5., 9.]]), Tensor(shape=[2, 2], dtype=int64, place=CUDAPlace(0), stop_gradient=True, # [[1, 1], # [1, 0]])) 
 - 
            
           moveaxis
           (
           source, 
           destination, 
           name=None
           )
           moveaxis¶
- 
           Move the axis of tensor from sourceposition todestinationposition.Other axis that have not been moved remain their original order. - Parameters
- 
             - x (Tensor) – The input Tensor. It is a N-D Tensor of data types bool, int32, int64, float32, float64, complex64, complex128. 
- source (int|tuple|list) – - sourceposition of axis that will be moved. Each element must be unique and integer.
- destination (int|tuple|list(int)) – - destinationposition of axis that has been moved. Each element must be unique and integer.
- 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
- 
             A new tensor whose axis have been moved. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.ones([3, 2, 4]) paddle.moveaxis(x, [0, 1], [1, 2]).shape # [4, 3, 2] x = paddle.ones([2, 3]) paddle.moveaxis(x, 0, 1).shape # equivalent to paddle.t(x) # [3, 2] 
 - 
            
           multi_dot
           (
           name=None
           )
           multi_dot¶
- 
           Multi_dot is an operator that calculates multiple matrix multiplications. Supports inputs of float16(only GPU support), float32 and float64 dtypes. This function does not support batched inputs. The input tensor in [x] must be 2-D except for the first and last can be 1-D. If the first tensor is a 1-D vector of shape(n, ) it is treated as row vector of shape(1, n), similarly if the last tensor is a 1D vector of shape(n, ), it is treated as a column vector of shape(n, 1). If the first and last tensor are 2-D matrix, then the output is also 2-D matrix, otherwise the output is a 1-D vector. Multi_dot will select the lowest cost multiplication order for calculation. The cost of multiplying two matrices with shapes (a, b) and (b, c) is a * b * c. Given matrices A, B, C with shapes (20, 5), (5, 100), (100, 10) respectively, we can calculate the cost of different multiplication orders as follows: - Cost((AB)C) = 20x5x100 + 20x100x10 = 30000 - Cost(A(BC)) = 5x100x10 + 20x5x10 = 6000 In this case, multiplying B and C first, then multiply A, which is 5 times faster than sequential calculation. - Parameters
- 
             - x ([Tensor]) – The input tensors which is a list Tensor. 
- name (str|None) – A name for this layer(optional). If set None, the layer will be named automatically. 
 
- Returns
- 
             The output Tensor. 
- Return type
- 
             Tensor 
 Examples: import paddle # A * B A = paddle.rand([3, 4]) B = paddle.rand([4, 5]) out = paddle.linalg.multi_dot([A, B]) print(out.shape) # [3, 5] # A * B * C A = paddle.rand([10, 5]) B = paddle.rand([5, 8]) C = paddle.rand([8, 7]) out = paddle.linalg.multi_dot([A, B, C]) print(out.shape) # [10, 7] 
 - 
            
           multiplex
           (
           index, 
           name=None
           )
           multiplex¶
- 
           Based on the given index parameter, the OP selects a specific row from each input Tensor to construct the output Tensor. If the input of this OP contains \(m\) Tensors, where \(I_{i}\) means the i-th input Tensor, \(i\) between \([0,m)\) . And \(O\) means the output, where \(O[i]\) means the i-th row of the output, then the output satisfies that \(O[i] = I_{index[i]}[i]\) . For Example: Given: inputs = [[[0,0,3,4], [0,1,3,4], [0,2,4,4], [0,3,3,4]], [[1,0,3,4], [1,1,7,8], [1,2,4,2], [1,3,3,4]], [[2,0,3,4], [2,1,7,8], [2,2,4,2], [2,3,3,4]], [[3,0,3,4], [3,1,7,8], [3,2,4,2], [3,3,3,4]]] index = [[3],[0],[1],[2]] out = [[3,0,3,4], # out[0] = inputs[index[0]][0] = inputs[3][0] = [3,0,3,4] [0,1,3,4], # out[1] = inputs[index[1]][1] = inputs[0][1] = [0,1,3,4] [1,2,4,2], # out[2] = inputs[index[2]][2] = inputs[1][2] = [1,2,4,2] [2,3,3,4]] # out[3] = inputs[index[3]][3] = inputs[2][3] = [2,3,3,4]- Parameters
- 
             - inputs (list) – The input Tensor list. The list elements are N-D Tensors of data types float32, float64, int32, int64. All input Tensor shapes should be the same and rank must be at least 2. 
- index (Tensor) – Used to select some rows in the input Tensor to construct an index of the output Tensor. It is a 2-D Tensor with data type int32 or int64 and shape [M, 1], where M is the number of input Tensors. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of multiplex OP, with data type being float32, float64, int32, int64. 
- Return type
- 
             Tensor 
 Examples import paddle img1 = paddle.to_tensor([[1, 2], [3, 4]], dtype=paddle.float32) img2 = paddle.to_tensor([[5, 6], [7, 8]], dtype=paddle.float32) inputs = [img1, img2] index = paddle.to_tensor([[1], [0]], dtype=paddle.int32) res = paddle.multiplex(inputs, index) print(res) # Tensor([[5., 6.], [3., 4.]], dtype=float32) 
 - 
            
           multiply
           (
           y, 
           name=None
           )
           multiply¶
- 
           multiply two tensors element-wise. The equation is: \[out = x * y\]Note paddle.multiplysupports broadcasting. If you would like to know more about broadcasting, please refer to user_guide_broadcasting.- Parameters
- 
             - x (Tensor) – the input tensor, its data type should be one of float32, float64, int32, int64, bool. 
- y (Tensor) – the input tensor, its data type should be one of float32, float64, int32, int64, bool. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([[1, 2], [3, 4]]) y = paddle.to_tensor([[5, 6], [7, 8]]) res = paddle.multiply(x, y) print(res) # [[5, 12], [21, 32]] x = paddle.to_tensor([[[1, 2, 3], [1, 2, 3]]]) y = paddle.to_tensor([2]) res = paddle.multiply(x, y) print(res) # [[[2, 4, 6], [2, 4, 6]]] 
 - 
            
           mv
           (
           vec, 
           name=None
           )
           mv¶
- 
           Performs a matrix-vector product of the matrix x and the vector vec. - Parameters
- 
             - x (Tensor) – A tensor with shape \([M, N]\) , The data type of the input Tensor x should be one of float32, float64. 
- vec (Tensor) – A tensor with shape \([N]\) , The data type of the input Tensor x should be one of float32, float64. 
- 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
- 
             The tensor which is producted by x and vec. 
- Return type
- 
             Tensor 
 Examples # x: [M, N], vec: [N] # paddle.mv(x, vec) # out: [M] import paddle x = paddle.to_tensor([[2, 1, 3], [3, 0, 1]]).astype("float64") vec = paddle.to_tensor([3, 5, 1]).astype("float64") out = paddle.mv(x, vec) print(out) # Tensor(shape=[2], dtype=float64, place=Place(cpu), stop_gradient=True, # [14., 10.]) 
 - 
            
           nanmean
           (
           axis=None, 
           keepdim=False, 
           name=None
           )
           nanmean¶
- 
           Compute the arithmetic mean along the specified axis, ignoring NaNs. - Parameters
- 
             - x (Tensor) – The input Tensor with data type uint16, float16, float32, float64. 
- axis (int|list|tuple, optional) – The axis along which to perform nanmean calculations. - axisshould be int, list(int) or tuple(int). If- axisis a list/tuple of dimension(s), nanmean is calculated along all element(s) of- axis.- axisor element(s) of- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisor element(s) of- axisis less than 0, it works the same way as \(axis + D\) . If- axisis None, nanmean is calculated over all elements of- x. Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keepdimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of arithmetic mean along axisofx, with the same data type asx.
 Examples import paddle # x is a 2-D Tensor: x = paddle.to_tensor([[float('nan'), 0.3, 0.5, 0.9], [0.1, 0.2, float('-nan'), 0.7]]) out1 = paddle.nanmean(x) # [0.44999996] out2 = paddle.nanmean(x, axis=0) # [0.1, 0.25, 0.5, 0.79999995] out3 = paddle.nanmean(x, axis=0, keepdim=True) # [[0.1, 0.25, 0.5, 0.79999995]] out4 = paddle.nanmean(x, axis=1) # [0.56666666 0.33333334] out5 = paddle.nanmean(x, axis=1, keepdim=True) # [[0.56666666] # [0.33333334]] # y is a 3-D Tensor: y = paddle.to_tensor([[[1, float('nan')], [3, 4]], [[5, 6], [float('-nan'), 8]]]) out6 = paddle.nanmean(y, axis=[1, 2]) # [2.66666675, 6.33333349] out7 = paddle.nanmean(y, axis=[0, 1]) # [3., 6.] 
 - 
            
           nanmedian
           (
           axis=None, 
           keepdim=True, 
           name=None
           )
           nanmedian¶
- 
           Compute the median along the specified axis, while ignoring NaNs. If the valid count of elements is a even number, the average value of both elements in the middle is calculated as the median. - Parameters
- 
             - x (Tensor) – The input Tensor, it’s data type can be int32, int64, float16, float32, float64. 
- axis (None|int|list|tuple, optional) – The axis along which to perform median calculations - axisshould be int or list of int.- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisis less than 0, it works the same way as \(axis + D\). If- axisis None, median is calculated over all elements of- x. Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keepdimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is True.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of median along axisofx. The output dtype is the same as x.
 Examples import paddle x = paddle.to_tensor([[float('nan'), 2. , 3. ], [0. , 1. , 2. ]]) y1 = x.nanmedian() # y1 is [[2.]] y2 = x.nanmedian(0) # y2 is [[0., 1.5, 2.5]] y3 = x.nanmedian(0, keepdim=False) # y3 is [0., 1.5, 2.5] y4 = x.nanmedian((0, 1)) # y4 is [[2.]] 
 - 
            
           nanquantile
           (
           q, 
           axis=None, 
           keepdim=False
           )
           nanquantile¶
- 
           Compute the quantile of the input as if NaN values in input did not exist. If all values in a reduced row are NaN, then the quantiles for that reduction will be NaN. - Parameters
- 
             - x (Tensor) – The input Tensor, it’s data type can be float32, float64, int32, int64. 
- q (int|float|list) – The q for calculate quantile, which should be in range [0, 1]. If q is a list, each q will be calculated and the first dimension of output is same to the number of - q.
- axis (int|list, optional) – The axis along which to calculate quantile. - axisshould be int or list of int.- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisis less than 0, it works the same way as \(axis + D\). If- axisis a list, quantile is calculated over all elements of given axises. If- axisis None, quantile is calculated over all elements of- x. Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keepdimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of quantile along axisofx. In order to obtain higher precision, data type of results will be float64.
 Examples import paddle x = paddle.to_tensor( [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]], dtype="float32") x[0,0] = float("nan") y1 = paddle.nanquantile(x, q=0.5, axis=[0, 1]) # Tensor(shape=[], dtype=float64, place=Place(cpu), stop_gradient=True, # 5.) y2 = paddle.nanquantile(x, q=0.5, axis=1) # Tensor(shape=[2], dtype=float64, place=Place(cpu), stop_gradient=True, # [2.50000000, 7. ]) y3 = paddle.nanquantile(x, q=[0.3, 0.5], axis=0) # Tensor(shape=[2, 5], dtype=float64, place=Place(cpu), stop_gradient=True, # [[5. , 2.50000000, 3.50000000, 4.50000000, 5.50000000], # [5. , 3.50000000, 4.50000000, 5.50000000, 6.50000000]]) y4 = paddle.nanquantile(x, q=0.8, axis=1, keepdim=True) # Tensor(shape=[2, 1], dtype=float64, place=Place(cpu), stop_gradient=True, # [[3.40000000], # [8.20000000]]) nan = paddle.full(shape=[2, 3], fill_value=float("nan")) y5 = paddle.nanquantile(nan, q=0.8, axis=1, keepdim=True) # Tensor(shape=[2, 1], dtype=float64, place=Place(cpu), stop_gradient=True, # [[nan], # [nan]]) 
 - 
            
           nansum
           (
           axis=None, 
           dtype=None, 
           keepdim=False, 
           name=None
           )
           nansum¶
- 
           Computes the sum of tensor elements over the given axis, treating Not a Numbers (NaNs) as zero. - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is float32, float64, int32 or int64. 
- axis (int|list|tuple, optional) – The dimensions along which the nansum is performed. If - None, nansum all elements of- xand return a Tensor with a single element, otherwise must be in the range \([-rank(x), rank(x))\). If \(axis[i] < 0\), the dimension to reduce is \(rank + axis[i]\).
- dtype (str, optional) – The dtype of output Tensor. The default value is None, the dtype of output is the same as input Tensor x. 
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result Tensor will have one fewer dimension than the - xunless- keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Results of summation operation on the specified axis of input Tensor x, 
- Return type
- 
             Tensor 
 Examples import paddle # x is a Tensor with following elements: # [[nan, 0.3, 0.5, 0.9] # [0.1, 0.2, -nan, 0.7]] # Each example is followed by the corresponding output tensor. x = paddle.to_tensor([[float('nan'), 0.3, 0.5, 0.9], [0.1, 0.2, float('-nan'), 0.7]],dtype="float32") out1 = paddle.nansum(x) # [2.7] out2 = paddle.nansum(x, axis=0) # [0.1, 0.5, 0.5, 1.6] out3 = paddle.nansum(x, axis=-1) # [1.7, 1.0] out4 = paddle.nansum(x, axis=1, keepdim=True) # [[1.7], [1.0]] # y is a Tensor with shape [2, 2, 2] and elements as below: # [[[1, nan], [3, 4]], # [[5, 6], [-nan, 8]]] # Each example is followed by the corresponding output tensor. y = paddle.to_tensor([[[1, float('nan')], [3, 4]], [[5, 6], [float('-nan'), 8]]]) out5 = paddle.nansum(y, axis=[1, 2]) # [8, 19] out6 = paddle.nansum(y, axis=[0, 1]) # [9, 18] 
 - property ndim
- 
           Returns the dimension of current Variable - Returns
- 
             the dimension 
 Examples import paddle paddle.enable_static() # create a static Variable x = paddle.static.data(name='x', shape=[3, 2, 1]) # print the dimension of the Variable print(x.ndim) 
 - 
            
           neg
           (
           name=None
           )
           neg¶
- 
           This function computes the negative of the Tensor elementwisely. - Parameters
- 
             - x (Tensor) – Input of neg operator, an N-D Tensor, with data type float32, float64, int8, int16, int32, or int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The negative of input Tensor. The shape and data type are the same with input Tensor. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.neg(x) print(out) # [0.4 0.2 -0.1 -0.3] 
 - 
            
           nonzero
           (
           as_tuple=False
           )
           nonzero¶
- 
           Return a tensor containing the indices of all non-zero elements of the input tensor. If as_tuple is True, return a tuple of 1-D tensors, one for each dimension in input, each containing the indices (in that dimension) of all non-zero elements of input. Given a n-Dimensional input tensor with shape [x_1, x_2, …, x_n], If as_tuple is False, we can get a output tensor with shape [z, n], where z is the number of all non-zero elements in the input tensor. If as_tuple is True, we can get a 1-D tensor tuple of length n, and the shape of each 1-D tensor is [z, 1]. - Parameters
- 
             - x (Tensor) – The input tensor variable. 
- as_tuple (bool) – Return type, Tensor or tuple of Tensor. 
 
- Returns
- 
             Tensor. The data type is int64. 
 Examples import paddle x1 = paddle.to_tensor([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 3.0]]) x2 = paddle.to_tensor([0.0, 1.0, 0.0, 3.0]) out_z1 = paddle.nonzero(x1) print(out_z1) #[[0 0] # [1 1] # [2 2]] out_z1_tuple = paddle.nonzero(x1, as_tuple=True) for out in out_z1_tuple: print(out) #[[0] # [1] # [2]] #[[0] # [1] # [2]] out_z2 = paddle.nonzero(x2) print(out_z2) #[[1] # [3]] out_z2_tuple = paddle.nonzero(x2, as_tuple=True) for out in out_z2_tuple: print(out) #[[1] # [3]] 
 - 
            
           norm
           (
           p='fro', 
           axis=None, 
           keepdim=False, 
           name=None
           )
           norm¶
- 
           Returns the matrix norm (Frobenius) or vector norm (the 1-norm, the Euclidean or 2-norm, and in general the p-norm for p > 0) of a given tensor. Note This norm API is different from numpy.linalg.norm. This api supports high-order input tensors (rank >= 3), and certain axis need to be pointed out to calculate the norm. But numpy.linalg.norm only supports 1-D vector or 2-D matrix as input tensor. For p-order matrix norm, this api actually treats matrix as a flattened vector to calculate the vector norm, NOT REAL MATRIX NORM. - Parameters
- 
             - x (Tensor) – The input tensor could be N-D tensor, and the input data type could be float32 or float64. 
- p (float|string, optional) – Order of the norm. Supported values are fro, 0, 1, 2, inf, -inf and any positive real number yielding the corresponding p-norm. Not supported: ord < 0 and nuclear norm. Default value is fro. 
- axis (int|list|tuple, optional) – The axis on which to apply norm operation. If axis is int or list(int)/tuple(int) with only one element, the vector norm is computed over the axis. If axis < 0, the dimension to norm operation is rank(input) + axis. If axis is a list(int)/tuple(int) with two elements, the matrix norm is computed over the axis. Default value is None. 
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have fewer dimension than the - inputunless- keepdimis true, default value is False.
- 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
- 
             results of norm operation on the specified axis of input tensor, it’s data type is the same as input’s Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.arange(24, dtype="float32").reshape([2, 3, 4]) - 12 # x: Tensor(shape=[2, 3, 4], dtype=float32, place=Place(cpu), stop_gradient=True, # [[[-12., -11., -10., -9. ], # [-8. , -7. , -6. , -5. ], # [-4. , -3. , -2. , -1. ]], # [[ 0. , 1. , 2. , 3. ], # [ 4. , 5. , 6. , 7. ], # [ 8. , 9. , 10., 11.]]]) # compute frobenius norm along last two dimensions. out_fro = paddle.linalg.norm(x, p='fro', axis=[0,1]) # out_fro: Tensor(shape=[4], dtype=float32, place=Place(cpu), stop_gradient=True, # [17.43559647, 16.91153526, 16.73320007, 16.91153526]) # compute 2-order vector norm along last dimension. out_pnorm = paddle.linalg.norm(x, p=2, axis=-1) # out_pnorm: Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True, # [[21.11871147, 13.19090557, 5.47722578 ], # [3.74165750 , 11.22497177, 19.13112640]]) # compute 2-order norm along [0,1] dimension. out_pnorm = paddle.linalg.norm(x, p=2, axis=[0,1]) # out_pnorm: Tensor(shape=[4], dtype=float32, place=Place(cpu), stop_gradient=True, # [17.43559647, 16.91153526, 16.73320007, 16.91153526]) # compute inf-order norm out_pnorm = paddle.linalg.norm(x, p=float("inf")) # out_pnorm = Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, # [12.]) out_pnorm = paddle.linalg.norm(x, p=float("inf"), axis=0) # out_pnorm: Tensor(shape=[3, 4], dtype=float32, place=Place(cpu), stop_gradient=True, # [[12., 11., 10., 9. ], # [8. , 7. , 6. , 7. ], # [8. , 9. , 10., 11.]]) # compute -inf-order norm out_pnorm = paddle.linalg.norm(x, p=-float("inf")) # out_pnorm: Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, # [0.]) out_pnorm = paddle.linalg.norm(x, p=-float("inf"), axis=0) # out_pnorm: Tensor(shape=[3, 4], dtype=float32, place=Place(cpu), stop_gradient=True, # [[0., 1., 2., 3.], # [4., 5., 6., 5.], # [4., 3., 2., 1.]]) 
 - 
            
           not_equal
           (
           y, 
           name=None
           )
           not_equal¶
- 
           Returns the truth value of \(x != y\) elementwise, which is equivalent function to the overloaded operator !=. Note The output has no gradient. - Parameters
- 
             - x (Tensor) – First input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- y (Tensor) – Second input to compare which is N-D tensor. The input data type should be bool, float32, float64, int32, int64. 
- 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
- 
             The output shape is same as input x. The output data type is bool.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([1, 2, 3]) y = paddle.to_tensor([1, 3, 2]) result1 = paddle.not_equal(x, y) print(result1) # result1 = [False True True] 
 - 
            
           numel
           (
           name=None
           )
           numel¶
- 
           Returns the number of elements for a tensor, which is a int64 Tensor with shape [1] in static mode or a scalar value in imperative mode. - Parameters
- 
             - x (Tensor) – The input Tensor, it’s data type can be bool, float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The number of elements for the input Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.full(shape=[4, 5, 7], fill_value=0, dtype='int32') numel = paddle.numel(x) # 140 
 - 
            
           outer
           (
           y, 
           name=None
           )
           outer¶
- 
           Outer product of two Tensors. Input is flattened if not already 1-dimensional. - Parameters
- 
             - x (Tensor) – An N-D Tensor or a Scalar Tensor. 
- y (Tensor) – An N-D Tensor or a Scalar Tensor. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The outer-product Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.arange(1, 4).astype('float32') y = paddle.arange(1, 6).astype('float32') out = paddle.outer(x, y) print(out) # ([[1, 2, 3, 4, 5], # [2, 4, 6, 8, 10], # [3, 6, 9, 12, 15]]) 
 - 
            
           place
           (
           )
           place¶
- 
           Variable don’t have ‘place’ interface in static mode But this interface can greatly facilitate dy2static. So we give a warnning here and return None. 
 - 
            
           pop
           (
           *args
           )
           pop¶
- 
           The type variable must be LoD Tensor Array. When self is LoDTensorArray, calling pop is similar to Python’s pop on list. This interface is used to simplify dygraph to static graph operations. - Parameters
- 
             - self (Variable) – The source variable, which must be LOD_TENSOR_ARRAY 
- *args – optional, a int means index. 
 
- Returns
- 
             self[index] 
- Return type
- 
             Variable 
 
 - 
            
           pow
           (
           y, 
           name=None
           )
           pow¶
- 
           Compute the power of Tensor elements. The equation is: \[out = x^{y}\]Note paddle.powsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is float16, float32, float64, int32 or int64. 
- y (float|int|Tensor) – If it is an N-D Tensor, its data type should be the same as x. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. Its dimension and data type are the same as x. 
 Examples import paddle x = paddle.to_tensor([1, 2, 3], dtype='float32') # example 1: y is a float or int res = paddle.pow(x, 2) print(res) # Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [1., 4., 9.]) res = paddle.pow(x, 2.5) print(res) # Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [1. , 5.65685415 , 15.58845711]) # example 2: y is a Tensor y = paddle.to_tensor([2], dtype='float32') res = paddle.pow(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [1., 4., 9.]) 
 - 
            
           prod
           (
           axis=None, 
           keepdim=False, 
           dtype=None, 
           name=None
           )
           prod¶
- 
           Compute the product of tensor elements over the given axis. - Parameters
- 
             - x (Tensor) – The input tensor, its data type should be float32, float64, int32, int64. 
- axis (int|list|tuple, optional) – The axis along which the product is computed. If - None, multiply all elements of x and return a Tensor with a single element, otherwise must be in the range \([-x.ndim, x.ndim)\). If \(axis[i]<0\), the axis to reduce is \(x.ndim + axis[i]\). Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have one fewer dimension than the input unless keepdim is true. Default is False. 
- dtype (str|np.dtype, optional) – The desired date type of returned tensor, can be float32, float64, int32, int64. If specified, the input tensor is casted to dtype before operator performed. This is very useful for avoiding data type overflows. The default value is None, the dtype of output is the same as input Tensor x. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, result of product on the specified dim of input tensor. 
 Examples import paddle # the axis is a int element x = paddle.to_tensor([[0.2, 0.3, 0.5, 0.9], [0.1, 0.2, 0.6, 0.7]]) out1 = paddle.prod(x) # [0.0002268] out2 = paddle.prod(x, -1) # [0.027 0.0084] out3 = paddle.prod(x, 0) # [0.02 0.06 0.3 0.63] out4 = paddle.prod(x, 0, keepdim=True) # [[0.02 0.06 0.3 0.63]] out5 = paddle.prod(x, 0, dtype='int64') # [0 0 0 0] # the axis is list y = paddle.to_tensor([[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]]) out6 = paddle.prod(y, [0, 1]) # [105. 384.] out7 = paddle.prod(y, (1, 2)) # [ 24. 1680.] 
 - 
            
           put_along_axis
           (
           indices, 
           values, 
           axis, 
           reduce='assign'
           )
           put_along_axis¶
- 
           Put values into the destination array by given indices matrix along the designated axis. - Parameters
- 
             - arr (Tensor) – The Destination Tensor. Supported data types are float32 and float64. 
- indices (Tensor) – Indices to put along each 1d slice of arr. This must match the dimension of arr, and need to broadcast against arr. Supported data type are int and int64. 
- axis (int) – The axis to put 1d slices along. 
- reduce (str, optional) – The reduce operation, default is ‘assign’, support ‘add’, ‘assign’, ‘mul’ and ‘multiply’. 
 
- Returns
- 
             The indexed element, same dtype with arr 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[10, 30, 20], [60, 40, 50]]) index = paddle.to_tensor([[0]]) value = 99 axis = 0 result = paddle.put_along_axis(x, index, value, axis) print(result) # [[99, 99, 99], # [60, 40, 50]] 
 - 
            
           put_along_axis_
           (
           indices, 
           values, 
           axis, 
           reduce='assign'
           )
           put_along_axis_¶
- 
           Inplace version of put_along_axisAPI, the output Tensor will be inplaced with inputarr. Please refer to api_tensor_put_along_axis.
 - 
            
           qr
           (
           mode='reduced', 
           name=None
           )
           qr¶
- 
           Computes the QR decomposition of one matrix or batches of matrice (backward is unsupported now). - Parameters
- 
             - x (Tensor) – The input tensor. Its shape should be […, M, N], where … is zero or more batch dimensions. M and N can be arbitrary positive number. The data type of x should be float32 or float64. 
- mode (str, optional) – A flag to control the behavior of qr, the default is “reduced”. Suppose x’s shape is […, M, N] and denoting K = min(M, N): If mode = “reduced”, qr op will return reduced Q and R matrices, which means Q’s shape is […, M, K] and R’s shape is […, K, N]. If mode = “complete”, qr op will return complete Q and R matrices, which means Q’s shape is […, M, M] and R’s shape is […, M, N]. If mode = “r”, qr op will only return reduced R matrix, which means R’s shape is […, K, N]. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             If mode = “reduced” or mode = “complete”, qr will return a two tensor-tuple, which represents Q and R. If mode = “r”, qr will return a tensor which represents R. 
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]).astype('float64') q, r = paddle.linalg.qr(x) print (q) print (r) # Q = [[-0.16903085, 0.89708523], # [-0.50709255, 0.27602622], # [-0.84515425, -0.34503278]]) # R = [[-5.91607978, -7.43735744], # [ 0. , 0.82807867]]) # one can verify : X = Q * R ; 
 - 
            
           quantile
           (
           q, 
           axis=None, 
           keepdim=False
           )
           quantile¶
- 
           Compute the quantile of the input along the specified axis. If any values in a reduced row are NaN, then the quantiles for that reduction will be NaN. - Parameters
- 
             - x (Tensor) – The input Tensor, it’s data type can be float32, float64, int32, int64. 
- q (int|float|list) – The q for calculate quantile, which should be in range [0, 1]. If q is a list, each q will be calculated and the first dimension of output is same to the number of - q.
- axis (int|list, optional) – The axis along which to calculate quantile. - axisshould be int or list of int.- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisis less than 0, it works the same way as \(axis + D\). If- axisis a list, quantile is calculated over all elements of given axises. If- axisis None, quantile is calculated over all elements of- x. Default is None.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keepdimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of quantile along axisofx. In order to obtain higher precision, data type of results will be float64.
 Examples import paddle y = paddle.arange(0, 8 ,dtype="float32").reshape([4, 2]) # Tensor(shape=[4, 2], dtype=float32, place=Place(cpu), stop_gradient=True, # [[0., 1.], # [2., 3.], # [4., 5.], # [6., 7.]]) y1 = paddle.quantile(y, q=0.5, axis=[0, 1]) # Tensor(shape=[], dtype=float64, place=Place(cpu), stop_gradient=True, # 3.50000000) y2 = paddle.quantile(y, q=0.5, axis=1) # Tensor(shape=[4], dtype=float64, place=Place(cpu), stop_gradient=True, # [0.50000000, 2.50000000, 4.50000000, 6.50000000]) y3 = paddle.quantile(y, q=[0.3, 0.5], axis=0) # Tensor(shape=[2, 2], dtype=float64, place=Place(cpu), stop_gradient=True, # [[1.80000000, 2.80000000], # [3. , 4. ]]) y[0,0] = float("nan") y4 = paddle.quantile(y, q=0.8, axis=1, keepdim=True) # Tensor(shape=[4, 1], dtype=float64, place=Place(cpu), stop_gradient=True, # [[nan ], # [2.80000000], # [4.80000000], # [6.80000000]]) 
 - 
            
           rad2deg
           (
           name=None
           )
           rad2deg¶
- 
           Convert each of the elements of input x from angles in radians to degrees. - Equation:
- 
             \[rad2deg(x)=180/ \pi * x\]
 - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             An N-D Tensor, the shape and data type is the same with input (The output data type is float32 when the input data type is int). 
- Return type
- 
             out (Tensor) 
 Examples import paddle import math x1 = paddle.to_tensor([3.142, -3.142, 6.283, -6.283, 1.570, -1.570]) result1 = paddle.rad2deg(x1) print(result1) # Tensor(shape=[6], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [180.02334595, -180.02334595, 359.98937988, -359.98937988, # 9.95437622 , -89.95437622]) x2 = paddle.to_tensor(math.pi/2) result2 = paddle.rad2deg(x2) print(result2) # Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [90.]) x3 = paddle.to_tensor(1) result3 = paddle.rad2deg(x3) print(result3) # Tensor(shape=[1], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [57.29578018]) 
 - 
            
           rank
           (
           )
           rank¶
- 
           Returns the number of dimensions for a tensor, which is a 0-D int32 Tensor. - Parameters
- 
             input (Tensor) – The input Tensor with shape of \([N_1, N_2, ..., N_k]\), the data type is arbitrary. 
- Returns
- 
             The 0-D tensor with the dimensions of the input Tensor. 
- Return type
- 
             Tensor, the output data type is int32. 
 Examples import paddle input = paddle.rand((3, 100, 100)) rank = paddle.rank(input) print(rank) # 3 
 - 
            
           real
           (
           name=None
           )
           real¶
- 
           Returns a new Tensor containing real values of the input Tensor. - Parameters
- 
             - x (Tensor) – the input Tensor, its data type could be complex64 or complex128. 
- 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
- 
             a Tensor containing real values of the input Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor( [[1 + 6j, 2 + 5j, 3 + 4j], [4 + 3j, 5 + 2j, 6 + 1j]]) # Tensor(shape=[2, 3], dtype=complex64, place=CUDAPlace(0), stop_gradient=True, # [[(1+6j), (2+5j), (3+4j)], # [(4+3j), (5+2j), (6+1j)]]) real_res = paddle.real(x) # Tensor(shape=[2, 3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[1., 2., 3.], # [4., 5., 6.]]) real_t = x.real() # Tensor(shape=[2, 3], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[1., 2., 3.], # [4., 5., 6.]]) 
 - 
            
           reciprocal
           (
           name=None
           )
           reciprocal¶
- 
           Reciprocal Activation Operator. \(out = \\frac{1}{x}\) - Parameters
- 
             - x (Tensor) – Input of Reciprocal operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Reciprocal operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.reciprocal(x) print(out) # [-2.5 -5. 10. 3.33333333] 
 - 
            
           reciprocal_
           (
           name=None
           )
           reciprocal_¶
- 
           Inplace version of reciprocalAPI, the output Tensor will be inplaced with inputx. Please refer to api_fluid_layers_reciprocal.
 - 
            
           remainder
           (
           y, 
           name=None
           )
           remainder¶
- 
           Mod two tensors element-wise. The equation is: \[out = x \% y\]Note paddle.remaindersupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float16, float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([2, 3, 8, 7]) y = paddle.to_tensor([1, 5, 3, 3]) z = paddle.remainder(x, y) print(z) # [0, 3, 2, 1] 
 - 
            
           remainder_
           (
           y, 
           name=None
           )
           remainder_¶
- 
           Inplace version of remainderAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_remainder.
 - 
            
           repeat_interleave
           (
           repeats, 
           axis=None, 
           name=None
           )
           repeat_interleave¶
- 
           Returns a new tensor which repeats the xtensor along dimensionaxisusing the entries inrepeatswhich is a int or a Tensor.- Parameters
- 
             - x (Tensor) – The input Tensor to be operated. The data of - xcan be one of float32, float64, int32, int64.
- repeats (Tensor or int) – The number of repetitions for each element. repeats is broadcasted to fit the shape of the given axis. 
- axis (int, optional) – The dimension in which we manipulate. Default: None, the output tensor is flatten. 
- 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
- 
             A Tensor with same data type as x.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1, 2, 3], [4, 5, 6]]) repeats = paddle.to_tensor([3, 2, 1], dtype='int32') paddle.repeat_interleave(x, repeats, 1) # [[1, 1, 1, 2, 2, 3], # [4, 4, 4, 5, 5, 6]] paddle.repeat_interleave(x, 2, 0) # [[1, 2, 3], [1, 2, 3], [4, 5, 6], [4, 5, 6]] paddle.repeat_interleave(x, 2, None) # [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6] 
 - 
            
           reshape
           (
           shape, 
           name=None
           )
           reshape¶
- 
           Changes the shape of xwithout changing its data.Note that the output Tensor will share data with origin Tensor and doesn’t have a Tensor copy in dygraphmode. If you want to use the Tensor copy version, please use Tensor.clone likereshape_clone_x = x.reshape([-1]).clone().Some tricks exist when specifying the target shape. - 
               - -1 means the value of this dimension is inferred from the total element number of x and remaining dimensions. Thus one and only one dimension can be set -1. 
 
- 
               - 0 means the actual dimension value is going to be copied from the corresponding dimension of x. The index of 0s in shape can not exceed the dimension of x. 
 
 Here are some examples to explain it. - 
               - Given a 3-D tensor x with a shape [2, 4, 6], and the target shape is [6, 8], the reshape operator will transform x into a 2-D tensor with shape [6, 8] and leaving x’s data unchanged. 
 
- 
               - Given a 3-D tensor x with a shape [2, 4, 6], and the target shape specified is [2, 3, -1, 2], the reshape operator will transform x into a 4-D tensor with shape [2, 3, 4, 2] and leaving x’s data unchanged. In this case, one dimension of the target shape is set to -1, the value of this dimension is inferred from the total element number of x and remaining dimensions. 
 
- 
               - Given a 3-D tensor x with a shape [2, 4, 6], and the target shape is [-1, 0, 3, 2], the reshape operator will transform x into a 4-D tensor with shape [2, 4, 3, 2] and leaving x’s data unchanged. In this case, besides -1, 0 means the actual dimension value is going to be copied from the corresponding dimension of x. 
 
 - Parameters
- 
             - x (Tensor) – An N-D Tensor. The data type is - float32,- float64,- int32,- int64or- bool
- shape (list|tuple|Tensor) – Define the target shape. At most one dimension of the target shape can be -1. The data type is - int32. If- shapeis a list or tuple, the elements of it should be integers or Tensors with shape [1]. If- shapeis an Tensor, it should be an 1-D Tensor .
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A reshaped Tensor with the same data type as x.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.rand([2, 4, 6], dtype="float32") positive_four = paddle.full([1], 4, "int32") out = paddle.reshape(x, [-1, 0, 3, 2]) print(out) # the shape is [2,4,3,2]. out = paddle.reshape(x, shape=[positive_four, 12]) print(out) # the shape of out_2 is [4, 12]. shape_tensor = paddle.to_tensor([8, 6], dtype=paddle.int32) out = paddle.reshape(x, shape=shape_tensor) print(out.shape) # the shape is [8, 6]. # out shares data with x in dygraph mode x[0, 0, 0] = 10. print(out[0, 0]) # the value is [10.] 
- 
               
 - 
            
           reshape_
           (
           shape, 
           name=None
           )
           reshape_¶
- 
           Inplace version of reshapeAPI, the output Tensor will be inplaced with inputx. Please refer to api_paddle_tensor_reshape.
 - 
            
           reverse
           (
           axis, 
           name=None
           )
           reverse¶
- 
           Reverse the order of a n-D tensor along given axis in axis. - Parameters
- 
             - x (Tensor) – A Tensor(or LoDTensor) with shape \([N_1, N_2,..., N_k]\) . The data type of the input Tensor x should be float32, float64, int32, int64, bool. 
- axis (list|tuple|int) – The axis(axes) to flip on. Negative indices for indexing from the end are accepted. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor or LoDTensor calculated by flip layer. The data type is same with input x. 
- Return type
- 
             Tensor 
 Examples import paddle image_shape=(3, 2, 2) img = paddle.arange(image_shape[0] * image_shape[1] * image_shape[2]).reshape(image_shape) tmp = paddle.flip(img, [0,1]) print(tmp) # [[[10,11],[8, 9]], [[6, 7],[4, 5]], [[2, 3],[0, 1]]] out = paddle.flip(tmp,-1) print(out) # [[[11,10],[9, 8]], [[7, 6],[5, 4]], [[3, 2],[1, 0]]] 
 - 
            
           roll
           (
           shifts, 
           axis=None, 
           name=None
           )
           roll¶
- 
           Roll the x tensor along the given axis(axes). With specific ‘shifts’, Elements that roll beyond the last position are re-introduced at the first according to ‘shifts’. If a axis is not specified, the tensor will be flattened before rolling and then restored to the original shape. - Parameters
- 
             - x (Tensor) – The x tensor as input. 
- shifts (int|list|tuple) – The number of places by which the elements of the x tensor are shifted. 
- axis (int|list|tuple, optional) – axis(axes) along which to roll. Default: None 
- 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
- 
             A Tensor with same data type as x. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]) out_z1 = paddle.roll(x, shifts=1) print(out_z1) #[[9. 1. 2.] # [3. 4. 5.] # [6. 7. 8.]] out_z2 = paddle.roll(x, shifts=1, axis=0) print(out_z2) #[[7. 8. 9.] # [1. 2. 3.] # [4. 5. 6.]] out_z3 = paddle.roll(x, shifts=1, axis=1) print(out_z3) #[[3. 1. 2.] # [6. 4. 5.] # [9. 7. 8.]] 
 - 
            
           rot90
           (
           k=1, 
           axes=[0, 1], 
           name=None
           )
           rot90¶
- 
           Rotate a n-D tensor by 90 degrees. The rotation direction and times are specified by axes and the absolute value of k. Rotation direction is from axes[0] towards axes[1] if k > 0, and from axes[1] towards axes[0] for k < 0. - Parameters
- 
             - x (Tensor) – The input Tensor(or LoDTensor). The data type of the input Tensor x should be float16, float32, float64, int32, int64, bool. float16 is only supported on gpu. 
- k (int, optional) – Direction and number of times to rotate, default value: 1. 
- axes (list|tuple, optional) – Axes to rotate, dimension must be 2. default value: [0, 1]. 
- 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 or LoDTensor calculated by rot90 layer. The data type is same with input x. 
- Return type
- 
             Tensor 
 Examples import paddle data = paddle.arange(4) data = paddle.reshape(data, (2, 2)) print(data) #[[0, 1], # [2, 3]] y = paddle.rot90(data, 1, [0, 1]) print(y) #[[1, 3], # [0, 2]] y= paddle.rot90(data, -1, [0, 1]) print(y) #[[2, 0], # [3, 1]] data2 = paddle.arange(8) data2 = paddle.reshape(data2, (2,2,2)) print(data2) #[[[0, 1], # [2, 3]], # [[4, 5], # [6, 7]]] y = paddle.rot90(data2, 1, [1, 2]) print(y) #[[[1, 3], # [0, 2]], # [[5, 7], # [4, 6]]] 
 - 
            
           round
           (
           name=None
           )
           round¶
- 
           The OP rounds the values in the input to the nearest integer value. input: x.shape = [4] x.data = [1.2, -0.9, 3.4, 0.9] output: out.shape = [4] out.data = [1., -1., 3., 1.] - Parameters
- 
             - x (Tensor) – Input of Round operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Round operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.5, -0.2, 0.6, 1.5]) out = paddle.round(x) print(out) # [-1. -0. 1. 2.] 
 - 
            
           round_
           (
           name=None
           )
           round_¶
- 
           Inplace version of roundAPI, the output Tensor will be inplaced with inputx. Please refer to api_fluid_layers_round.
 - 
            
           rsqrt
           (
           name=None
           )
           rsqrt¶
- 
           Rsqrt Activation Operator. Please make sure input is legal in case of numeric errors. \(out = \\frac{1}{\\sqrt{x}}\) - Parameters
- 
             - x (Tensor) – Input of Rsqrt operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Rsqrt operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([0.1, 0.2, 0.3, 0.4]) out = paddle.rsqrt(x) print(out) # [3.16227766 2.23606798 1.82574186 1.58113883] 
 - 
            
           rsqrt_
           (
           name=None
           )
           rsqrt_¶
- 
           Inplace version of rsqrtAPI, the output Tensor will be inplaced with inputx. Please refer to api_fluid_layers_rsqrt.
 - 
            
           scale
           (
           scale=1.0, 
           bias=0.0, 
           bias_after_scale=True, 
           act=None, 
           name=None
           )
           scale¶
- 
           Scale operator. Putting scale and bias to the input Tensor as following: bias_after_scaleis True:\[Out=scale*X+bias\]bias_after_scaleis False:\[Out=scale*(X+bias)\]- Parameters
- 
             - x (Tensor) – Input N-D Tensor of scale operator. Data type can be float32, float64, int8, int16, int32, int64, uint8. 
- scale (float|Tensor) – The scale factor of the input, it should be a float number or a Tensor with shape [1] and data type as float32. 
- bias (float) – The bias to be put on the input. 
- bias_after_scale (bool) – Apply bias addition after or before scaling. It is useful for numeric stability in some circumstances. 
- act (str, optional) – Activation applied to the output such as tanh, softmax, sigmoid, relu. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output Tensor of scale operator, with shape and data type same as input. 
- Return type
- 
             Tensor 
 Examples # scale as a float32 number import paddle data = paddle.randn(shape=[2,3], dtype='float32') res = paddle.scale(data, scale=2.0, bias=1.0) # scale with parameter scale as a Tensor import paddle data = paddle.randn(shape=[2, 3], dtype='float32') factor = paddle.to_tensor([2], dtype='float32') res = paddle.scale(data, scale=factor, bias=1.0) 
 - 
            
           scale_
           (
           scale=1.0, 
           bias=0.0, 
           bias_after_scale=True, 
           act=None, 
           name=None
           )
           scale_¶
- 
           Inplace version of scaleAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_scale.
 - 
            
           scatter
           (
           index, 
           updates, 
           overwrite=True, 
           name=None
           )
           scatter¶
- 
           Scatter Layer Output is obtained by updating the input on selected indices based on updates. import numpy as np #input: x = np.array([[1, 1], [2, 2], [3, 3]]) index = np.array([2, 1, 0, 1]) # shape of updates should be the same as x # shape of updates with dim > 1 should be the same as input updates = np.array([[1, 1], [2, 2], [3, 3], [4, 4]]) overwrite = False # calculation: if not overwrite: for i in range(len(index)): x[index[i]] = np.zeros((2)) for i in range(len(index)): if (overwrite): x[index[i]] = updates[i] else: x[index[i]] += updates[i] # output: out = np.array([[3, 3], [6, 6], [1, 1]]) out.shape # [3, 2] NOTICE: The order in which updates are applied is nondeterministic, so the output will be nondeterministic if index contains duplicates. - Parameters
- 
             - x (Tensor) – The input N-D Tensor with ndim>=1. Data type can be float32, float64. 
- index (Tensor) – The index 1-D Tensor. Data type can be int32, int64. The length of index cannot exceed updates’s length, and the value in index cannot exceed input’s length. 
- updates (Tensor) – update input with updates parameter based on index. shape should be the same as input, and dim value with dim > 1 should be the same as input. 
- overwrite (bool) – - The mode that updating the output when there are same indices. - If True, use the overwrite mode to update the output of the same index,
- 
                 if False, use the accumulate mode to update the output of the same index.Default value is True. 
 
- 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
- 
             The output is a Tensor with the same shape as x. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1, 1], [2, 2], [3, 3]], dtype='float32') index = paddle.to_tensor([2, 1, 0, 1], dtype='int64') updates = paddle.to_tensor([[1, 1], [2, 2], [3, 3], [4, 4]], dtype='float32') output1 = paddle.scatter(x, index, updates, overwrite=False) # [[3., 3.], # [6., 6.], # [1., 1.]] output2 = paddle.scatter(x, index, updates, overwrite=True) # CPU device: # [[3., 3.], # [4., 4.], # [1., 1.]] # GPU device maybe have two results because of the repeated numbers in index # result 1: # [[3., 3.], # [4., 4.], # [1., 1.]] # result 2: # [[3., 3.], # [2., 2.], # [1., 1.]] 
 - 
            
           scatter_
           (
           index, 
           updates, 
           overwrite=True, 
           name=None
           )
           scatter_¶
- 
           Inplace version of scatterAPI, the output Tensor will be inplaced with inputx. Please refer to api_paddle_tensor_scatter.
 - 
            
           scatter_nd
           (
           updates, 
           shape, 
           name=None
           )
           scatter_nd¶
- 
           Scatter_nd Layer Output is obtained by scattering the updatesin a new tensor according toindex. This op is similar toscatter_nd_add, except the tensor ofshapeis zero-initialized. Correspondingly,scatter_nd(index, updates, shape)is equal toscatter_nd_add(paddle.zeros(shape, updates.dtype), index, updates). Ifindexhas repeated elements, then the corresponding updates are accumulated. Because of the numerical approximation issues, the different order of repeated elements inindexmay cause different results. The specific calculation method can be seenscatter_nd_add. This op is the inverse of thegather_ndop.- Parameters
- 
             - index (Tensor) – The index input with ndim > 1 and index.shape[-1] <= len(shape). Its dtype should be int32 or int64 as it is used as indexes. 
- updates (Tensor) – The updated value of scatter_nd op. Its dtype should be float32, float64. It must have the shape index.shape[:-1] + shape[index.shape[-1]:] 
- shape (tuple|list) – Shape of output tensor. 
- name (str|None) – The output Tensor name. If set None, the layer will be named automatically. 
 
- Returns
- 
             The output is a tensor with the same type as updates.
- Return type
- 
             output (Tensor) 
 Examples import paddle index = paddle.to_tensor([[1, 1], [0, 1], [1, 3]], dtype="int64") updates = paddle.rand(shape=[3, 9, 10], dtype='float32') shape = [3, 5, 9, 10] output = paddle.scatter_nd(index, updates, shape) 
 - 
            
           scatter_nd_add
           (
           index, 
           updates, 
           name=None
           )
           scatter_nd_add¶
- 
           Output is obtained by applying sparse addition to a single value or slice in a Tensor. xis a Tensor with ndim \(R\) andindexis a Tensor with ndim \(K\) . Thus,indexhas shape \([i_0, i_1, ..., i_{K-2}, Q]\) where \(Q \leq R\) .updatesis a Tensor with ndim \(K - 1 + R - Q\) and its shape is \(index.shape[:-1] + x.shape[index.shape[-1]:]\) .According to the \([i_0, i_1, ..., i_{K-2}]\) of index, add the correspondingupdatesslice to thexslice which is obtained by the last one dimension ofindex.Given: * Case 1: x = [0, 1, 2, 3, 4, 5] index = [[1], [2], [3], [1]] updates = [9, 10, 11, 12] we get: output = [0, 22, 12, 14, 4, 5] * Case 2: x = [[65, 17], [-14, -25]] index = [[], []] updates = [[[-1, -2], [1, 2]], [[3, 4], [-3, -4]]] x.shape = (2, 2) index.shape = (2, 0) updates.shape = (2, 2, 2) we get: output = [[67, 19], [-16, -27]]- Parameters
- 
             - x (Tensor) – The x input. Its dtype should be int32, int64, float32, float64. 
- index (Tensor) – The index input with ndim > 1 and index.shape[-1] <= x.ndim. Its dtype should be int32 or int64 as it is used as indexes. 
- updates (Tensor) – The updated value of scatter_nd_add op, and it must have the same dtype as x. It must have the shape index.shape[:-1] + x.shape[index.shape[-1]:]. 
- name (str|None) – The output tensor name. If set None, the layer will be named automatically. 
 
- Returns
- 
             The output is a tensor with the same shape and dtype as x. 
- Return type
- 
             output (Tensor) 
 Examples import paddle x = paddle.rand(shape=[3, 5, 9, 10], dtype='float32') updates = paddle.rand(shape=[3, 9, 10], dtype='float32') index = paddle.to_tensor([[1, 1], [0, 1], [1, 3]], dtype='int64') output = paddle.scatter_nd_add(x, index, updates) print(output.shape) # [3, 5, 9, 10] 
 - 
            
           sgn
           (
           name=None
           )
           sgn¶
- 
           For complex tensor, this API returns a new tensor whose elements have the same angles as the corresponding elements of input and absolute values of one. For other float dtype tensor, this API returns sign of every element in x: 1 for positive, -1 for negative and 0 for zero, same as paddle.sign. - Parameters
- 
             - x (Tensor) – The input tensor, which data type should be float16, float32, float64, complex64, complex128. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A sign Tensor for real input, or normalized Tensor for complex input, shape and data type are same as input. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[3 + 4j, 7 - 24j, 0, 1 + 2j], [6 + 8j, 3, 0, -2]]) print(paddle.sgn(x)) #[[0.6+0.8j 0.28-0.96j 0.+0.j 0.4472136+0.8944272j] # [0.6+0.8j 1.+0.j 0.+0.j -1.+0.j]] 
 - 
            
           shard_index
           (
           index_num, 
           nshards, 
           shard_id, 
           ignore_value=- 1
           )
           shard_index¶
- 
           Reset the values of input according to the shard it beloning to. Every value in input must be a non-negative integer, and the parameter index_num represents the integer above the maximum value of input. Thus, all values in input must be in the range [0, index_num) and each value can be regarded as the offset to the beginning of the range. The range is further split into multiple shards. Specifically, we first compute the shard_size according to the following formula, which represents the number of integers each shard can hold. So for the i’th shard, it can hold values in the range [i*shard_size, (i+1)*shard_size). shard_size = (index_num + nshards - 1) // nshards For each value v in input, we reset it to a new value according to the following formula: v = v - shard_id * shard_size if shard_id * shard_size <= v < (shard_id+1) * shard_size else ignore_value That is, the value v is set to the new offset within the range represented by the shard shard_id if it in the range. Otherwise, we reset it to be ignore_value. - Parameters
- 
             - input (Tensor) – Input tensor with data type int64 or int32. It’s last dimension must be 1. 
- index_num (int) – An integer represents the integer above the maximum value of input. 
- nshards (int) – The number of shards. 
- shard_id (int) – The index of the current shard. 
- ignore_value (int) – An integer value out of sharded index range. 
 
- Returns
- 
             Tensor. 
 Examples import paddle label = paddle.to_tensor([[16], [1]], "int64") shard_label = paddle.shard_index(input=label, index_num=20, nshards=2, shard_id=0) print(shard_label) # [[-1], [1]] 
 - 
            
           sign
           (
           name=None
           )
           sign¶
- 
           Returns sign of every element in x: 1 for positive, -1 for negative and 0 for zero. - Parameters
- 
             - x (Tensor) – The input tensor. The data type can be float16, float32 or float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output sign tensor with identical shape and data type to the input x.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([3.0, 0.0, -2.0, 1.7], dtype='float32') out = paddle.sign(x=x) print(out) # [1.0, 0.0, -1.0, 1.0] 
 - 
            
           sin
           (
           name=None
           )
           sin¶
- 
           Sine Activation Operator. \(out = sin(x)\) - Parameters
- 
             - x (Tensor) – Input of Sin operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Sin operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.sin(x) print(out) # [-0.38941834 -0.19866933 0.09983342 0.29552021] 
 - 
            
           sinh
           (
           name=None
           )
           sinh¶
- 
           Sinh Activation Operator. \(out = sinh(x)\) - Parameters
- 
             - x (Tensor) – Input of Sinh operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Sinh operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.sinh(x) print(out) # [-0.41075233 -0.201336 0.10016675 0.30452029] 
 - 
            
           slice
           (
           axes, 
           starts, 
           ends
           )
           slice¶
- 
           This operator produces a slice of inputalong multiple axes. Similar to numpy: https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html Slice usesaxes,startsandendsattributes to specify the start and end dimension for each axis in the list of axes and Slice uses this information to slice the input data tensor. If a negative value is passed tostartsorendssuch as \(-i\), it represents the reverse position of the axis \(i-1\) (here 0 is the initial position). If the value passed tostartsorendsis greater than n (the number of elements in this dimension), it represents n. For slicing to the end of a dimension with unknown size, it is recommended to pass in INT_MAX. The size ofaxesmust be equal tostartsandends. Following examples will explain how slice works:Case1: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [1, 0] ends = [2, 3] Then: result = [ [5, 6, 7], ] Case2: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [0, 1] ends = [-1, 1000] # -1 denotes the reverse 0th position of dimension 0. Then: result = [ [2, 3, 4], ] # result = data[0:1, 1:4]- Parameters
- 
             - input (Tensor) – A - Tensor. The data type is- float16,- float32,- float64,- int32or- int64.
- axes (list|tuple) – The data type is - int32. Axes that starts and ends apply to .
- starts (list|tuple|Tensor) – The data type is - int32. If- startsis a list or tuple, the elements of it should be integers or Tensors with shape [1]. If- startsis an Tensor, it should be an 1-D Tensor. It represents starting indices of corresponding axis in- axes.
- ends (list|tuple|Tensor) – The data type is - int32. If- endsis a list or tuple, the elements of it should be integers or Tensors with shape [1]. If- endsis an Tensor, it should be an 1-D Tensor . It represents ending indices of corresponding axis in- axes.
 
- Returns
- 
             A Tensor. The data type is same asinput.
- Return type
- 
             Tensor 
 Examples import paddle input = paddle.rand(shape=[4, 5, 6], dtype='float32') # example 1: # attr starts is a list which doesn't contain tensor. axes = [0, 1, 2] starts = [-3, 0, 2] ends = [3, 2, 4] sliced_1 = paddle.slice(input, axes=axes, starts=starts, ends=ends) # sliced_1 is input[0:3, 0:2, 2:4]. # example 2: # attr starts is a list which contain tensor. minus_3 = paddle.full([1], -3, "int32") sliced_2 = paddle.slice(input, axes=axes, starts=[minus_3, 0, 2], ends=ends) # sliced_2 is input[0:3, 0:2, 2:4]. 
 - 
            
           solve
           (
           y, 
           name=None
           )
           solve¶
- 
           Computes the solution of a square system of linear equations with a unique solution for input ‘X’ and ‘Y’. Let \(X\) be a sqaure matrix or a batch of square matrices, \(Y\) be a vector/matrix or a batch of vectors/matrices, the equation should be: \[Out = X^-1 * Y\]Specifically, this system of linear equations has one solution if and only if input ‘X’ is invertible. - Parameters
- 
             - x (Tensor) – A square matrix or a batch of square matrices. Its shape should be - [*, M, M], where- *is zero or more batch dimensions. Its data type should be float32 or float64.
- y (Tensor) – A vector/matrix or a batch of vectors/matrices. Its shape should be - [*, M, K], where- *is zero or more batch dimensions. Its data type should be float32 or float64.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The solution of a square system of linear equations with a unique solution for input ‘x’ and ‘y’. Its data type should be the same as that of x. 
- Return type
- 
             Tensor 
 Examples # a square system of linear equations: # 2*X0 + X1 = 9 # X0 + 2*X1 = 8 import paddle x = paddle.to_tensor([[3, 1],[1, 2]], dtype="float64") y = paddle.to_tensor([9, 8], dtype="float64") out = paddle.linalg.solve(x, y) print(out) # [2., 3.]) 
 - 
            
           sort
           (
           axis=- 1, 
           descending=False, 
           name=None
           )
           sort¶
- 
           Sorts the input along the given axis, and returns the sorted output tensor. The default sort algorithm is ascending, if you want the sort algorithm to be descending, you must set the descendingas True.- Parameters
- 
             - x (Tensor) – An input N-D Tensor with type float32, float64, int16, int32, int64, uint8. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is Rank(x). when axis<0, it works the same way as axis+R. Default is -1. 
- descending (bool, optional) – Descending is a flag, if set to true, algorithm will sort by descending order, else sort by ascending order. Default is false. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             sorted tensor(with the same shape and data type as x).
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[[5,8,9,5], [0,0,1,7], [6,9,2,4]], [[5,2,4,2], [4,7,7,9], [1,7,0,6]]], dtype='float32') out1 = paddle.sort(x=x, axis=-1) out2 = paddle.sort(x=x, axis=0) out3 = paddle.sort(x=x, axis=1) print(out1) #[[[5. 5. 8. 9.] # [0. 0. 1. 7.] # [2. 4. 6. 9.]] # [[2. 2. 4. 5.] # [4. 7. 7. 9.] # [0. 1. 6. 7.]]] print(out2) #[[[5. 2. 4. 2.] # [0. 0. 1. 7.] # [1. 7. 0. 4.]] # [[5. 8. 9. 5.] # [4. 7. 7. 9.] # [6. 9. 2. 6.]]] print(out3) #[[[0. 0. 1. 4.] # [5. 8. 2. 5.] # [6. 9. 9. 7.]] # [[1. 2. 0. 2.] # [4. 7. 4. 6.] # [5. 7. 7. 9.]]] 
 - 
            
           split
           (
           num_or_sections, 
           axis=0, 
           name=None
           )
           split¶
- 
           Split the input tensor into multiple sub-Tensors. - Parameters
- 
             - x (Tensor) – A N-D Tensor. The data type is bool, float16, float32, float64, uint8, int8, int32 or int64. 
- num_or_sections (int|list|tuple) – If - num_or_sectionsis an int, then- num_or_sectionsindicates the number of equal sized sub-Tensors that the- xwill be divided into. If- num_or_sectionsis a list or tuple, the length of it indicates the number of sub-Tensors and the elements in it indicate the sizes of sub-Tensors’ dimension orderly. The length of the list must not be larger than the- x‘s size of specified- axis.
- axis (int|Tensor, optional) – The axis along which to split, it can be a scalar with type - intor a- Tensorwith shape [1] and data type- int32or- int64. If :math::axis < 0, the axis to split along is \(rank(x) + axis\). Default is 0.
- 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
- 
             The list of segmented Tensors. 
- Return type
- 
             list(Tensor) 
 Example import paddle # x is a Tensor of shape [3, 9, 5] x = paddle.rand([3, 9, 5]) out0, out1, out2 = paddle.split(x, num_or_sections=3, axis=1) print(out0.shape) # [3, 3, 5] print(out1.shape) # [3, 3, 5] print(out2.shape) # [3, 3, 5] out0, out1, out2 = paddle.split(x, num_or_sections=[2, 3, 4], axis=1) print(out0.shape) # [3, 2, 5] print(out1.shape) # [3, 3, 5] print(out2.shape) # [3, 4, 5] out0, out1, out2 = paddle.split(x, num_or_sections=[2, 3, -1], axis=1) print(out0.shape) # [3, 2, 5] print(out1.shape) # [3, 3, 5] print(out2.shape) # [3, 4, 5] # axis is negative, the real axis is (rank(x) + axis)=1 out0, out1, out2 = paddle.split(x, num_or_sections=3, axis=-2) print(out0.shape) # [3, 3, 5] print(out1.shape) # [3, 3, 5] print(out2.shape) # [3, 3, 5] 
 - 
            
           sqrt
           (
           name=None
           )
           sqrt¶
- 
           Sqrt Activation Operator. \(out=\\sqrt{x}=x^{1/2}\) - Note:
- 
             input value must be greater than or equal to zero. 
 - Parameters
- 
             - x (Tensor) – Input of Sqrt operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Sqrt operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([0.1, 0.2, 0.3, 0.4]) out = paddle.sqrt(x) print(out) # [0.31622777 0.4472136 0.54772256 0.63245553] 
 - 
            
           sqrt_
           (
           name=None
           )
           sqrt_¶
- 
           Inplace version of sqrtAPI, the output Tensor will be inplaced with inputx. Please refer to api_fluid_layers_sqrt.
 - 
            
           square
           (
           name=None
           )
           square¶
- 
           The OP square each elements of the inputs. \(out = x^2\) - Parameters
- 
             - x (Tensor) – Input of Square operator, an N-D Tensor, with data type float32, float64 or float16. 
- with_quant_attr (BOOLEAN) – Whether the operator has attributes used by quantization. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Square operator, a Tensor with shape same as input. 
- Return type
- 
             out (Tensor) 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.square(x) print(out) # [0.16 0.04 0.01 0.09] 
 - 
            
           squeeze
           (
           axis=None, 
           name=None
           )
           squeeze¶
- 
           Squeeze the dimension(s) of size 1 of input tensor x’s shape. Note that the output Tensor will share data with origin Tensor and doesn’t have a Tensor copy in dygraphmode. If you want to use the Tensor copy version, please use Tensor.clone likesqueeze_clone_x = x.squeeze().clone().If axis is provided, it will remove the dimension(s) by given axis that of size 1. If the dimension of given axis is not of size 1, the dimension remain unchanged. If axis is not provided, all dims equal of size 1 will be removed. Case1: Input: x.shape = [1, 3, 1, 5] # If axis is not provided, all dims equal of size 1 will be removed. axis = None Output: out.shape = [3, 5] Case2: Input: x.shape = [1, 3, 1, 5] # If axis is provided, it will remove the dimension(s) by given axis that of size 1. axis = 0 Output: out.shape = [3, 1, 5] Case4: Input: x.shape = [1, 3, 1, 5] # If the dimension of one given axis (3) is not of size 1, the dimension remain unchanged. axis = [0, 2, 3] Output: out.shape = [3, 5] Case4: Input: x.shape = [1, 3, 1, 5] # If axis is negative, axis = axis + ndim (number of dimensions in x). axis = [-2] Output: out.shape = [1, 3, 5]- Parameters
- 
             - x (Tensor) – The input Tensor. Supported data type: float32, float64, bool, int8, int32, int64. 
- axis (int|list|tuple, optional) – An integer or list/tuple of integers, indicating the dimensions to be squeezed. Default is None. The range of axis is \([-ndim(x), ndim(x))\). If axis is negative, \(axis = axis + ndim(x)\). If axis is None, all the dimensions of x of size 1 will be removed. 
- name (str, optional) – Please refer to Name, Default None. 
 
- Returns
- 
             Squeezed Tensor with the same data type as input Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.rand([5, 1, 10]) output = paddle.squeeze(x, axis=1) print(x.shape) # [5, 1, 10] print(output.shape) # [5, 10] # output shares data with x in dygraph mode x[0, 0, 0] = 10. print(output[0, 0]) # [10.] 
 - 
            
           squeeze_
           (
           axis=None, 
           name=None
           )
           squeeze_¶
- 
           Inplace version of squeezeAPI, the output Tensor will be inplaced with inputx. Please refer to api_paddle_tensor_squeeze.
 - 
            
           stack
           (
           axis=0, 
           name=None
           )
           stack¶
- 
           Stacks all the input tensors xalongaxisdimemsion. All tensors must be of the same shape and same dtype.For example, given N tensors of shape [A, B], if axis == 0, the shape of stacked tensor is [N, A, B]; ifaxis == 1, the shape of stacked tensor is [A, N, B], etc.Case 1: Input: x[0].shape = [1, 2] x[0].data = [ [1.0 , 2.0 ] ] x[1].shape = [1, 2] x[1].data = [ [3.0 , 4.0 ] ] x[2].shape = [1, 2] x[2].data = [ [5.0 , 6.0 ] ] Attrs: axis = 0 Output: Out.dims = [3, 1, 2] Out.data =[ [ [1.0, 2.0] ], [ [3.0, 4.0] ], [ [5.0, 6.0] ] ] Case 2: Input: x[0].shape = [1, 2] x[0].data = [ [1.0 , 2.0 ] ] x[1].shape = [1, 2] x[1].data = [ [3.0 , 4.0 ] ] x[2].shape = [1, 2] x[2].data = [ [5.0 , 6.0 ] ] Attrs: axis = 1 or axis = -2 # If axis = -2, axis = axis+ndim(x[0])+1 = -2+2+1 = 1. Output: Out.shape = [1, 3, 2] Out.data =[ [ [1.0, 2.0] [3.0, 4.0] [5.0, 6.0] ] ]- Parameters
- 
             - x (list[Tensor]|tuple[Tensor]) – Input - xcan be a- listor- tupleof tensors, the Tensors in- xmust be of the same shape and dtype. Supported data types: float32, float64, int32, int64.
- axis (int, optional) – The axis along which all inputs are stacked. - axisrange is- [-(R+1), R+1), where- Ris the number of dimensions of the first input tensor- x[0]. If- axis < 0,- axis = axis+R+1. The default value of axis is 0.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The stacked tensor with same data type as input. 
- Return type
- 
             Tensor 
 Example import paddle x1 = paddle.to_tensor([[1.0, 2.0]]) x2 = paddle.to_tensor([[3.0, 4.0]]) x3 = paddle.to_tensor([[5.0, 6.0]]) out = paddle.stack([x1, x2, x3], axis=0) print(out.shape) # [3, 1, 2] print(out) # [[[1., 2.]], # [[3., 4.]], # [[5., 6.]]] out = paddle.stack([x1, x2, x3], axis=-2) print(out.shape) # [1, 3, 2] print(out) # [[[1., 2.], # [3., 4.], # [5., 6.]]] 
 - 
            
           stanh
           (
           scale_a=0.67, 
           scale_b=1.7159, 
           name=None
           )
           stanh¶
- 
           stanh activation. \[out = b * \frac{e^{a * x} - e^{-a * x}}{e^{a * x} + e^{-a * x}}\]- Parameters
- 
             - x (Tensor) – The input Tensor with data type float32, float64. 
- scale_a (float, optional) – The scale factor a of the input. Default is 0.67. 
- scale_b (float, optional) – The scale factor b of the output. Default is 1.7159. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             A Tensor with the same data type and shape as x.
 Examples import paddle x = paddle.to_tensor([1.0, 2.0, 3.0, 4.0]) out = paddle.stanh(x, scale_a=0.67, scale_b=1.72) # [1.00616539, 1.49927628, 1.65933108, 1.70390463] 
 - 
            
           std
           (
           axis=None, 
           unbiased=True, 
           keepdim=False, 
           name=None
           )
           std¶
- 
           Computes the standard-deviation of xalongaxis.- Parameters
- 
             - x (Tensor) – The input Tensor with data type float32, float64. 
- axis (int|list|tuple, optional) – The axis along which to perform standard-deviation calculations. - axisshould be int, list(int) or tuple(int). If- axisis a list/tuple of dimension(s), standard-deviation is calculated along all element(s) of- axis.- axisor element(s) of- axisshould be in range [-D, D), where D is the dimensions of- x. If- axisor element(s) of- axisis less than 0, it works the same way as \(axis + D\) . If- axisis None, standard-deviation is calculated over all elements of- x. Default is None.
- unbiased (bool, optional) – Whether to use the unbiased estimation. If - unbiasedis True, the standard-deviation is calculated via the unbiased estimator. If- unbiasedis True, the divisor used in the computation is \(N - 1\), where \(N\) represents the number of elements along- axis, otherwise the divisor is \(N\). Default is True.
- keepdim (bool, optional) – Whether to reserve the reduced dimension(s) in the output Tensor. If - keepdimis True, the dimensions of the output Tensor is the same as- xexcept in the reduced dimensions(it is of size 1 in this case). Otherwise, the shape of the output Tensor is squeezed in- axis. Default is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of standard-deviation along axisofx, with the same data type asx.
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0, 3.0], [1.0, 4.0, 5.0]]) out1 = paddle.std(x) # [1.63299316] out2 = paddle.std(x, axis=1) # [1. 2.081666] 
 - 
            
           strided_slice
           (
           axes, 
           starts, 
           ends, 
           strides, 
           name=None
           )
           strided_slice¶
- 
           This operator produces a slice of xalong multiple axes. Similar to numpy: https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html Slice usesaxes,startsandendsattributes to specify the start and end dimension for each axis in the list of axes and Slice uses this information to slice the input data tensor. If a negative value is passed tostartsorendssuch as \(-i\), it represents the reverse position of the axis \(i-1\) th(here 0 is the initial position). Thestridesrepresents steps of slicing and if thestridesis negative, slice operation is in the opposite direction. If the value passed tostartsorendsis greater than n (the number of elements in this dimension), it represents n. For slicing to the end of a dimension with unknown size, it is recommended to pass in INT_MAX. The size ofaxesmust be equal tostarts,endsandstrides. Following examples will explain how strided_slice works:Case1: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [1, 0] ends = [2, 3] strides = [1, 1] Then: result = [ [5, 6, 7], ] Case2: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [0, 1] ends = [2, 0] strides = [1, -1] Then: result = [ [8, 7, 6], ] Case3: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [0, 1] ends = [-1, 1000] strides = [1, 3] Then: result = [ [2], ]- Parameters
- 
             - x (Tensor) – An N-D - Tensor. The data type is- bool,- float16,- float32,- float64,- int32or- int64.
- axes (list|tuple) – The data type is - int32. Axes that starts and ends apply to. It’s optional. If it is not provides, it will be treated as \([0,1,...,len(starts)-1]\).
- starts (list|tuple|Tensor) – The data type is - int32. If- startsis a list or tuple, the elements of it should be integers or Tensors with shape [1]. If- startsis an Tensor, it should be an 1-D Tensor. It represents starting indices of corresponding axis in- axes.
- ends (list|tuple|Tensor) – The data type is - int32. If- endsis a list or tuple, the elements of it should be integers or Tensors with shape [1]. If- endsis an Tensor, it should be an 1-D Tensor . It represents ending indices of corresponding axis in- axes.
- strides (list|tuple|Tensor) – The data type is - int32. If- stridesis a list or tuple, the elements of it should be integers or Tensors with shape [1]. If- stridesis an Tensor, it should be an 1-D Tensor . It represents slice step of corresponding axis in- axes.
- 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
- 
             A Tensorwith the same dimension asx. The data type is same asx.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.zeros(shape=[3,4,5,6], dtype="float32") # example 1: # attr starts is a list which doesn't contain Tensor. axes = [1, 2, 3] starts = [-3, 0, 2] ends = [3, 2, 4] strides_1 = [1, 1, 1] strides_2 = [1, 1, 2] sliced_1 = paddle.strided_slice(x, axes=axes, starts=starts, ends=ends, strides=strides_1) # sliced_1 is x[:, 1:3:1, 0:2:1, 2:4:1]. # example 2: # attr starts is a list which contain tensor Tensor. minus_3 = paddle.full(shape=[1], fill_value=-3, dtype='int32') sliced_2 = paddle.strided_slice(x, axes=axes, starts=[minus_3, 0, 2], ends=ends, strides=strides_2) # sliced_2 is x[:, 1:3:1, 0:2:1, 2:4:2]. 
 - 
            
           subtract
           (
           y, 
           name=None
           )
           subtract¶
- 
           Substract two tensors element-wise. The equation is: \[out = x - y\]Note paddle.subtractsupports broadcasting. If you want know more about broadcasting, please refer to user_guide_broadcasting .- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- y (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. A location into which the result is stored. If x, y have different shapes and are “broadcastable”, the resulting tensor shape is the shape of x and y after broadcasting. If x, y have the same shape, its shape is the same as x and y. 
 Examples import paddle x = paddle.to_tensor([[1, 2], [7, 8]]) y = paddle.to_tensor([[5, 6], [3, 4]]) res = paddle.subtract(x, y) print(res) # Tensor(shape=[2, 2], dtype=int64, place=Place(cpu), stop_gradient=True, # [[-4, -4], # [ 4, 4]]) x = paddle.to_tensor([[[1, 2, 3], [1, 2, 3]]]) y = paddle.to_tensor([1, 0, 4]) res = paddle.subtract(x, y) print(res) # Tensor(shape=[1, 2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[[ 0, 2, -1], # [ 0, 2, -1]]]) x = paddle.to_tensor([2, float('nan'), 5], dtype='float32') y = paddle.to_tensor([1, 4, float('nan')], dtype='float32') res = paddle.subtract(x, y) print(res) # Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, # [1. , nan, nan]) x = paddle.to_tensor([5, float('inf'), -float('inf')], dtype='float64') y = paddle.to_tensor([1, 4, 5], dtype='float64') res = paddle.subtract(x, y) print(res) # Tensor(shape=[3], dtype=float64, place=Place(cpu), stop_gradient=True, # [ 4. , inf., -inf.]) 
 - 
            
           subtract_
           (
           y, 
           name=None
           )
           subtract_¶
- 
           Inplace version of subtractAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_subtract.
 - 
            
           sum
           (
           axis=None, 
           dtype=None, 
           keepdim=False, 
           name=None
           )
           sum¶
- 
           Computes the sum of tensor elements over the given dimension. - Parameters
- 
             - x (Tensor) – An N-D Tensor, the data type is bool, float16, float32, float64, int32 or int64. 
- axis (int|list|tuple, optional) – The dimensions along which the sum is performed. If - None, sum all elements of- xand return a Tensor with a single element, otherwise must be in the range \([-rank(x), rank(x))\). If \(axis[i] < 0\), the dimension to reduce is \(rank + axis[i]\).
- dtype (str, optional) – The dtype of output Tensor. The default value is None, the dtype of output is the same as input Tensor x. 
- keepdim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result Tensor will have one fewer dimension than the - xunless- keepdimis true, default value is False.
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Results of summation operation on the specified axis of input Tensor x, if x.dtype=’bool’, x.dtype=’int32’, it’s data type is ‘int64’, otherwise it’s data type is the same as x. 
- Return type
- 
             Tensor 
 Examples import paddle # x is a Tensor with following elements: # [[0.2, 0.3, 0.5, 0.9] # [0.1, 0.2, 0.6, 0.7]] # Each example is followed by the corresponding output tensor. x = paddle.to_tensor([[0.2, 0.3, 0.5, 0.9], [0.1, 0.2, 0.6, 0.7]]) out1 = paddle.sum(x) # [3.5] out2 = paddle.sum(x, axis=0) # [0.3, 0.5, 1.1, 1.6] out3 = paddle.sum(x, axis=-1) # [1.9, 1.6] out4 = paddle.sum(x, axis=1, keepdim=True) # [[1.9], [1.6]] # y is a Tensor with shape [2, 2, 2] and elements as below: # [[[1, 2], [3, 4]], # [[5, 6], [7, 8]]] # Each example is followed by the corresponding output tensor. y = paddle.to_tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) out5 = paddle.sum(y, axis=[1, 2]) # [10, 26] out6 = paddle.sum(y, axis=[0, 1]) # [16, 20] # x is a Tensor with following elements: # [[True, True, True, True] # [False, False, False, False]] # Each example is followed by the corresponding output tensor. x = paddle.to_tensor([[True, True, True, True], [False, False, False, False]]) out7 = paddle.sum(x) # [4] out8 = paddle.sum(x, axis=0) # [1, 1, 1, 1] out9 = paddle.sum(x, axis=1) # [4, 0] 
 - 
            
           t
           (
           name=None
           )
           t¶
- 
           Transpose <=2-D tensor. 0-D and 1-D tensors are returned as it is and 2-D tensor is equal to the paddle.transpose function which perm dimensions set 0 and 1. - Parameters
- 
             - input (Tensor) – The input Tensor. It is a N-D (N<=2) Tensor of data types float32, float64, int32, int64. 
- 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
- 
             A transposed n-D Tensor, with data type being float16, float32, float64, int32, int64. 
- Return type
- 
             Tensor 
 Examples # Example 1 (0-D tensor) x = paddle.to_tensor([0.79]) paddle.t(x) # [0.79] # Example 2 (1-D tensor) x = paddle.to_tensor([0.79, 0.84, 0.32]) paddle.t(x) # [0.79000002, 0.83999997, 0.31999999] paddle.t(x).shape # [3] # Example 3 (2-D tensor) x = paddle.to_tensor([[0.79, 0.84, 0.32], [0.64, 0.14, 0.57]]) x.shape # [2, 3] paddle.t(x) # [[0.79000002, 0.63999999], # [0.83999997, 0.14000000], # [0.31999999, 0.56999999]] paddle.t(x).shape # [3, 2] 
 - 
            
           take
           (
           index, 
           mode='raise', 
           name=None
           )
           take¶
- 
           Returns a new tensor with the elements of input tensor x at the given index. The input tensor is treated as if it were viewed as a 1-D tensor. The result takes the same shape as the index. - Parameters
- 
             - x (Tensor) – An N-D Tensor, its data type should be int32, int64, float32, float64. 
- index (Tensor) – An N-D Tensor, its data type should be int32, int64. 
- mode (str, optional) – - Specifies how out-of-bounds index will behave. the candicates are - 'raise',- 'wrap'and- 'clip'.- 'raise': raise an error (default);
- 'wrap': wrap around;
- 'clip': clip to the range.- 'clip'mode means that all indices that are too large are replaced by the index that addresses the last element. Note that this disables indexing with negative numbers.
 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, Tensor with the same shape as index, the data type is the same with input. 
 Examples import paddle x_int = paddle.arange(0, 12).reshape([3, 4]) x_float = x_int.astype(paddle.float64) idx_pos = paddle.arange(4, 10).reshape([2, 3]) # positive index idx_neg = paddle.arange(-2, 4).reshape([2, 3]) # negative index idx_err = paddle.arange(-2, 13).reshape([3, 5]) # index out of range paddle.take(x_int, idx_pos) # Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[4, 5, 6], # [7, 8, 9]]) paddle.take(x_int, idx_neg) # Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[10, 11, 0 ], # [1 , 2 , 3 ]]) paddle.take(x_float, idx_pos) # Tensor(shape=[2, 3], dtype=float64, place=Place(cpu), stop_gradient=True, # [[4., 5., 6.], # [7., 8., 9.]]) x_int.take(idx_pos) # Tensor(shape=[2, 3], dtype=int64, place=Place(cpu), stop_gradient=True, # [[4, 5, 6], # [7, 8, 9]]) paddle.take(x_int, idx_err, mode='wrap') # Tensor(shape=[3, 5], dtype=int32, place=Place(cpu), stop_gradient=True, # [[10, 11, 0 , 1 , 2 ], # [3 , 4 , 5 , 6 , 7 ], # [8 , 9 , 10, 11, 0 ]]) paddle.take(x_int, idx_err, mode='clip') # Tensor(shape=[3, 5], dtype=int32, place=Place(cpu), stop_gradient=True, # [[0 , 0 , 0 , 1 , 2 ], # [3 , 4 , 5 , 6 , 7 ], # [8 , 9 , 10, 11, 11]]) 
 - 
            
           take_along_axis
           (
           indices, 
           axis
           )
           take_along_axis¶
- 
           Take values from the input array by given indices matrix along the designated axis. - Parameters
- 
             - arr (Tensor) – The input Tensor. Supported data types are float32 and float64. 
- indices (Tensor) – Indices to take along each 1d slice of arr. This must match the dimension of arr, and need to broadcast against arr. Supported data type are int and int64. 
- axis (int) – The axis to take 1d slices along. 
 
- Returns
- 
             The indexed element, same dtype with arr 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([[1, 2, 3], [4, 5, 6], [7,8,9]]) index = paddle.to_tensor([[0]]) axis = 0 result = paddle.take_along_axis(x, index, axis) print(result) # [[1, 2, 3]] 
 - 
            
           tanh
           (
           name=None
           )
           tanh¶
- 
           Tanh Activation Operator. \[out = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}\]- Parameters
- 
             - x (Tensor) – Input of Tanh operator, an N-D Tensor, with data type float32, float64 or float16. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Output of Tanh operator, a Tensor with same data type and shape as input. 
 Examples import paddle x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3]) out = paddle.tanh(x) print(out) # [-0.37994896 -0.19737532 0.09966799 0.29131261] 
 - 
            
           tanh_
           (
           name=None
           )
           tanh_¶
- 
           Inplace version of tanhAPI, the output Tensor will be inplaced with inputx. Please refer to api_tensor_tanh.
 - 
            
           tensordot
           (
           y, 
           axes=2, 
           name=None
           )
           tensordot¶
- 
           This function computes a contraction, which sum the product of elements from two tensors along the given axes. - Parameters
- 
             - x (Tensor) – The left tensor for contraction with data type - float32or- float64.
- y (Tensor) – The right tensor for contraction with the same data type as - x.
- axes (int|tuple|list|Tensor, optional) – - The axes to contract for - xand- y, defaulted to integer- 2.- It could be a non-negative integer - n, in which the function will sum over the last- naxes of- xand the first- naxes of- yin order.
- It could be a 1-d tuple or list with data type - int, in which- xand- ywill be contracted along the same given axes. For example,- axes=[0, 1] applies contraction along the first two axes for- xand the first two axes for- y.
- It could be a tuple or list containing one or two 1-d tuple|list|Tensor with data type - int. When containing one tuple|list|Tensor, the data in tuple|list|Tensor specified the same axes for- xand- yto contract. When containing two tuple|list|Tensor, the first will be applied to- xand the second to- y. When containing more than two tuple|list|Tensor, only the first two axis sequences will be used while the others will be ignored.
- It could be a tensor, in which the - axestensor will be translated to a python list and applied the same rules described above to determine the contraction axes. Note that the- axeswith Tensor type is ONLY available in Dygraph mode.
 
- 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
- 
             The contraction result with the same data type as xandy. In general, \(output.ndim = x.ndim + y.ndim - 2 \times n_{axes}\), where \(n_{axes}\) denotes the number of axes to be contracted.
- Return type
- 
             Output (Tensor) 
 Notes - This function supports tensor broadcast, the size in the corresponding dimensions of - xand- yshould be equal, or applies to the broadcast rules.
- This function also supports axes expansion, when the two given axis sequences for - xand- yare of different lengths, the shorter sequence will expand the same axes as the longer one at the end. For example, if- axes=[[0, 1, 2, 3], [1, 0]], the axis sequence for- xis [0, 1, 2, 3], while the corresponding axis sequences for- ywill be expanded from [1, 0] to [1, 0, 2, 3].
 Examples import paddle data_type = 'float64' # For two 2-d tensor x and y, the case axes=0 is equivalent to outer product. # Note that tensordot supports empty axis sequence, so all the axes=0, axes=[], axes=[[]], and axes=[[],[]] are equivalent cases. x = paddle.arange(4, dtype=data_type).reshape([2, 2]) y = paddle.arange(4, dtype=data_type).reshape([2, 2]) z = paddle.tensordot(x, y, axes=0) # z = [[[[0., 0.], # [0., 0.]], # # [[0., 1.], # [2., 3.]]], # # # [[[0., 2.], # [4., 6.]], # # [[0., 3.], # [6., 9.]]]] # For two 1-d tensor x and y, the case axes=1 is equivalent to inner product. x = paddle.arange(10, dtype=data_type) y = paddle.arange(10, dtype=data_type) z1 = paddle.tensordot(x, y, axes=1) z2 = paddle.dot(x, y) # z1 = z2 = [285.] # For two 2-d tensor x and y, the case axes=1 is equivalent to matrix multiplication. x = paddle.arange(6, dtype=data_type).reshape([2, 3]) y = paddle.arange(12, dtype=data_type).reshape([3, 4]) z1 = paddle.tensordot(x, y, axes=1) z2 = paddle.matmul(x, y) # z1 = z2 = [[20., 23., 26., 29.], # [56., 68., 80., 92.]] # When axes is a 1-d int list, x and y will be contracted along the same given axes. # Note that axes=[1, 2] is equivalent to axes=[[1, 2]], axes=[[1, 2], []], axes=[[1, 2], [1]], and axes=[[1, 2], [1, 2]]. x = paddle.arange(24, dtype=data_type).reshape([2, 3, 4]) y = paddle.arange(36, dtype=data_type).reshape([3, 3, 4]) z = paddle.tensordot(x, y, axes=[1, 2]) # z = [[506. , 1298., 2090.], # [1298., 3818., 6338.]] # When axes is a list containing two 1-d int list, the first will be applied to x and the second to y. x = paddle.arange(60, dtype=data_type).reshape([3, 4, 5]) y = paddle.arange(24, dtype=data_type).reshape([4, 3, 2]) z = paddle.tensordot(x, y, axes=([1, 0], [0, 1])) # z = [[4400., 4730.], # [4532., 4874.], # [4664., 5018.], # [4796., 5162.], # [4928., 5306.]] # Thanks to the support of axes expansion, axes=[[0, 1, 3, 4], [1, 0, 3, 4]] can be abbreviated as axes= [[0, 1, 3, 4], [1, 0]]. x = paddle.arange(720, dtype=data_type).reshape([2, 3, 4, 5, 6]) y = paddle.arange(720, dtype=data_type).reshape([3, 2, 4, 5, 6]) z = paddle.tensordot(x, y, axes=[[0, 1, 3, 4], [1, 0]]) # z = [[23217330., 24915630., 26613930., 28312230.], # [24915630., 26775930., 28636230., 30496530.], # [26613930., 28636230., 30658530., 32680830.], # [28312230., 30496530., 32680830., 34865130.]] 
 - 
            
           tile
           (
           repeat_times, 
           name=None
           )
           tile¶
- 
           Construct a new Tensor by repeating xthe number of times given byrepeat_times. After tiling, the value of the i’th dimension of the output is equal tox.shape[i]*repeat_times[i].Both the number of dimensions of xand the number of elements inrepeat_timesshould be less than or equal to 6.- Parameters
- 
             - x (Tensor) – The input tensor, its data type should be bool, float32, float64, int32 or int64. 
- repeat_times (list|tuple|Tensor) – The number of repeating times. If repeat_times is a list or tuple, all its elements should be integers or 1-D Tensors with the data type int32. If repeat_times is a Tensor, it should be an 1-D Tensor with the data type int32. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             N-D Tensor. The data type is the same as x. The size of the i-th dimension is equal tox[i] * repeat_times[i].
 Examples import paddle data = paddle.to_tensor([1, 2, 3], dtype='int32') out = paddle.tile(data, repeat_times=[2, 1]) print(out) # Tensor(shape=[2, 3], dtype=int32, place=Place(gpu:0), stop_gradient=True, # [[1, 2, 3], # [1, 2, 3]]) out = paddle.tile(data, repeat_times=(2, 2)) print(out) # Tensor(shape=[2, 6], dtype=int32, place=Place(gpu:0), stop_gradient=True, # [[1, 2, 3, 1, 2, 3], # [1, 2, 3, 1, 2, 3]]) repeat_times = paddle.to_tensor([1, 2], dtype='int32') out = paddle.tile(data, repeat_times=repeat_times) print(out) # Tensor(shape=[1, 6], dtype=int32, place=Place(gpu:0), stop_gradient=True, # [[1, 2, 3, 1, 2, 3]]) 
 - 
            
           topk
           (
           k, 
           axis=None, 
           largest=True, 
           sorted=True, 
           name=None
           )
           topk¶
- 
           Return values and indices of the k largest or smallest at the optional axis. If the input is a 1-D Tensor, finds the k largest or smallest values and indices. If the input is a Tensor with higher rank, this operator computes the top k values and indices along the axis.- Parameters
- 
             - x (Tensor) – Tensor, an input N-D Tensor with type float32, float64, int32, int64. 
- k (int, Tensor) – The number of top elements to look for along the axis. 
- axis (int, optional) – Axis to compute indices along. The effective range is [-R, R), where R is x.ndim. when axis < 0, it works the same way as axis + R. Default is -1. 
- largest (bool, optional) – largest is a flag, if set to true, algorithm will sort by descending order, otherwise sort by ascending order. Default is True. 
- sorted (bool, optional) – controls whether to return the elements in sorted order, default value is True. In gpu device, it always return the sorted value. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             tuple(Tensor), return the values and indices. The value data type is the same as the input x. The indices data type is int64. 
 Examples import paddle data_1 = paddle.to_tensor([1, 4, 5, 7]) value_1, indices_1 = paddle.topk(data_1, k=1) print(value_1) # [7] print(indices_1) # [3] data_2 = paddle.to_tensor([[1, 4, 5, 7], [2, 6, 2, 5]]) value_2, indices_2 = paddle.topk(data_2, k=1) print(value_2) # [[7], [6]] print(indices_2) # [[3], [1]] value_3, indices_3 = paddle.topk(data_2, k=1, axis=-1) print(value_3) # [[7], [6]] print(indices_3) # [[3], [1]] value_4, indices_4 = paddle.topk(data_2, k=1, axis=0) print(value_4) # [[2, 6, 5, 7]] print(indices_4) # [[1, 1, 0, 0]] 
 - 
            
           trace
           (
           offset=0, 
           axis1=0, 
           axis2=1, 
           name=None
           )
           trace¶
- 
           Computes the sum along diagonals of the input tensor x. If xis 2D, returns the sum of diagonal.If xhas larger dimensions, then returns an tensor of diagonals sum, diagonals be taken from the 2D planes specified by axis1 and axis2. By default, the 2D planes formed by the first and second axes of the input tensor x.The argument offsetdetermines where diagonals are taken from input tensor x:- If offset = 0, it is the main diagonal. 
- If offset > 0, it is above the main diagonal. 
- If offset < 0, it is below the main diagonal. 
- Note that if offset is out of input’s shape indicated by axis1 and axis2, 0 will be returned. 
 - Parameters
- 
             - x (Tensor) – The input tensor x. Must be at least 2-dimensional. The input data type should be float32, float64, int32, int64. 
- offset (int, optional) – Which diagonals in input tensor x will be taken. Default: 0 (main diagonals). 
- axis1 (int, optional) – The first axis with respect to take diagonal. Default: 0. 
- axis2 (int, optional) – The second axis with respect to take diagonal. Default: 1. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             the output data type is the same as input data type. 
- Return type
- 
             Tensor 
 Examples import paddle case1 = paddle.randn([2, 3]) case2 = paddle.randn([3, 10, 10]) case3 = paddle.randn([3, 10, 5, 10]) data1 = paddle.trace(case1) # data1.shape = [1] data2 = paddle.trace(case2, offset=1, axis1=1, axis2=2) # data2.shape = [3] data3 = paddle.trace(case3, offset=-3, axis1=1, axis2=-1) # data2.shape = [3, 5] 
 - 
            
           transpose
           (
           perm, 
           name=None
           )
           transpose¶
- 
           Permute the data dimensions of input according to perm. The i-th dimension of the returned tensor will correspond to the perm[i]-th dimension of input. - Parameters
- 
             - x (Tensor) – The input Tensor. It is a N-D Tensor of data types bool, float32, float64, int32. 
- perm (list|tuple) – Permute the input according to the data of perm. 
- name (str) – The name of this layer. It is optional. 
 
- Returns
- 
             A transposed n-D Tensor, with data type being bool, float32, float64, int32, int64. 
- Return type
- 
             Tensor 
 For Example: x = [[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] [[13 14 15 16] [17 18 19 20] [21 22 23 24]]] shape(x) = [2,3,4] # Example 1 perm0 = [1,0,2] y_perm0 = [[[ 1 2 3 4] [13 14 15 16]] [[ 5 6 7 8] [17 18 19 20]] [[ 9 10 11 12] [21 22 23 24]]] shape(y_perm0) = [3,2,4] # Example 2 perm1 = [2,1,0] y_perm1 = [[[ 1 13] [ 5 17] [ 9 21]] [[ 2 14] [ 6 18] [10 22]] [[ 3 15] [ 7 19] [11 23]] [[ 4 16] [ 8 20] [12 24]]] shape(y_perm1) = [4,3,2]Examples import paddle x = paddle.randn([2, 3, 4]) x_transposed = paddle.transpose(x, perm=[1, 0, 2]) print(x_transposed.shape) # [3L, 2L, 4L] 
 - 
            
           trunc
           (
           name=None
           )
           trunc¶
- 
           This API is used to returns a new tensor with the truncated integer values of input. - Parameters
- 
             - input (Tensor) – The input tensor, it’s data type should be int32, int64, float32, float64. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             The output Tensor of trunc. 
- Return type
- 
             Tensor 
 Examples import paddle input = paddle.rand([2,2],'float32') print(input) # Tensor(shape=[2, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[0.02331470, 0.42374918], # [0.79647720, 0.74970269]]) output = paddle.trunc(input) print(output) # Tensor(shape=[2, 2], dtype=float32, place=CUDAPlace(0), stop_gradient=True, # [[0., 0.], # [0., 0.]])) 
 - 
            
           unbind
           (
           axis=0
           )
           unbind¶
- 
           Removes a tensor dimension, then split the input tensor into multiple sub-Tensors. - Parameters
- 
             - input (Tensor) – The input variable which is an N-D Tensor, data type being float32, float64, int32 or int64. 
- axis (int32|int64, optional) – A scalar with type - int32|int64shape [1]. The dimension along which to unbind. If \(axis < 0\), the dimension to unbind along is \(rank(input) + axis\). Default is 0.
 
- Returns
- 
             The list of segmented Tensor variables. 
- Return type
- 
             list(Tensor) 
 Example import paddle # input is a Tensor which shape is [3, 4, 5] input = paddle.rand([3, 4, 5]) [x0, x1, x2] = paddle.unbind(input, axis=0) # x0.shape [4, 5] # x1.shape [4, 5] # x2.shape [4, 5] [x0, x1, x2, x3] = paddle.unbind(input, axis=1) # x0.shape [3, 5] # x1.shape [3, 5] # x2.shape [3, 5] # x3.shape [3, 5] 
 - 
            
           uniform_
           (
           min=- 1.0, 
           max=1.0, 
           seed=0, 
           name=None
           )
           uniform_¶
- 
           This is the inplace version of OP uniform, which returns a Tensor filled with random values sampled from a uniform distribution. The output Tensor will be inplaced with inputx. Please refer to api_tensor_uniform.- Parameters
- 
             - x (Tensor) – The input tensor to be filled with random values. 
- min (float|int, optional) – The lower bound on the range of random values to generate, - minis included in the range. Default is -1.0.
- max (float|int, optional) – The upper bound on the range of random values to generate, - maxis excluded in the range. Default is 1.0.
- seed (int, optional) – Random seed used for generating samples. If seed is 0, it will use the seed of the global default generator (which can be set by paddle.seed). Note that if seed is not 0, this operator will always generate the same random numbers every time. Default is 0. 
- 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
- 
             The input tensor x filled with random values sampled from a uniform distribution in the range [ min,max).
- Return type
- 
             Tensor 
 Examples import paddle # example: x = paddle.ones(shape=[3, 4]) x.uniform_() print(x) # [[ 0.84524226, 0.6921872, 0.56528175, 0.71690357], # random # [-0.34646994, -0.45116323, -0.09902662, -0.11397249], # random # [ 0.433519, 0.39483607, -0.8660099, 0.83664286]] # random 
 - 
            
           unique
           (
           return_index=False, 
           return_inverse=False, 
           return_counts=False, 
           axis=None, 
           dtype='int64', 
           name=None
           )
           unique¶
- 
           Returns the unique elements of x in ascending order. - Parameters
- 
             - x (Tensor) – The input tensor, it’s data type should be float32, float64, int32, int64. 
- return_index (bool, optional) – If True, also return the indices of the input tensor that result in the unique Tensor. 
- return_inverse (bool, optional) – If True, also return the indices for where elements in the original input ended up in the returned unique tensor. 
- return_counts (bool, optional) – If True, also return the counts for each unique element. 
- axis (int, optional) – The axis to apply unique. If None, the input will be flattened. Default: None. 
- dtype (np.dtype|str, optional) – The date type of indices or inverse tensor: int32 or int64. Default: int64. 
- name (str, optional) – Name for the operation. For more information, please refer to Name. Default: None. 
 
- Returns
- 
             
             - tuple (out, indices, inverse, counts). out is the unique tensor for x. indices is
- 
               provided only if return_index is True. inverse is provided only if return_inverse is True. counts is provided only if return_counts is True. 
 
 Examples import paddle x = paddle.to_tensor([2, 3, 3, 1, 5, 3]) unique = paddle.unique(x) np_unique = unique.numpy() # [1 2 3 5] _, indices, inverse, counts = paddle.unique(x, return_index=True, return_inverse=True, return_counts=True) print(indices) # Tensor(shape=[4], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [3, 0, 1, 4]) print(inverse) # Tensor(shape=[6], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [1, 2, 2, 0, 3, 2]) print(counts) # Tensor(shape=[4], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [1, 1, 3, 1]) x = paddle.to_tensor([[2, 1, 3], [3, 0, 1], [2, 1, 3]]) unique = paddle.unique(x) print(unique) # Tensor(shape=[4], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [0, 1, 2, 3]) unique = paddle.unique(x, axis=0) print(unique) # Tensor(shape=[2, 3], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [[2, 1, 3], # [3, 0, 1]]) 
 - 
            
           unique_consecutive
           (
           return_inverse=False, 
           return_counts=False, 
           axis=None, 
           dtype='int64', 
           name=None
           )
           unique_consecutive¶
- 
           Eliminates all but the first element from every consecutive group of equivalent elements. Note This function is different from paddle.unique()in the sense that this function only eliminates consecutive duplicate values. This semantics is similar to std::unique in C++.- Parameters
- 
             - x (Tensor) – the input tensor, it’s data type should be float32, float64, int32, int64. 
- return_inverse (bool, optional) – If True, also return the indices for where elements in the original input ended up in the returned unique consecutive tensor. Default is False. 
- return_counts (bool, optional) – If True, also return the counts for each unique consecutive element. Default is False. 
- axis (int, optional) – The axis to apply unique consecutive. If None, the input will be flattened. Default is None. 
- dtype (np.dtype|str, optional) – The data type inverse tensor: int32 or int64. Default: int64. 
- name (str, optional) – Name for the operation. For more information, please refer to Name. Default is None. 
 
- Returns
- 
             (out, inverse, counts). out is the unique consecutive tensor for x. inverse is provided only if return_inverse is True. counts is provided only if return_counts is True. 
- Return type
- 
             tuple 
 Example import paddle x = paddle.to_tensor([1, 1, 2, 2, 3, 1, 1, 2]) output = paddle.unique_consecutive(x) # print(output) # Tensor(shape=[5], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [1, 2, 3, 1, 2]) _, inverse, counts = paddle.unique_consecutive(x, return_inverse=True, return_counts=True) print(inverse) # Tensor(shape=[8], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [0, 0, 1, 1, 2, 3, 3, 4]) print(counts) # Tensor(shape=[5], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [2, 2, 1, 2, 1]) x = paddle.to_tensor([[2, 1, 3], [3, 0, 1], [2, 1, 3], [2, 1, 3]]) output = paddle.unique_consecutive(x, axis=0) # print(output) # Tensor(shape=[3, 3], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [[2, 1, 3], # [3, 0, 1], # [2, 1, 3]]) x = paddle.to_tensor([[2, 1, 3], [3, 0, 1], [2, 1, 3], [2, 1, 3]]) output = paddle.unique_consecutive(x, axis=0) # print(output) # Tensor(shape=[3, 3], dtype=int64, place=Place(gpu:0), stop_gradient=True, # [[2, 1, 3], # [3, 0, 1], # [2, 1, 3]]) 
 - 
            
           unsqueeze
           (
           axis, 
           name=None
           )
           unsqueeze¶
- 
           Insert single-dimensional entries to the shape of input Tensor x. Takes one required argument axis, a dimension or list of dimensions that will be inserted. Dimension indices in axis are as seen in the output tensor.Note that the output Tensor will share data with origin Tensor and doesn’t have a Tensor copy in dygraphmode. If you want to use the Tensor copy version, please use Tensor.clone likeunsqueeze_clone_x = x.unsqueeze(-1).clone().- Parameters
- 
             - x (Tensor) – The input Tensor to be unsqueezed. Supported data type: float32, float64, bool, int8, int32, int64. 
- axis (int|list|tuple|Tensor) – Indicates the dimensions to be inserted. The data type is - int32. If- axisis a list or tuple, the elements of it should be integers or Tensors with shape [1]. If- axisis a Tensor, it should be an 1-D Tensor . If- axisis negative,- axis = axis + ndim(x) + 1.
- name (str|None) – Name for this layer. Please refer to Name, Default None. 
 
- Returns
- 
             Unsqueezed Tensor with the same data type as input Tensor. 
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.rand([5, 10]) print(x.shape) # [5, 10] out1 = paddle.unsqueeze(x, axis=0) print(out1.shape) # [1, 5, 10] out2 = paddle.unsqueeze(x, axis=[0, 2]) print(out2.shape) # [1, 5, 1, 10] axis = paddle.to_tensor([0, 1, 2]) out3 = paddle.unsqueeze(x, axis=axis) print(out3.shape) # [1, 1, 1, 5, 10] # out1, out2, out3 share data with x in dygraph mode x[0, 0] = 10. print(out1[0, 0, 0]) # [10.] print(out2[0, 0, 0, 0]) # [10.] print(out3[0, 0, 0, 0, 0]) # [10.] 
 - 
            
           unsqueeze_
           (
           axis, 
           name=None
           )
           unsqueeze_¶
- 
           Inplace version of unsqueezeAPI, the output Tensor will be inplaced with inputx. Please refer to api_paddle_tensor_unsqueeze.
 - 
            
           unstack
           (
           axis=0, 
           num=None
           )
           unstack¶
- 
           - Alias_main
- 
             paddle.unstack :alias: paddle.unstack,paddle.tensor.unstack,paddle.tensor.manipulation.unstack :old_api: paddle.fluid.layers.unstack 
 UnStack Layer This layer unstacks input Tensor xinto several Tensors alongaxis.If axis< 0, it would be replaced withaxis+rank(x). Ifnumis None, it would be inferred fromx.shape[axis], and ifx.shape[axis]<= 0 or is unknown,ValueErroris raised.- Parameters
- 
             - x (Tensor) – Input Tensor. It is a N-D Tensors of data types float32, float64, int32, int64. 
- axis (int) – The axis along which the input is unstacked. 
- num (int|None) – The number of output variables. 
 
- Returns
- 
             The unstacked Tensors list. The list elements are N-D Tensors of data types float32, float64, int32, int64. 
- Return type
- 
             list(Tensor) 
 Examples import paddle x = paddle.ones(name='x', shape=[2, 3, 5], dtype='float32') # create a tensor with shape=[2, 3, 5] y = paddle.unstack(x, axis=1) # unstack with second axis, which results 3 tensors with shape=[2, 5] 
 - 
            
           var
           (
           axis=None, 
           unbiased=True, 
           keepdim=False, 
           name=None
           )
           var¶
- 
           Computes the variance of xalongaxis.- Parameters
- 
             - x (Tensor) – The input Tensor with data type float32, float64. 
- axis (int|list|tuple, optional) – - The axis along which to perform variance calculations. - axisshould be int, list(int) or tuple(int).- If - axisis a list/tuple of dimension(s), variance is calculated along all element(s) of- axis.- axisor element(s) of- axisshould be in range [-D, D), where D is the dimensions of- x.
- If - axisor element(s) of- axisis less than 0, it works the same way as \(axis + D\) .
- If - axisis None, variance is calculated over all elements of- x. Default is None.
 
- unbiased (bool, optional) – Whether to use the unbiased estimation. If - unbiasedis True, the divisor used in the computation is \(N - 1\), where \(N\) represents the number of elements along- axis, otherwise the divisor is \(N\). Default is True.
- keep_dim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have one fewer dimension than the input unless keep_dim is true. Default is False. 
- name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name. 
 
- Returns
- 
             Tensor, results of variance along axisofx, with the same data type asx.
 Examples import paddle x = paddle.to_tensor([[1.0, 2.0, 3.0], [1.0, 4.0, 5.0]]) out1 = paddle.var(x) # [2.66666667] out2 = paddle.var(x, axis=1) # [1. 4.33333333] 
 - 
            
           where
           (
           x=None, 
           y=None, 
           name=None
           )
           where¶
- 
           Return a Tensor of elements selected from either xoryaccording to corresponding elements ofcondition. Concretely,\[\begin{split}out_i = \begin{cases} x_i, & \text{if} \ condition_i \ \text{is} \ True \\ y_i, & \text{if} \ condition_i \ \text{is} \ False \\ \end{cases}.\end{split}\]Notes numpy.where(condition)is identical topaddle.nonzero(condition, as_tuple=True), please refer to api_tensor_search_nonzero.- Parameters
- 
             - condition (Tensor) – The condition to choose x or y. When True (nonzero), yield x, otherwise yield y. 
- x (Tensor|scalar, optional) – A Tensor or scalar to choose when the condition is True with data type of float32, float64, int32 or int64. Either both or neither of x and y should be given. 
- y (Tensor|scalar, optional) – A Tensor or scalar to choose when the condition is False with data type of float32, float64, int32 or int64. Either both or neither of x and y should be given. 
- name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None. 
 
- Returns
- 
             A Tensor with the same shape as conditionand same data type asxandy.
- Return type
- 
             Tensor 
 Examples import paddle x = paddle.to_tensor([0.9383, 0.1983, 3.2, 1.2]) y = paddle.to_tensor([1.0, 1.0, 1.0, 1.0]) out = paddle.where(x>1, x, y) print(out) #out: [1.0, 1.0, 3.2, 1.2] out = paddle.where(x>1) print(out) #out: (Tensor(shape=[2, 1], dtype=int64, place=CPUPlace, stop_gradient=True, # [[2], # [3]]),) 
 
- 
            
           detach
           (
           )
           
