Slim下的函数介绍

1、slim.conv2d:二维卷积

2、slim.nets.resnet_utils.conv2d_same():使用“SAME”填充的二维卷积

3、 tf.variable_scope()的original_name_scope 和 name的区别:

4、slim.utils.collect_named_outputs(collections, alias, outputs):为output的tensor添加别名,并将tensor添加到collections的列表中

5、slim.separable_conv2d():实现深度可分离卷积

6、slim.learning.train():开始训练

7、slim.evaluation.evaluation_loop():对模型的预测结果进行评估

7、slim.get_variables_to_restore(include=None, exclude=None):

  8、slim.assign_from_checkpoint_fn():

9、tf.contrib.metrics.aggregate_metric_map():

1、slim.conv2d:二维卷积

函数原型:

convolution(inputs, 
        num_outputs, 
        kernel_size, 
        stride=1, 
        padding='SAME',
        data_format =None,
        rate = 1,
        activation_fn = nn.relu,
        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:指需要做卷积的输入图像
    num_outputs:指定卷积核的个数(就是filter的个数)
    kernel_size:N个正整数的序列,指定卷积核的空间维度。 可以是单个整数,则所有空间维度具有相同值。
    stride:一组N个正整数,指定计算输出的stride。 可以是一个整数,则所有空间维具有相同的值。指定任何stride!= 1与指定任何rate!= 1不相容。
    padding:为padding的方式选择,VALID或者SAME
    data_format:是用于指定输入的input的格式
    rate:N个正整数的序列,指定用于萎缩卷积的扩张率。 可以是单个整数,以指定所有空间维度的相同值。 指定任何rate!= 1与指定任何stride!= 1不兼容。
    activation_fn:用于激活函数的指定,默认的为ReLU函数
    normalizer_fn:用于指定正则化函数
    normalizer_params:用于指定正则化函数的参数
    weights_initializer:用于指定权重的初始化程序
    weights_regularizer:为权重可选的正则化程序
    biases_initializer:用于指定biase的初始化程序
    biases_regularizer: biases可选的正则化程序
    reuse:指定是否共享层或者和变量
    variable_collections:指定变量的集合列表或者字典名,变量(weight、biase)会被添加到这个集合中。
    outputs_collections:指定一个列表名,输出(output)会被添加到这个列表。这个(列表名,[output])的键值对位于Graph类的self._collection字典中,如果该字典中没有列表名的关键字,则(列表名,[output])会被创建。
    trainable::卷积层的参数是否可被训练,如果为True,则同样会将变量添加到计算图集合GraphKeys.TRAINABLE_VARIABLES中 
    scope:共享变量所指的variable_scope

2、slim.nets.resnet_utils.conv2d_same():使用“SAME”填充的二维卷积

 函数原型:conv2d_same(inputs, num_outputs, kernel_size, stride, rate=1, scope=None)
    inputs: 一个4维tensor:[batch, height_in, width_in, channels].
    num_outputs:卷积核的个数
    kernel_size: 卷积核的尺寸
    stride: 输出的stride
    rate: 空洞卷积膨胀率
    scope: Scope.

net = conv2d_same(inputs, num_outputs, 3, stride=stride)
#等价于
net = slim.conv2d(inputs, num_outs, 3, stride=1, padding='SAME')
net = subsample(net, factor=stride)
# 但是和net = slim.conv2d(inputs, num_outputs, 3, stride=stride, padding='SAME')不等价,因为输入的高或宽是偶数时, 它是不同的,这就是我们添加当前函数的原因。

Slim下的函数介绍_第1张图片 

Slim下的函数介绍_第2张图片 

Slim下的函数介绍_第3张图片 

 Slim下的函数介绍_第4张图片

 Slim下的函数介绍_第5张图片

Slim下的函数介绍_第6张图片 

 Slim下的函数介绍_第7张图片

 Slim下的函数介绍_第8张图片

 Slim下的函数介绍_第9张图片

Slim下的函数介绍_第10张图片

 Slim下的函数介绍_第11张图片

Slim下的函数介绍_第12张图片 

 Slim下的函数介绍_第13张图片

 Slim下的函数介绍_第14张图片

Slim下的函数介绍_第15张图片

Slim下的函数介绍_第16张图片

 Slim下的函数介绍_第17张图片

Slim下的函数介绍_第18张图片 

Slim下的函数介绍_第19张图片

Slim下的函数介绍_第20张图片

你可能感兴趣的:(tensorflow)