diff --git a/doc/fluid/api_cn/tensor_cn/flatten_cn.rst b/doc/fluid/api_cn/tensor_cn/flatten_cn.rst index 359bedd2da518e1a286e96e387a640380f51c396..720509ba7f767a0426d6a320e46b93842b144a93 100644 --- a/doc/fluid/api_cn/tensor_cn/flatten_cn.rst +++ b/doc/fluid/api_cn/tensor_cn/flatten_cn.rst @@ -2,6 +2,65 @@ flatten ------------------------------- -:doc_source: paddle.fluid.layers.flatten + +.. py:function:: paddle.tensor.manipulation.flatten(x, start_axis=0, stop_axis=-1, name=None) + + + +flatten op 根据给定的start_axis 和 stop_axis 将连续的维度展平 + +例如: + +.. code-block:: text + + Case 1: + + 给定 + X.shape = (3, 100, 100, 4) + 且 + start_axis = 1 + stop_axis = 2 + + 得到: + Out.shape = (3, 100 * 100, 4) + + Case 2: + + 给定 + X.shape = (3, 100, 100, 4) + 且 + start_axis = 0 + stop_axis = -1 + + 得到: + 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相同。 + +抛出异常: + - ValueError: 如果 x 不是一个Tensor + - ValueError: 如果start_axis或者stop_axis不合法 + +**代码示例** + +.. code-block:: python + + import paddle + import numpy as np + paddle.enable_imperative() + image_shape=(2, 3, 4, 4) + x = np.arange(image_shape[0] * image_shape[1] * image_shape[2] * image_shape[3]).reshape(image_shape) / 100. + x = x.astype('float32') + + img = paddle.imperative.to_variable(x) + out = paddle.flatten(img, start_axis=1, stop_axis=2) + # out shape is [2, 12, 4] +