mxnet常用层介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20965753/article/details/78348260

下面介绍一些比较常用的层及常用参数,更多的层大家可以在python命令窗执行以下代码来查询

import mxnet as mx
help(mx.symbol)

(1)Activation:激活函数

data: 输入数据,symbol型变量
act_type: {'relu', 'sigmoid', 'tanh'}, 可选的3种激活函数

(2)Convolution:卷积层

data:输入数据,symbol型变量
weight:权重矩阵,symbol型变量
bias:偏置,symbol型变量
kernal:卷积核的尺寸(y,x),二维tuple型变量
stride:卷积步长(y,x),二维tuple型变量,默认为(1,1)
pad:卷积的填补量(y,x),二维tuple型变量,默认为(0,0)
num_filter :卷积滤波器(通道)个数,int型变量
no_bias :是否取消偏置,布尔型变量,默认为False
num_group:groups划分的个数,int型变量,默认为1.该选项不被CUDNN所支持, you can use SliceChannel to num_group,apply convolution and concat instead to achieve the same need.
workspace:卷积的Tmp工作空间的大小MB。long型变量,默认为512

(3)Deconvolution:反卷积层
参数同卷积层一致
(4)Dropout:

data:输入数据,symbol型变量
p : 训练时对输入数据进行dropped out的比例,float型变量,默认为0.5

(5)Flatten:将N维数据变为1维

data:输入数据,symbol型变量
name : string, optional. Name of the resulting symbol.

(6)FullyConnected:全连接层

data:输入数据,symbol型变量
weight:权重矩阵,symbol型变量
bias:偏置,symbol型变量
no_bias :是否取消偏置,布尔型变量,默认为False
num_hidden:输出隐藏节点的个数,int型变量

(7)LRN:

data:输入数据,symbol型变量
alpha : float, optional, default=0.0001.value of the alpha variance scaling parameter in the normalization formula
beta : float, optional, default=0.75.value of the beta power parameter in the normalization formula
knorm : float, optional, default=2.value of the k parameter in normalization formula
nsize : int (non-negative), required.normalization window width in elements.

(8)Pooling

data:输入数据,symbol型变量
kernal:pooling核的尺寸(y,x),二维tuple型变量
stride:pooling步长(y,x),二维tuple型变量,默认为(1,1)
pad:pooling的填补量(y,x),二维tuple型变量,默认为(0,0)
pool_type : pooling的类型,可选的3种{'avg', 'max', 'sum'}

(9)SoftmaxOutput:使用logloss进行BP

data:输入数据,symbol型变量
grad_scale : 为梯度乘以一个比例系数,float型变量,默认为1
multi_output : 布尔型变量,默认为False
    # If set to true, for a (n,k,x_1,..,x_n) dimensionalinput tensor, softmax will generate n*x_1*...*x_n output, eachhas k classes

(10)Variable:定义一个symbol型变量

name : 变量的名字,str型变量
attr : dict of string -> string.Additional attributes to set on the variable.

mxnet/example/image-classification文件夹下以symbol开头的几个.py文件都是定义好的网络模型。我们可以任意打开一个来具体了解一下如何构建一个网络。
有一点需要注意的是:mxnet中通常要在卷积层和全连接层之间价加一个Flatten层用于衔接

猜你喜欢

转载自blog.csdn.net/qq_20965753/article/details/78348260