提交 ffc147d8 编写于 作者: Y yaoxuefeng

update apis cn doc test=develop

上级 87bdd4be
...@@ -58,3 +58,4 @@ fluid.dygraph ...@@ -58,3 +58,4 @@ fluid.dygraph
dygraph_cn/Tracer_cn.rst dygraph_cn/Tracer_cn.rst
dygraph_cn/TranslatedLayer_cn.rst dygraph_cn/TranslatedLayer_cn.rst
dygraph_cn/TreeConv_cn.rst dygraph_cn/TreeConv_cn.rst
dygraph_cn/Flatten_cn.rst
.. _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)
...@@ -4,10 +4,7 @@ ...@@ -4,10 +4,7 @@
addmm addmm
------------------------------- -------------------------------
.. py:function:: paddle.addmm(input, x, y, alpha=1.0, beta=1.0, name=None) .. py:function:: paddle.addmm(input, x, y, beta=1.0, alpha=1.0, name=None)
:alias_main: paddle.addmm
:alias: paddle.addmm,paddle.tensor.addmm,paddle.tensor.math.addmm
...@@ -18,40 +15,36 @@ addmm ...@@ -18,40 +15,36 @@ addmm
.. math:: .. math::
out = alpha * x * y + beta * input out = alpha * x * y + beta * input
参数: 参数
- **input** (Variable):输入Tensor input,数据类型支持float32, float64。 :::::::::
- **x** (Variable):输入Tensor x,数据类型支持float32, float64。 - **input** (Tensor):输入Tensor input,数据类型支持float32, float64。
- **y** (Variable):输入Tensor y,数据类型支持float32, float64。 - **x** (Tensor):输入Tensor x,数据类型支持float32, float64。
- **alpha** (float,可选):乘以x*y的标量,数据类型支持float32, float64,默认值为1.0 - **y** (Tensor):输入Tensor y,数据类型支持float32, float64
- **beta** (float,可选):乘以input的标量,数据类型支持float32, float64,默认值为1.0。 - **beta** (float,可选):乘以input的标量,数据类型支持float32, float64,默认值为1.0。
- **alpha** (float,可选):乘以x*y的标量,数据类型支持float32, float64,默认值为1.0。
- **name** (str,可选):具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 - **name** (str,可选):具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。
返回:计算得到的Tensor。Tensor数据类型与输入input数据类型一致。 返回
:::::::::
``Tensor``, 计算得到的Tensor。Tensor数据类型与输入input数据类型一致。
返回类型:变量(Variable)
**代码示例**: 代码示例
:::::::::
.. code-block:: python .. code-block:: python
import numpy as np import numpy as np
import paddle 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_x = np.ones((2, 2)).astype(np.float32)
data_y = 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) data_input = np.ones((2, 2)).astype(np.float32)
paddle.enable_imperative()
place = fluid.CUDAPlace(0) if fluid.core.is_compiled_with_cuda() else fluid.CPUPlace() x = paddle.imperative.to_variable(data_x)
exe = fluid.Executor(place) y = paddle.imperative.to_variable(data_y)
results = exe.run(fluid.default_main_program(), input = paddle.imperative.to_variable(data_input)
fetch_list=[out], feed={"input": data_input, 'x': data_x, "y": data_y}) out = paddle.tensor.addmm( input=input, x=x, y=y, beta=0.5, alpha=5.0 )
print(np.array(results[0])) print( out.numpy() )
# [[10.5 10.5] # [[10.5 10.5]
# [10.5 10.5]] # [10.5 10.5]]
...@@ -5,9 +5,6 @@ bmm ...@@ -5,9 +5,6 @@ bmm
.. py:function:: paddle.tensor.bmm(x, y, name=None): .. 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进行矩阵相乘。 对输入x及输入y进行矩阵相乘。
...@@ -18,34 +15,35 @@ bmm ...@@ -18,34 +15,35 @@ bmm
例如:若x和y分别为(b, m, k)和 (b, k, n)的矩阵,则函数的输出为一个(b, m, n)的矩阵 例如:若x和y分别为(b, m, k)和 (b, k, n)的矩阵,则函数的输出为一个(b, m, n)的矩阵
**参数**: 参数
:::::::::
-**x** (Variable) : 输入变量,类型为 Tensor 或 LoDTensor。 -**x** (Tensor) : 输入变量,类型为 Tensor 或 LoDTensor。
-**y** (Variable) : 输入变量,类型为 Tensor 或 LoDTensor。 -**y** (Tensor) : 输入变量,类型为 Tensor 或 LoDTensor。
-**name** (str|None) : 该层名称(可选),如果设置为空,则自动为该层命名。 -**name** (str|None) : 该层名称(可选),如果设置为空,则自动为该层命名。
**返回**: 返回
- Variable (Tensor / LoDTensor),矩阵相乘后的结果。 :::::::::
``Tensor``,矩阵相乘后的结果。
**返回类型**:
- Variable(变量)。
**示例**: 示例
:::::::::
.. code-block:: python .. code-block:: python
import paddle import paddle
import paddle.fluid as fluid # In imperative mode:
# size input1: (2, 2, 3) and input2: (2, 3, 2) # 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]]]) 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]]]) 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(): paddle.enable_imperative()
x = fluid.dygraph.to_variable(input1)
y = fluid.dygraph.to_variable(input2) x = paddle.imperative.to_variable(input1)
out = paddle.bmm(x, y) y = paddle.imperative.to_variable(input2)
#output size: (2, 2, 2) out = paddle.bmm(x, y)
#output value: #output size: (2, 2, 2)
#[[[6.0, 6.0],[12.0, 12.0]],[[45.0, 45.0],[60.0, 60.0]]] #output value:
out_np = out.numpy() #[[[6.0, 6.0],[12.0, 12.0]],[[45.0, 45.0],[60.0, 60.0]]]
out_np = out.numpy()
...@@ -35,19 +35,24 @@ flatten op 根据给定的start_axis 和 stop_axis 将连续的维度展平 ...@@ -35,19 +35,24 @@ flatten op 根据给定的start_axis 和 stop_axis 将连续的维度展平
得到: 得到:
Out.shape = (3 * 100 * 100 * 4) Out.shape = (3 * 100 * 100 * 4)
参数: 参数
:::::::::
- **x** (Tensor) - 多维Tensor, 数据类型可以为float32,float64,int8,int32或int64。 - **x** (Tensor) - 多维Tensor, 数据类型可以为float32,float64,int8,int32或int64。
- **start_axis** (int) - flatten展开的起始维度。 - **start_axis** (int) - flatten展开的起始维度。
- **stop_axis** (int) - flatten展开的结束维度。 - **stop_axis** (int) - flatten展开的结束维度。
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 - **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: 如果 x 不是一个Tensor
- ValueError: 如果start_axis或者stop_axis不合法 - ValueError: 如果start_axis或者stop_axis不合法
**代码示例** 代码示例
:::::::::
.. code-block:: python .. code-block:: python
......
...@@ -3,61 +3,49 @@ ...@@ -3,61 +3,49 @@
tril 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
返回输入矩阵 `x` 的下三角部分,其余部分被设为0。
返回输入矩阵 `input` 的下三角部分,其余部分被设为0。
矩形的下三角部分被定义为对角线上和下方的元素。 矩形的下三角部分被定义为对角线上和下方的元素。
参数: 参数
- **input** (Variable) : 输入Tensor input,数据类型支持 `float32`, `float64`, `int32`, `int64` 。 :::::::::
- **x** (Tensor) : 输入Tensor x,数据类型支持 `float32`, `float64`, `int32`, `int64` 。
- **diagonal** (int,可选) : 指定的对角线,默认值为0。如果diagonal = 0,表示主对角线; 如果diagonal是正数,表示主对角线之上的对角线; 如果diagonal是负数,表示主对角线之下的对角线。 - **diagonal** (int,可选) : 指定的对角线,默认值为0。如果diagonal = 0,表示主对角线; 如果diagonal是正数,表示主对角线之上的对角线; 如果diagonal是负数,表示主对角线之下的对角线。
- **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 - **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。
返回:计算得到的Tensor。Tensor数据类型与输入 `input` 数据类型一致。 返回
:::::::::
返回类型:Variable ``Tensor``,计算得到的Tensor。Tensor数据类型与输入 `x` 数据类型一致。
**代码示例**: 代码示例
:::::::::
.. code-block:: python .. code-block:: python
import numpy as np import numpy as np
import paddle.tensor as tensor import paddle
import paddle.fluid as fluid
data = np.arange(1, 13, dtype="int64").reshape(3,-1) data = np.arange(1, 13, dtype="int64").reshape(3,-1)
# array([[ 1, 2, 3, 4], # array([[ 1, 2, 3, 4],
# [ 5, 6, 7, 8], # [ 5, 6, 7, 8],
# [ 9, 10, 11, 12]]) # [ 9, 10, 11, 12]])
x = fluid.data(shape=(-1, 4), dtype='int64', name='x') paddle.enable_imperative()
exe = fluid.Executor(fluid.CPUPlace()) x = paddle.imperative.to_variable(data)
# example 1, default diagonal tril1 = paddle.tensor.tril(x)
tril = tensor.tril(x)
tril_out, = exe.run(fluid.default_main_program(), feed={"x": data},
fetch_list=[tril], return_numpy=True)
# array([[ 1, 0, 0, 0], # array([[ 1, 0, 0, 0],
# [ 5, 6, 0, 0], # [ 5, 6, 0, 0],
# [ 9, 10, 11, 0]]) # [ 9, 10, 11, 0]])
# example 2, positive diagonal value # example 2, positive diagonal value
tril = tensor.tril(x, diagonal=2) tril2 = paddle.tensor.tril(x, diagonal=2)
tril_out, = exe.run(fluid.default_main_program(), feed={"x": data},
fetch_list=[tril], return_numpy=True)
# array([[ 1, 2, 3, 0], # array([[ 1, 2, 3, 0],
# [ 5, 6, 7, 8], # [ 5, 6, 7, 8],
# [ 9, 10, 11, 12]]) # [ 9, 10, 11, 12]])
# example 3, negative diagonal value # example 3, negative diagonal value
tril = tensor.tril(x, diagonal=-1) tril3 = paddle.tensor.tril(x, diagonal=-1)
tril_out, = exe.run(fluid.default_main_program(), feed={"x": data},
fetch_list=[tril], return_numpy=True)
# array([[ 0, 0, 0, 0], # array([[ 0, 0, 0, 0],
# [ 5, 0, 0, 0], # [ 5, 0, 0, 0],
# [ 9, 10, 0, 0]]) # [ 9, 10, 0, 0]])
...@@ -3,61 +3,50 @@ ...@@ -3,61 +3,50 @@
triu 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
返回输入矩阵 `x` 的上三角部分,其余部分被设为0。
返回输入矩阵 `input` 的上三角部分,其余部分被设为0。
矩形的上三角部分被定义为对角线上和上方的元素。 矩形的上三角部分被定义为对角线上和上方的元素。
参数: 参数
- **input** (Variable) : 输入Tensor input,数据类型支持 `float32`, `float64`, `int32`, `int64` 。 :::::::::
- **x** (Tensor) : 输入Tensor x,数据类型支持 `float32`, `float64`, `int32`, `int64` 。
- **diagonal** (int,可选) : 指定的对角线,默认值为0。如果diagonal = 0,表示主对角线; 如果diagonal是正数,表示主对角线之上的对角线; 如果diagonal是负数,表示主对角线之下的对角线。 - **diagonal** (int,可选) : 指定的对角线,默认值为0。如果diagonal = 0,表示主对角线; 如果diagonal是正数,表示主对角线之上的对角线; 如果diagonal是负数,表示主对角线之下的对角线。
- **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 - **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。
返回:计算得到的Tensor。Tensor数据类型与输入 `input` 数据类型一致。 返回
:::::::::
``Tensor``, 计算得到的Tensor。Tensor数据类型与输入 `x` 数据类型一致。
返回类型:Variable
**代码示例**: 代码示例
:::::::::
.. code-block:: python .. code-block:: python
import numpy as np import numpy as np
import paddle.fluid as fluid import paddle
import paddle.tensor as tensor
data = np.arange(1, 13, dtype="int64").reshape(3,-1) data = np.arange(1, 13, dtype="int64").reshape(3,-1)
# array([[ 1, 2, 3, 4], # array([[ 1, 2, 3, 4],
# [ 5, 6, 7, 8], # [ 5, 6, 7, 8],
# [ 9, 10, 11, 12]]) # [ 9, 10, 11, 12]])
x = fluid.data(shape=(-1, 4), dtype='int64', name='x') paddle.enable_imperative()
exe = fluid.Executor(fluid.CPUPlace())
# example 1, default diagonal # example 1, default diagonal
triu = tensor.triu(x) x = paddle.imperative.to_variable(data)
triu_out, = exe.run(fluid.default_main_program(), feed={"x": data}, triu1 = paddle.tensor.triu(x)
fetch_list=[triu], return_numpy=True)
# array([[ 1, 2, 3, 4], # array([[ 1, 2, 3, 4],
# [ 0, 6, 7, 8], # [ 0, 6, 7, 8],
# [ 0, 0, 11, 12]]) # [ 0, 0, 11, 12]])
# example 2, positive diagonal value # example 2, positive diagonal value
triu = tensor.triu(x, diagonal=2) triu2 = paddle.tensor.triu(x, diagonal=2)
triu_out, = exe.run(fluid.default_main_program(), feed={"x": data},
fetch_list=[triu], return_numpy=True)
# array([[0, 0, 3, 4], # array([[0, 0, 3, 4],
# [0, 0, 0, 8], # [0, 0, 0, 8],
# [0, 0, 0, 0]]) # [0, 0, 0, 0]])
# example 3, negative diagonal value # example 3, negative diagonal value
triu = tensor.triu(x, diagonal=-1) triu3 = paddle.tensor.triu(x, diagonal=-1)
triu_out, = exe.run(fluid.default_main_program(), feed={"x": data},
fetch_list=[triu], return_numpy=True)
# array([[ 1, 2, 3, 4], # array([[ 1, 2, 3, 4],
# [ 5, 6, 7, 8], # [ 5, 6, 7, 8],
# [ 0, 10, 11, 12]]) # [ 0, 10, 11, 12]])
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册