未验证 提交 6b6b11c8 编写于 作者: Q Qinghe JING 提交者: GitHub

add bmm arange api_doc test=develop (#1992)

* add bmm arange api_doc test=develop
上级 c9c48ab3
.. _cn_api_paddle_tensor_arange
arange
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.arange(start, end, step=1, dtype=None, name=None)
该API根据step均匀分隔给定数值区间[start, end),并返回该分隔结果。
**参数**:
- **start** (float32 | float64 | int32 | int64 | Variable) - 区间起点,且区间包括此值, 当类型是Variable时,是shape为 [1] 的1-D Tensor。
- **end** (float32 | float64 | int32 | int64 | Variable) - 区间终点,通常区间不包括此值。但当step不是整数,且浮点数取整会影响输出的长度时例外。
- **step** (float32 | float64 | int32 | int64 | Variable) - 均匀分割的步长。
- **dtype** (str | core.VarDesc.VarType) - 输出Tensor的数据类型,可为 'float32', 'float64', 'int32', 'int64' 。
**返回**:均匀分割给定数值区间后得到的1-D Tensor, 数据类型为输入 dtype 。
**返回类型**:Variable
**代码示例**
.. code-block:: python
import paddle
import paddle.fluid as fluid
with fluid.dygraph.guard():
x = paddle.arange(0, 6, 2)
# x: [0, 2, 4]
# x dtype: float32
.. _cn_api_paddle_tensor_bmm:
bmm
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.bmm(x, y, name=None):
对输入x及输入y进行矩阵相乘。
两个输入的维度必须等于3,并且矩阵x和矩阵y的第一维必须相等
同时矩阵x的第二维必须等于矩阵y的第三维
例如:若x和y分别为(b, m, k)和 (b, k, n)的矩阵,则函数的输出为一个(b, m, n)的矩阵
**参数**:
-**x** (Variable) : 输入变量,类型为 Tensor 或 LoDTensor。
-**y** (Variable) : 输入变量,类型为 Tensor 或 LoDTensor。
-**name** (str|None) : 该层名称(可选),如果设置为空,则自动为该层命名。
**返回**:
- Variable (Tensor / LoDTensor),矩阵相乘后的结果。
**返回类型**:
- Variable(变量)。
**示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
# 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()
.. _cn_api_paddle_tensor_gather
gather
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.gather(input, index, overwrite=True)
根据索引 index 获取输入(input)的最外层维度的条目,并将它们拼接在一起。
.. math::
Out=X[Index]
**参数**:
- **input** (Variable) - 输入, 秩 ``rank >= 1`` , 支持的数据类型包括 int32、int64、float32、float64 和 uint8 (CPU)、float16(GPU) 。
- **index** (Variable) - 索引,秩 ``rank = 1``, 数据类型为 int32 或 int64。
- **overwrite** (bool) - 具有相同索引时在反向更新梯度的模式。如果为 ``True`` ,则使用覆盖模式更新相同索引的梯度;如果为 ``False`` ,则使用累积模式更新相同索引的梯度。默认值为 ``True`` 。
**返回**:和输入的秩相同的输出张量。
**返回类型**:Variable
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
import numpy as np
with fluid.dygraph.guard():
input_1 = np.array([[1,2,3],[4,5,6],[7,8,9]])
index_1 = np.array([0,1])
input = fluid.dygraph.to_variable(input_1)
index = fluid.dygraph.to_variable(index_1)
output = paddle.fluid.layers.gather(input, index)
# expected output: [[1, 2, 3],[4, 5, 6]]
.. _cn_api_paddle_tensor_split
split
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.split(input, num_or_sections, dim=-1, name=None)
该OP将输入Tensor分割成多个子Tensor。
**参数**:
- **input** (Variable) - 输入变量,数据类型为float32,float64,int32,int64的多维Tensor或者LoDTensor。
- **num_or_sections** (int|list|tuple) - 如果 num_or_sections 是一个整数,则表示Tensor平均划分为相同大小子Tensor的数量。如果 num_or_sections 是一个list或tuple,那么它的长度代表子Tensor的数量,它的元素可以是整数或者形状为[1]的Tensor,依次代表子Tensor需要分割成的维度的大小。list或tuple的长度不能超过输入Tensor待分割的维度的大小。在list或tuple中,至多有一个元素值为-1,表示该值是由input的维度和其他num_or_sections中元素推断出来的。例如对一个维度为[4,6,6]Tensor的第三维进行分割时,指定num_or_sections=[2,-1,1],输出的三个Tensor维度分别为:[4,6,2],[4,6,3],[4,6,1]。
- **dim** (int|Variable,可选) - 整数或者形状为[1]的Tensor,数据类型为int32或int64。表示需要分割的维度。如果dim < 0,则划分的维度为rank(input) + dim。默认值为-1。
- **name** (str,可选) - 一般无需设置,默认值为None。
**返回**:分割后的Tensor列表。
**返回类型**:列表(Variable(Tensor|LoDTensor)),数据类型为int32,int64,float32,float64。
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
import numpy as np
with fluid.dygraph.guard():
input_1 = np.random.random([4, 6, 6]).astype("int32")
# input is a variable which shape is [4, 6, 6]
input = fluid.dygraph.to_variable(input_1)
x0, x1, x2 = paddle.split(input, num_or_sections= 3, dim=1)
# x0.shape [4, 2, 6]
# x1.shape [4, 2, 6]
# x2.shape [4, 2, 6]
.. _cn_api_paddle_tensor_squeeze
squeeze
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.squeeze(input, zxes, name=None)
该OP会根据axes压缩输入Tensor的维度。如果指定了axes,则会删除axes中指定的维度,axes指定的维度要等于1。如果没有指定axes,那么所有等于1的维度都会被删除。
**参数**:
- **input** (Variable) - 输入任意维度的Tensor。 支持的数据类型:float32,float64,int8,int32,int64。
- **axes** (list) - 输入一个或一列整数,代表要压缩的轴。axes的范围: [−rank(input),rank(input))] 。 axes为负数时, axes=axes+rank(input) 。
- **name** (str,可选) - 一般无需设置,默认值为None。
**返回**:返回对维度进行压缩后的Tensor。数据类型与输入Tensor一致。
**返回类型**:Variable
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
import numpy as np
with fluid.dygraph.guard():
input_1 = np.random.random([5, 1, 10]).astype("int32")
# input is a variable which shape is [5, 1, 10]
input = fluid.dygraph.to_variable(input_1)
output = paddle.fluid.layers.squeeze(input, axes=[1])
# output.shape [5, 10]
.. _cn_api_paddle_tensor_arange
stack
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.stack(x, axis=0)
该OP沿 axis 轴对输入 x 进行堆叠操作。
**参数**:
- **x** (Variable|list(Variable)) – 输入 x 可以是单个Tensor,或是多个Tensor组成的列表。如果 x 是一个列表,那么这些Tensor的维度必须相同。 假设输入是N维Tensor [d0,d1,...,dn−1],则输出变量的维度为N+1维 [d0,d1,...daxis−1,len(x),daxis...,dn−1] 。支持的数据类型: float32,float64,int32,int64。
- **axis** (int, 可选) – 指定对输入Tensor进行堆叠运算的轴,有效 axis 的范围是: [−(R+1),R+1)],R是输入中第一个Tensor的rank。如果 axis < 0,则 axis=axis+rank(x[0])+1 。axis默认值为0。
**返回**:堆叠运算后的Tensor,数据类型与输入Tensor相同。输出维度等于 rank(x[0])+1 维。
**返回类型**:Variable
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
import numpy as np
data1 = np.array([[1.0, 2.0,3.0]])
data2 = np.array([[3.0, 4.0, 5.0]])
data3 = np.array([[5.0, 6.0,7.0]])
with fluid.dygraph.guard():
x1 = fluid.dygraph.to_variable(data1)
x2 = fluid.dygraph.to_variable(data2)
x3 = fluid.dygraph.to_variable(data3)
result = paddle.stack([x1, x2, x3], axis=2)
# result shape: [3, 1, 2]
# result value: [[[1.0, 2.0]],
# [[3.0, 4.0]],
# [[5.0, 6.0]]]
.. _cn_api_paddle_tensor_unsqueeze
unsqueeze
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.unsqueeze(input, axes, name=None)
该OP向输入(input)的shape中一个或多个位置(axes)插入维度。
**参数**:
- **input** (Variable)- 多维 Tensor,数据类型为 float32, float64, int8, int32,或 int64。
- **axes** (int|list|tuple|Variable) - 表示要插入维度的位置。数据类型是 int32 。如果 axes 的类型是 list 或 tuple,它的元素可以是整数或者形状为[1]的 Tensor 。如果 axes 的类型是 Variable,则是1-D Tensor。
- **name** (str,可选)- 一般无需设置。默认值: None。
**返回**:扩展维度后的多维Tensor
**返回类型**:Variable
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
import numpy as np
with fluid.dygraph.guard():
input_1 = np.random.random([5, 10]).astype("int32")
# input is a variable which shape is [5, 1, 10]
input = fluid.dygraph.to_variable(input_1)
output = paddle.unsqueeze(input, axes=[1])
# output.shape [5, 1, 10]
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册