Skip to content

Commit

Permalink
Update channel_shuffle_cn.rst
Browse files Browse the repository at this point in the history
  • Loading branch information
BrilliantYuKaimin committed Apr 19, 2022
1 parent b2c69af commit 16ca92e
Showing 1 changed file with 8 additions and 27 deletions.
35 changes: 8 additions & 27 deletions docs/api/paddle/nn/functional/channel_shuffle_cn.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,22 @@ channel_shuffle
-------------------------------

.. py:function:: paddle.nn.functional.channel_shuffle(x, groups, data_format="NCHW", name=None)
该算子将一个形为[N, C, H, W]或是[N, H, W, C]的Tensor按通道分成g组,得到形为[N, g, C/g, H, W][N, H, W, g, C/g]的Tensor,然后转置为[N, C/g, g, H, W][N, H, W, C/g, g]的形状,最后重塑为原来的形状。这样做可以增加通道间的信息流动,提高特征的重用率。详见张祥雨等人在2017年发表的论文 `ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices <https://arxiv.org/abs/1707.01083>`_ 。
该算子将一个形为 [N, C, H, W] 或是 [N, H, W, C] 的 Tensor 按通道分成 g 组,得到形为 [N, g, C/g, H, W][N, H, W, g, C/g] 的 Tensor,然后转置为 [N, C/g, g, H, W][N, H, W, C/g, g] 的形状,最后重塑为原来的形状。这样做可以增加通道间的信息流动,提高特征的重用率。详见张祥雨等人在 2017 年发表的论文 `ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices <https://arxiv.org/abs/1707.01083>`_ 。

.. note::
详细请参考对应的 `Class` 请参考: :ref:`cn_api_nn_ChannelShuffle`
详细请参考对应的 `Class` 请参考: :ref:`cn_api_nn_ChannelShuffle`。

参数
:::::::::
- **x** (Tensor): 当前算子的输入,其是一个形状为 `[N, C, H, W]` 的4-D Tensor。其中 `N` 是batch size,`C` 是通道数,`H` 是输入特征的高度,`W` 是输入特征的宽度。其数据类型为float32或者float64;
- **groups** (int): 要把通道分成的组数;
- **data_format** (str,可选): 数据格式,可选: "NCHW"或"NHWC",默认: "NCHW";
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
- **x** (Tensor)当前算子的输入,其是一个形状为 [N, C, H, W] 的 4-D Tensor。其中 N 是批大小,C 是通道数,H 是输入特征的高度,W 是输入特征的宽度。其数据类型为 float32 或 float64。
- **groups** (int) 要把通道分成的组数;
- **data_format** (str,可选)数据格式,可选NCHWNHWC,默认为 NCHW,即(批大小,通道数,高度,宽度)的格式。
- **name** (str,可选)操作的名称可选,默认值为 None),大多数情况下不需要设置此属性。更多信息请参见 :ref:`api_guide_Name`。

返回
:::::::::
``Tensor``,输出Tensor,其数据类型与输入相同。
``Tensor``,调整过通道顺序的 Tensor,其数据类型与输入相同。

代码示例
:::::::::

.. code-block:: python
import paddle
import paddle.nn.functional as F
x = paddle.arange(0, 0.6, 0.1, 'float32')
x = paddle.reshape(x, [1, 6, 1, 1])
# [[[[0. ]],
# [[0.10000000]],
# [[0.20000000]],
# [[0.30000001]],
# [[0.40000001]],
# [[0.50000000]]]]
y = F.channel_shuffle(x, 3)
# [[[[0. ]],
# [[0.20000000]],
# [[0.40000001]],
# [[0.10000000]],
# [[0.30000001]],
# [[0.50000000]]]]
COPY-FROM: paddle.nn.functional.channel_shuffle:channel_shuffle-example

1 comment on commit 16ca92e

@paddle-bot-old
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.