用法:
mxnet.symbol.Convolution(data=None, weight=None, bias=None, kernel=_Null, stride=_Null, dilate=_Null, pad=_Null, num_filter=_Null, num_group=_Null, workspace=_Null, no_bias=_Null, cudnn_tune=_Null, cudnn_off=_Null, layout=_Null, name=None, attr=None, out=None, **kwargs)- data:(
Symbol) - 将数据输入到 ConvolutionOp。 - weight:(
Symbol) - 权重矩阵。 - bias:(
Symbol) - 偏置参数。 - kernel:(
Shape(tuple),required) - 卷积核大小:(w,), (h, w) 或 (d, h, w) - stride:(
Shape(tuple),optional,default=[]) - 卷积步幅:(w,)、(h, w) 或 (d, h, w)。每个维度默认为 1。 - dilate:(
Shape(tuple),optional,default=[]) - 卷积膨胀:(w,)、(h, w) 或 (d, h, w)。每个维度默认为 1。 - pad:(
Shape(tuple),optional,default=[]) - 卷积的零填充:(w,)、(h, w) 或 (d, h, w)。默认为无填充。 - num_filter:(
int(non-negative),required) - 卷积滤波器(通道)编号 - num_group:(
int(non-negative),optional,default=1) - 组分区数。 - workspace:(
long(non-negative),optional,default=1024) - 卷积中允许的最大临时工作空间 (MB)。此参数有两种用法。当不使用 CUDNN 时,它决定了卷积核的有效批大小。当使用 CUDNN 时,它控制用于调整最佳 CUDNN 内核的最大临时存储空间limited_workspace使用策略。 - no_bias:(
boolean,optional,default=0) - 是否禁用偏差参数。 - cudnn_tune:(
{None,'fastest','limited_workspace','off'},optional,default='None') - 是否通过运行性能测试来选择卷积算法。 - cudnn_off:(
boolean,optional,default=0) - 关闭此层的 cudnn。 - layout:(
{None,'NCDHW','NCHW','NCW','NDHWC','NHWC'},optional,default='None') - 设置输入、输出和权重的布局。默认布局为空:NCW 表示 1d,NCHW 表示 2d,NCDHW 表示 3d。NHWC 和 NDHWC 仅在 GPU 上支持。 - name:(
string,optional.) - 结果符号的名称。
- data:(
结果符号。
参数:
返回:
返回类型:
在
(N+2)-D 输入上计算N-D 卷积。在二维卷积中,给定形状为
(batch_size, channel, height, width)的输入数据,输出由下式计算其中 是二维互相关算子。
对于一般的二维卷积,形状是
- data:
(batch_size, channel, height, width) - weight:
(num_filter, channel, kernel[0], kernel[1]) - bias:
(num_filter,) - out:
(batch_size, num_filter, out_height, out_width).
定义:
f(x,k,p,s,d) = floor((x+2*p-d*(k-1)-1)/s)+1那么我们有:
out_height=f(height, kernel[0], pad[0], stride[0], dilate[0]) out_width=f(width, kernel[1], pad[1], stride[1], dilate[1])如果
no_bias设置为 true,则忽略bias项。默认数据
layout为NCHW,即(batch_size, channel, height, width)。我们可以选择其他布局,例如NWC。如果
num_group大于 1,用g表示,则将输入data沿通道轴均匀拆分为g部分,并沿第一维均匀拆分weight。接下来计算i-th 数据部分与i-th 权重部分的卷积。通过连接所有g结果获得输出。一维卷积没有
height维度,但在空间中只有width。- data:
(batch_size, channel, width) - weight:
(num_filter, channel, kernel[0]) - bias:
(num_filter,) - out:
(batch_size, num_filter, out_width).
除了
height和width之外,3-D 卷积还增加了一个额外的depth维度。形状是- data:
(batch_size, channel, depth, height, width) - weight:
(num_filter, channel, kernel[0], kernel[1], kernel[2]) - bias:
(num_filter,) - out:
(batch_size, num_filter, out_depth, out_height, out_width).
weight和bias都是可学习的参数。还有其他选项可以调整性能。
- cudnn_tune:启用此选项会导致更长的启动时间,但可能会提供更快的速度。选项是
- off: 没有调
- limited_workspace:运行测试并选择不超过工作空间限制的最快算法。
- fastest:选择最快的算法并忽略工作空间限制。
- None(默认):行为由环境变量决定
MXNET_CUDNN_AUTOTUNE_DEFAULT. 0 表示关闭,1 表示有限工作空间(默认),2 表示最快。
- workspace:大量会导致更多(GPU)内存使用,但可能会提高性能。
相关用法
- Python mxnet.symbol.Concat用法及代码示例
- Python mxnet.symbol.Cast用法及代码示例
- Python mxnet.symbol.op.broadcast_logical_xor用法及代码示例
- Python mxnet.symbol.op.log_softmax用法及代码示例
- Python mxnet.symbol.space_to_depth用法及代码示例
- Python mxnet.symbol.random_pdf_poisson用法及代码示例
- Python mxnet.symbol.argmin用法及代码示例
- Python mxnet.symbol.linalg_potrf用法及代码示例
- Python mxnet.symbol.contrib.dgl_graph_compact用法及代码示例
- Python mxnet.symbol.op.SliceChannel用法及代码示例
- Python mxnet.symbol.op.linalg_trmm用法及代码示例
- Python mxnet.symbol.sparse.exp用法及代码示例
- Python mxnet.symbol.Symbol.attr用法及代码示例
- Python mxnet.symbol.sparse.zeros_like用法及代码示例
- Python mxnet.symbol.Symbol.get_children用法及代码示例
- Python mxnet.symbol.op.broadcast_plus用法及代码示例
- Python mxnet.symbol.linalg.makediag用法及代码示例
- Python mxnet.symbol.op.broadcast_mul用法及代码示例
- Python mxnet.symbol.fix用法及代码示例
- Python mxnet.symbol.broadcast_hypot用法及代码示例
- Python mxnet.symbol.linalg_gelqf用法及代码示例
- Python mxnet.symbol.op.reciprocal用法及代码示例
- Python mxnet.symbol.choose_element_0index用法及代码示例
- Python mxnet.symbol.pow用法及代码示例
- Python mxnet.symbol.op.argmax用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.symbol.Convolution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
