Tensorflow slim库使用小记
slim库是tensorflow中的一个高层封装,它将原来很多tf中复杂的函数进一步封装,省去了很多重复的参数,以及平时不会考虑到的参数。可以理解为tensorflow的升级版。
导入方式:
import tensorflow as tf
import tensorflow.contrib.slim as slim
常用函数
slim.conv2d
slim.conv2d是基于tf.conv2d的进一步封装,省去了很多参数,一般调用方法如下:
net = slim.conv2d(inputs, 256, [3, 3], stride=1, scope='conv1_1')
前三个参数依次为网络的输入,输出的通道,卷积核大小,stride是做卷积时的步长。除此之外,还有几个经常被用到的参数:
padding : 补零的方式,例如'SAME'
activation_fn : 激活函数,默认是nn.relu
normalizer_fn : 正则化函数,默认为None,这里可以设置为batch normalization,函数用slim.batch_norm
normalizer_params : slim.batch_norm中的参数,以字典形式表示
weights_initializer : 权重的初始化器,initializers.xavier_initializer()
weights_regularizer : 权重的正则化器,一般不怎么用到
biases_initial

这篇博客介绍了Tensorflow的Slim库,它为tf提供高层封装,简化了conv2d、max_pool2d和fully_connected等函数的使用。文章讨论了slim.arg_scope的用法,并提到了batch normalization在训练和测试阶段的注意事项,强调了is_training参数的重要性。
最低0.47元/天 解锁文章
1368





