函数封装库tf.contrib.layers
1. tf.contrib.layers.conv2d()函数的定义
2. tf.contrib.layers.fully_connected()函数的定义
3. tf.contrib.layers.max_pool2d()函数的定义
4. tf.contrib.layers.avg_pool2d()函数定义
1.tf.contrib.layers.conv2d()函数定义
def convolution(inputs,
num_outputs,
kernel_size,
stride=1,
padding='SAME',
data_format=None,
rate=1,
activation_fn=nn.relu,
normalizer_fn=None,
normalizer_params=None,
weights_initializer=initializers.xavier_initializer(),
weights_regularizer=None,
biases_initializer=init_ops.zeros_initializer(),
biases_regularizer=None,
reuse=None,
variables_collections=None,
outputs_collections=None,
trainable=True,
scope=None):
常用的参数说明如下:
- inputs:形状为[batch_size, height, width, channels]的输入。
- num_outputs:代表输出几个channel。这里不需要再指定输入的channel了,因为函数会自动根据inpus的shpe去判断。
- kernel_size:卷积核大小,不需要带上batch和channel,只需要输入尺寸即可。[5,5]就代表5x5的卷积核,如果长和宽都一样,也可以只写一个数5.
- stride:步长,默认是长宽都相等的步长。卷积时,一般都用1,所以默认值也是1.如果长和宽都不相等,也可以用一个数组[1,2]。
- padding:填充方式,‘SAME’或者’VALID’。
- activation_fn:激活函数。默认是ReLU。也可以设置为其他。
- weights_initializer:权重的初始化,默认为initializers.xavier_initializer()函数。
- weights_regularizer:权重正则化项,可以加入正则函数。biases_initializer:偏置的初始化,默认为init_ops.zeros_initializer()函数。
- biases_regularizer:偏置正则化项,可以加入正则函数。
- trainable:是否可训练,如作为训练节点,必须设置为True,默认即可。如果我们是微调网络,有时候需要冻结某一层的参数,则设置为False。
2.tf.contrib.layers.fully_connected()函数定义
def fully_connected(inputs,
num_outputs,
activation_fn=nn.relu,
normalizer_fn=None,
normalizer_params=None,
weights_initializer=initializers.xavier_initializer(),
weights_regularizer=None,
biases_initializer=init_ops.zeros_initializer(),
biases_regularizer=None,
reuse=None,
variables_collections=None,
outputs_collections=None,
trainable=True,
scope=None):
3. tf.contrib.layers.max_pool2d()函数的定义
def max_pool2d(inputs,
kernel_size,#A 4-D tensor of shape `[batch_size, height, width, channels]`
stride=2,
padding='VALID',
data_format=DATA_FORMAT_NHWC,
outputs_collections=None,
scope=None):
4.tf.contrib.layers.avg_pool2d()函数定义
def avg_pool2d(inputs,
kernel_size,
stride=2,
padding='VALID',
data_format=DATA_FORMAT_NHWC,
outputs_collections=None,
scope=None):