diff --git a/doc/fluid/api_cn/dygraph_cn.rst b/doc/fluid/api_cn/dygraph_cn.rst index 7cf2de04add71995bdb359d5427f2e65f5190946..92a39ba86d5c8b74afdd215e85a0903019704d81 100644 --- a/doc/fluid/api_cn/dygraph_cn.rst +++ b/doc/fluid/api_cn/dygraph_cn.rst @@ -58,3 +58,4 @@ fluid.dygraph dygraph_cn/Tracer_cn.rst dygraph_cn/TranslatedLayer_cn.rst dygraph_cn/TreeConv_cn.rst + dygraph_cn/Flatten_cn.rst diff --git a/doc/fluid/api_cn/dygraph_cn/Flatten_cn.rst b/doc/fluid/api_cn/dygraph_cn/Flatten_cn.rst new file mode 100644 index 0000000000000000000000000000000000000000..92a9931d7faaa840361cd468205d68a1100f0911 --- /dev/null +++ b/doc/fluid/api_cn/dygraph_cn/Flatten_cn.rst @@ -0,0 +1,38 @@ +.. _cn_api_fluid_dygraph_Flatten: + +Flatten +------------------------------- + +.. py:class:: paddle.nn.Flatten(start_axis=1, stop_axis=-1) + + + +该接口用于构建 ``Flatten`` 类的一个可调用对象,具体用法参照 ``代码示例`` 。根据给定的start_axis 和 stop_axis 将连续的维度展平。 + + +参数 +::::::::: + - **start_axis** (int): 展开的起始维度 + - **stop_axis** (int): 展开的结束维度 + +形状 +::::::::: + - **x** (Tensor): 输入的Tensor + + +代码示例 +::::::::: + +.. code-block:: python + + import paddle + from paddle.imperative import to_variable + import numpy as np + inp_np = np.ones([5, 2, 3, 4]).astype('float32') + + paddle.enable_imperative() + + inp_np = to_variable(inp_np) + flatten = paddle.nn.Flatten(start_axis=1, stop_axis=2) + flatten_res = flatten(inp_np) + diff --git a/doc/fluid/api_cn/tensor_cn/addmm_cn.rst b/doc/fluid/api_cn/tensor_cn/addmm_cn.rst index 0b2fc8802e137c328f4b37643b900d5417bdd733..bc7c3667b272c4f5461f9adf781d7be92d535d7f 100644 --- a/doc/fluid/api_cn/tensor_cn/addmm_cn.rst +++ b/doc/fluid/api_cn/tensor_cn/addmm_cn.rst @@ -4,10 +4,7 @@ addmm ------------------------------- -.. py:function:: paddle.addmm(input, x, y, alpha=1.0, beta=1.0, name=None) - -:alias_main: paddle.addmm -:alias: paddle.addmm,paddle.tensor.addmm,paddle.tensor.math.addmm +.. py:function:: paddle.addmm(input, x, y, beta=1.0, alpha=1.0, name=None) @@ -18,40 +15,36 @@ addmm .. math:: out = alpha * x * y + beta * input -参数: - - **input** (Variable):输入Tensor input,数据类型支持float32, float64。 - - **x** (Variable):输入Tensor x,数据类型支持float32, float64。 - - **y** (Variable):输入Tensor y,数据类型支持float32, float64。 - - **alpha** (float,可选):乘以x*y的标量,数据类型支持float32, float64,默认值为1.0。 +参数 +::::::::: + - **input** (Tensor):输入Tensor input,数据类型支持float32, float64。 + - **x** (Tensor):输入Tensor x,数据类型支持float32, float64。 + - **y** (Tensor):输入Tensor y,数据类型支持float32, float64。 - **beta** (float,可选):乘以input的标量,数据类型支持float32, float64,默认值为1.0。 + - **alpha** (float,可选):乘以x*y的标量,数据类型支持float32, float64,默认值为1.0。 - **name** (str,可选):具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 -返回:计算得到的Tensor。Tensor数据类型与输入input数据类型一致。 +返回 +::::::::: +``Tensor``, 计算得到的Tensor。Tensor数据类型与输入input数据类型一致。 -返回类型:变量(Variable) -**代码示例**: +代码示例 +::::::::: .. code-block:: python import numpy as np import paddle - import paddle.fluid as fluid - - input = fluid.data(name='input', shape=[2, 2], dtype='float32') - x = fluid.data(name='x', shape=[2, 2], dtype='float32') - y = fluid.data(name='y', shape=[2, 2], dtype='float32') - out = paddle.addmm( input=input, x=x, y=y, alpha=5.0, beta=0.5 ) - data_x = np.ones((2, 2)).astype(np.float32) data_y = np.ones((2, 2)).astype(np.float32) data_input = np.ones((2, 2)).astype(np.float32) - - place = fluid.CUDAPlace(0) if fluid.core.is_compiled_with_cuda() else fluid.CPUPlace() - exe = fluid.Executor(place) - results = exe.run(fluid.default_main_program(), - fetch_list=[out], feed={"input": data_input, 'x': data_x, "y": data_y}) - print(np.array(results[0])) + paddle.enable_imperative() + x = paddle.imperative.to_variable(data_x) + y = paddle.imperative.to_variable(data_y) + input = paddle.imperative.to_variable(data_input) + out = paddle.tensor.addmm( input=input, x=x, y=y, beta=0.5, alpha=5.0 ) + print( out.numpy() ) # [[10.5 10.5] # [10.5 10.5]] diff --git a/doc/fluid/api_cn/tensor_cn/bmm_cn.rst b/doc/fluid/api_cn/tensor_cn/bmm_cn.rst index 8e83f59cf3477c007cdfd8f5b8aef0f56c0f7be4..201d4dba3a5b4eafb1020e3a568dc89de0df12bd 100644 --- a/doc/fluid/api_cn/tensor_cn/bmm_cn.rst +++ b/doc/fluid/api_cn/tensor_cn/bmm_cn.rst @@ -5,9 +5,6 @@ bmm .. py:function:: paddle.tensor.bmm(x, y, name=None): -:alias_main: paddle.bmm -:alias: paddle.bmm,paddle.tensor.bmm,paddle.tensor.linalg.bmm - 对输入x及输入y进行矩阵相乘。 @@ -18,34 +15,35 @@ bmm 例如:若x和y分别为(b, m, k)和 (b, k, n)的矩阵,则函数的输出为一个(b, m, n)的矩阵 -**参数**: +参数 +::::::::: - -**x** (Variable) : 输入变量,类型为 Tensor 或 LoDTensor。 - -**y** (Variable) : 输入变量,类型为 Tensor 或 LoDTensor。 + -**x** (Tensor) : 输入变量,类型为 Tensor 或 LoDTensor。 + -**y** (Tensor) : 输入变量,类型为 Tensor 或 LoDTensor。 -**name** (str|None) : 该层名称(可选),如果设置为空,则自动为该层命名。 -**返回**: - - Variable (Tensor / LoDTensor),矩阵相乘后的结果。 - -**返回类型**: - - Variable(变量)。 +返回 +::::::::: +``Tensor``,矩阵相乘后的结果。 -**示例**: +示例 +::::::::: .. code-block:: python import paddle - import paddle.fluid as fluid + # In imperative mode: # size input1: (2, 2, 3) and input2: (2, 3, 2) input1 = np.array([[[1.0, 1.0, 1.0],[2.0, 2.0, 2.0]],[[3.0, 3.0, 3.0],[4.0, 4.0, 4.0]]]) input2 = np.array([[[1.0, 1.0],[2.0, 2.0],[3.0, 3.0]],[[4.0, 4.0],[5.0, 5.0],[6.0, 6.0]]]) - with fluid.dygraph.guard(): - x = fluid.dygraph.to_variable(input1) - y = fluid.dygraph.to_variable(input2) - out = paddle.bmm(x, y) - #output size: (2, 2, 2) - #output value: - #[[[6.0, 6.0],[12.0, 12.0]],[[45.0, 45.0],[60.0, 60.0]]] - out_np = out.numpy() + paddle.enable_imperative() + + x = paddle.imperative.to_variable(input1) + y = paddle.imperative.to_variable(input2) + out = paddle.bmm(x, y) + #output size: (2, 2, 2) + #output value: + #[[[6.0, 6.0],[12.0, 12.0]],[[45.0, 45.0],[60.0, 60.0]]] + out_np = out.numpy() diff --git a/doc/fluid/api_cn/tensor_cn/flatten_cn.rst b/doc/fluid/api_cn/tensor_cn/flatten_cn.rst index 720509ba7f767a0426d6a320e46b93842b144a93..0f9c2f2c6f051d95eca6de10831683638c066c74 100644 --- a/doc/fluid/api_cn/tensor_cn/flatten_cn.rst +++ b/doc/fluid/api_cn/tensor_cn/flatten_cn.rst @@ -35,19 +35,24 @@ flatten op 根据给定的start_axis 和 stop_axis 将连续的维度展平 得到: Out.shape = (3 * 100 * 100 * 4) -参数: +参数 +::::::::: - **x** (Tensor) - 多维Tensor, 数据类型可以为float32,float64,int8,int32或int64。 - **start_axis** (int) - flatten展开的起始维度。 - **stop_axis** (int) - flatten展开的结束维度。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 -返回: 一个 Tensor,它包含输入Tensor的数据,但维度发生变化。输入将按照给定的start_axis 和 stop_axis展开。数据类型与输入x相同。 +返回 +::::::::: +``Tensor``, 一个 Tensor,它包含输入Tensor的数据,但维度发生变化。输入将按照给定的start_axis 和 stop_axis展开。数据类型与输入x相同。 -抛出异常: +抛出异常 +::::::::: - ValueError: 如果 x 不是一个Tensor - ValueError: 如果start_axis或者stop_axis不合法 -**代码示例** +代码示例 +::::::::: .. code-block:: python diff --git a/doc/fluid/api_cn/tensor_cn/tril_cn.rst b/doc/fluid/api_cn/tensor_cn/tril_cn.rst index 6ee8e4195d54432c58e7a024743ceda84334a23c..324589121d470992ae1843918ce3f117cce66ea8 100644 --- a/doc/fluid/api_cn/tensor_cn/tril_cn.rst +++ b/doc/fluid/api_cn/tensor_cn/tril_cn.rst @@ -3,61 +3,49 @@ tril ------------------------------- -.. py:function:: paddle.tensor.tril(input, diagonal=0, name=None) +.. py:function:: paddle.tensor.tril(x, diagonal=0, name=None) -:alias_main: paddle.tril -:alias: paddle.tril,paddle.tensor.tril,paddle.tensor.creation.tril - -返回输入矩阵 `input` 的下三角部分,其余部分被设为0。 +返回输入矩阵 `x` 的下三角部分,其余部分被设为0。 矩形的下三角部分被定义为对角线上和下方的元素。 -参数: - - **input** (Variable) : 输入Tensor input,数据类型支持 `float32`, `float64`, `int32`, `int64` 。 +参数 +::::::::: + - **x** (Tensor) : 输入Tensor x,数据类型支持 `float32`, `float64`, `int32`, `int64` 。 - **diagonal** (int,可选) : 指定的对角线,默认值为0。如果diagonal = 0,表示主对角线; 如果diagonal是正数,表示主对角线之上的对角线; 如果diagonal是负数,表示主对角线之下的对角线。 - **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 -返回:计算得到的Tensor。Tensor数据类型与输入 `input` 数据类型一致。 - -返回类型:Variable +返回 +::::::::: +``Tensor``,计算得到的Tensor。Tensor数据类型与输入 `x` 数据类型一致。 -**代码示例**: +代码示例 +::::::::: .. code-block:: python import numpy as np - import paddle.tensor as tensor - import paddle.fluid as fluid - + import paddle data = np.arange(1, 13, dtype="int64").reshape(3,-1) # array([[ 1, 2, 3, 4], # [ 5, 6, 7, 8], # [ 9, 10, 11, 12]]) - x = fluid.data(shape=(-1, 4), dtype='int64', name='x') - exe = fluid.Executor(fluid.CPUPlace()) - - # example 1, default diagonal - tril = tensor.tril(x) - tril_out, = exe.run(fluid.default_main_program(), feed={"x": data}, - fetch_list=[tril], return_numpy=True) + paddle.enable_imperative() + x = paddle.imperative.to_variable(data) + + tril1 = paddle.tensor.tril(x) # array([[ 1, 0, 0, 0], # [ 5, 6, 0, 0], # [ 9, 10, 11, 0]]) - # example 2, positive diagonal value - tril = tensor.tril(x, diagonal=2) - tril_out, = exe.run(fluid.default_main_program(), feed={"x": data}, - fetch_list=[tril], return_numpy=True) + tril2 = paddle.tensor.tril(x, diagonal=2) # array([[ 1, 2, 3, 0], # [ 5, 6, 7, 8], # [ 9, 10, 11, 12]]) - # example 3, negative diagonal value - tril = tensor.tril(x, diagonal=-1) - tril_out, = exe.run(fluid.default_main_program(), feed={"x": data}, - fetch_list=[tril], return_numpy=True) + tril3 = paddle.tensor.tril(x, diagonal=-1) # array([[ 0, 0, 0, 0], # [ 5, 0, 0, 0], # [ 9, 10, 0, 0]]) diff --git a/doc/fluid/api_cn/tensor_cn/triu_cn.rst b/doc/fluid/api_cn/tensor_cn/triu_cn.rst index 06775bf379c63cf31ec540bb28e62c9909636e37..1d928f25fcbdabebe301864797b71d59f27e2efd 100644 --- a/doc/fluid/api_cn/tensor_cn/triu_cn.rst +++ b/doc/fluid/api_cn/tensor_cn/triu_cn.rst @@ -3,61 +3,50 @@ triu ------------------------------- -.. py:function:: paddle.tensor.triu(input, diagonal=0, name=None) +.. py:function:: paddle.tensor.triu(x, diagonal=0, name=None) -:alias_main: paddle.triu -:alias: paddle.triu,paddle.tensor.triu,paddle.tensor.creation.triu - -返回输入矩阵 `input` 的上三角部分,其余部分被设为0。 +返回输入矩阵 `x` 的上三角部分,其余部分被设为0。 矩形的上三角部分被定义为对角线上和上方的元素。 -参数: - - **input** (Variable) : 输入Tensor input,数据类型支持 `float32`, `float64`, `int32`, `int64` 。 +参数 +::::::::: + - **x** (Tensor) : 输入Tensor x,数据类型支持 `float32`, `float64`, `int32`, `int64` 。 - **diagonal** (int,可选) : 指定的对角线,默认值为0。如果diagonal = 0,表示主对角线; 如果diagonal是正数,表示主对角线之上的对角线; 如果diagonal是负数,表示主对角线之下的对角线。 - **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 -返回:计算得到的Tensor。Tensor数据类型与输入 `input` 数据类型一致。 +返回 +::::::::: +``Tensor``, 计算得到的Tensor。Tensor数据类型与输入 `x` 数据类型一致。 -返回类型:Variable -**代码示例**: +代码示例 +::::::::: .. code-block:: python import numpy as np - import paddle.fluid as fluid - import paddle.tensor as tensor - + import paddle data = np.arange(1, 13, dtype="int64").reshape(3,-1) # array([[ 1, 2, 3, 4], # [ 5, 6, 7, 8], # [ 9, 10, 11, 12]]) - x = fluid.data(shape=(-1, 4), dtype='int64', name='x') - exe = fluid.Executor(fluid.CPUPlace()) - + paddle.enable_imperative() # example 1, default diagonal - triu = tensor.triu(x) - triu_out, = exe.run(fluid.default_main_program(), feed={"x": data}, - fetch_list=[triu], return_numpy=True) + x = paddle.imperative.to_variable(data) + triu1 = paddle.tensor.triu(x) # array([[ 1, 2, 3, 4], # [ 0, 6, 7, 8], # [ 0, 0, 11, 12]]) - # example 2, positive diagonal value - triu = tensor.triu(x, diagonal=2) - triu_out, = exe.run(fluid.default_main_program(), feed={"x": data}, - fetch_list=[triu], return_numpy=True) + triu2 = paddle.tensor.triu(x, diagonal=2) # array([[0, 0, 3, 4], # [0, 0, 0, 8], # [0, 0, 0, 0]]) - # example 3, negative diagonal value - triu = tensor.triu(x, diagonal=-1) - triu_out, = exe.run(fluid.default_main_program(), feed={"x": data}, - fetch_list=[triu], return_numpy=True) + triu3 = paddle.tensor.triu(x, diagonal=-1) # array([[ 1, 2, 3, 4], # [ 5, 6, 7, 8], # [ 0, 10, 11, 12]])