提交 143ae863 编写于 作者: D DuYao 提交者: hong

update Conv3d Chinese document (#1342)

* update conv3d, test=document_fix

* update, test=develop

* update, test=document_fix

* update, test=document_fix

* update, test=document_fix

* update, test=document_fix

* update, test=document_fix

* reference to the corresponding static graph api, test=document_fix

* update use_cudnn, test=document_fix

* update, test=document_fix
上级 f45ffa20
......@@ -6,7 +6,7 @@ Conv3D
.. py:class:: paddle.fluid.dygraph.Conv3D(name_scope, num_filters, filter_size, stride=1, padding=0, dilation=1, groups=None, param_attr=None, bias_attr=None, use_cudnn=True, act=None)
3D卷积层(convolution3D layer)根据输入、滤波器(filter)、步长(stride)、填充(padding)、膨胀(dilations)、组数参数计算得到输出。输入和输出是NCHW格式,N是批尺寸,C是通道数,H是特征高度,W是特征宽度。卷积三维(Convlution3D)和卷积二维(Convlution2D)相似,但多了一维深度(depth)。如果提供了bias属性和激活函数类型,bias会添加到卷积(convolution)的结果中相应的激活函数会作用在最终结果上。
该接口用于构建 ``Conv3D`` 类的一个可调用对象,具体用法参照 ``代码示例`` 。3D卷积层(convolution3D layer)根据输入、滤波器(filter)、步长(stride)、填充(padding)、膨胀(dilations)、组数参数计算得到输出。输入和输出是[N, C, D, H, W]的多维tensor,其中N是批尺寸,C是通道数,D是特征深度,H是特征高度,W是特征宽度。卷积三维(Convlution3D)和卷积二维(Convlution2D)相似,但多了一维深度(depth)。如果提供了bias属性和激活函数类型,bias会添加到卷积(convolution)的结果中相应的激活函数会作用在最终结果上。
对每个输入X,有等式:
......@@ -19,18 +19,18 @@ Conv3D
- :math:`X` :输入值,NCDHW格式的张量(Tensor)
- :math:`W` :滤波器值,MCDHW格式的张量(Tensor)
- :math:`*` : 卷积操作
- :math:`b` :Bias值,二维张量(Tensor),为 ``[M,1]``
- :math:`b` :Bias值,二维张量(Tensor),维度为 ``[M,1]``
- :math:`\sigma` :激活函数
- :math:`Out` :输出值, 和 ``X`` 的形状可能不同
- :math:`Out` :输出值, ``Out`` 和 ``X`` 的维度可能不同
**示例**
- 输入:
输入shape: :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})`
输入Tensor的维度: :math:`[N, C_{in}, D_{in}, H_{in}, W_{in}]`
滤波器shape: :math:`(C_{out}, C_{in}, D_f, H_f, W_f)`
滤波器Tensor的维度: :math:`[C_{out}, C_{in}, D_f, H_f, W_f]`
- 输出:
输出shape: :math:`(N, C_{out}, D_{out}, H_{out}, W_{out})`
输出Tensor的维度: :math:`[N, C_{out}, D_{out}, H_{out}, W_{out}]`
其中
......@@ -42,25 +42,20 @@ Conv3D
W_{out}&= \frac{(W_{in} + 2 * paddings[2] - (dilations[2] * (W_f - 1) + 1))}{strides[2]} + 1
参数:
- **name_scope** (str) - 该类的名称
- **num_fliters** (int) - 滤波器数。和输出图像通道相同
- **filter_size** (int|tuple|None) - 滤波器大小。如果filter_size是一个元组,则必须包含三个整型数,(filter_size_D, filter_size_H, filter_size_W)。否则,滤波器为棱长为int的立方体形
- **stride** (int|tuple) - 步长(stride)大小。如果步长(stride)为元组,则必须包含三个整型数, (stride_D, stride_H, stride_W)。否则,stride_D = stride_H = stride_W = stride。默认:stride = 1
- **padding** (int|tuple) - 填充(padding)大小。如果填充(padding)为元组,则必须包含三个整型数,(padding_D, padding_H, padding_W)。否则, padding_D = padding_H = padding_W = padding。默认:padding = 0
- **dilation** (int|tuple) - 膨胀(dilation)大小。如果膨胀(dialation)为元组,则必须包含两个整型数, (dilation_D, dilation_H, dilation_W)。否则,dilation_D = dilation_H = dilation_W = dilation。默认:dilation = 1
- **groups** (int) - 卷积二维层(Conv2D Layer)的组数。根据Alex Krizhevsky的深度卷积神经网络(CNN)论文中的成组卷积:当group=2,滤波器的前一半仅和输入通道的前一半连接。滤波器的后一半仅和输入通道的后一半连接。默认:groups = 1
- **param_attr** (ParamAttr|None) - conv2d的可学习参数/权重的参数属性。如果设为None或者ParamAttr的一个属性,conv2d创建ParamAttr为param_attr。如果param_attr的初始化函数未设置,参数则初始化为 :math:`Normal(0.0,std)`,并且std为 :math:`\left ( \frac{2.0}{filter\_elem\_num} \right )^{0.5}` 。默认为None
- **bias_attr** (ParamAttr|bool|None) - conv2d bias的参数属性。如果设为False,则没有bias加到输出。如果设为None或者ParamAttr的一个属性,conv2d创建ParamAttr为bias_attr。如果bias_attr的初始化函数未设置,bias初始化为0.默认为None
- **use_cudnn** (bool) - 是否用cudnn核,仅当下载cudnn库才有效。默认:True
- **act** (str) - 激活函数类型,如果设为None,则未添加激活函数。默认:None
- **name_scope** (str) - 该类的名称
- **num_fliters** (int) - 滤波器(卷积核)的个数。和输出图像通道相同。
- **filter_size** (int|tuple) - 滤波器大小。如果filter_size是一个元组,则必须包含三个整型数,(filter_size_D, filter_size_H, filter_size_W)。如果filter_size是一个int型,则filter_size_depth = filter_size_height = filter_size_width = filter_size
- **stride** (int|tuple,可选) - 步长(stride)大小。滤波器和输入进行卷积计算时滑动的步长。如果步长(stride)为元组,则必须包含三个整型数, (stride_D, stride_H, stride_W)。否则,stride_D = stride_H = stride_W = stride。默认值为1。
- **padding** (int|tuple,可选) - 填充(padding)大小。padding参数在输入特征层每边添加padding个0。如果填充(padding)为元组,则必须包含三个整型数,(padding_depth, padding_height, padding_width)。否则, padding_depth = padding_height = padding_width = padding。默认值为0。
- **dilation** (int|tuple,可选) - 膨胀(dilation)大小。空洞卷积时会指该参数,滤波器对输入进行卷积时,感受野里每相邻两个特征点之间的空洞信息,根据 `可视化效果图 <https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md>`_ 较好理解。如果膨胀(dialation)为元组,则必须包含两个整型数, (dilation_D, dilation_H, dilation_W)。否则,dilation_D = dilation_H = dilation_W = dilation。默认值为1。
- **groups** (int,可选) - 三维卷积层(Conv3D Layer)的组数。根据Alex Krizhevsky的深度卷积神经网络(CNN)论文中的成组卷积:当group=2,输入和滤波器分别根据通道数量平均分为两组,第一组滤波器和第一组输入进行卷积计算,第二组滤波器和第二组输入进行卷积计算。默认值为1。
- **param_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_fluid_ParamAttr` 。
- **bias_attr** (ParamAttr,可选) - 指定偏置参数属性的对象。默认值为None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_fluid_ParamAttr`。
- **use_cudnn** (bool,可选) - 是否用cudnn内核,只有安装Paddle GPU版时才有效。默认值为True。
- **act** (str,可选) - 激活函数类型,如果设为None,则未添加激活函数。默认值为None。
返回:张量,存储卷积和非线性激活结果
返回类型:变量(Variable)
抛出异常:
- ``ValueError`` - 如果 ``input`` 的形和 ``filter_size`` , ``stride`` , ``padding`` 和 ``groups`` 不匹配。
返回:无
**代码示例**:
......@@ -76,8 +71,14 @@ Conv3D
ret = conv3d(fluid.dygraph.base.to_variable(data))
属性
::::::::::::
.. py:attribute:: weight
本层的可学习参数,类型为 ``Parameter``
.. py:attribute:: bias
本层的可学习偏置,类型为 ``Parameter``
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册