“”"Contains the arg_scope used for scoping layers arguments.
Allows one to define models much more compactly by eliminating boilerplate
code. This is accomplished through the use of argument scoping (arg_scope).
Example of how to use tf.contrib.framework.arg_scope:
from third_party.tensorflow.contrib.layers.python import layers
arg_scope = tf.contrib.framework.arg_scope
with arg_scope([layers.conv2d], padding='SAME',
initializer=layers.variance_scaling_initializer(),
regularizer=layers.l2_regularizer(0.05)):
net = layers.conv2d(inputs, 64, [11, 11], 4, padding='VALID', scope='conv1')
net = layers.conv2d(net, 256, [5, 5], scope='conv2')
The first call to conv2d will behave as follows:
layers.conv2d(inputs, 64, [11, 11], 4, padding=‘VALID’,
initializer=layers.variance_scaling_initializer(),
regularizer=layers.l2_regularizer(0.05), scope=‘conv1’)
The second call to conv2d will also use the arg_scope’s default for padding:
layers.conv2d(inputs, 256, [5, 5], padding=‘SAME’,
initializer=layers.variance_scaling_initializer(),
regularizer=layers.l2_regularizer(0.05), scope=‘conv2’)
Example of how to reuse an arg_scope:
with arg_scope([layers.conv2d], padding='SAME',
initializer=layers.variance_scaling_initializer(),
regularizer=layers.l2_regularizer(0.05)) as sc:
net = layers.conv2d(net, 256, [5, 5], scope='conv1')
....
with arg_scope(sc):
net = layers.conv2d(net, 256, [5, 5], scope='conv2')
Example of how to use tf.contrib.framework.add_arg_scope to enable your
function to be called within an arg_scope later:
@tf.contrib.framework.add_arg_scope
def conv2d(*args, **kwargs)
“”"
本文介绍了如何利用tf.contrib.framework.arg_scope来简化TensorFlow模型的构建,通过设置默认参数值,减少重复代码,提高代码效率。示例中展示了在arg_scope内如何定义不同层的卷积操作,并解释了如何复用arg_scope。
604

被折叠的 条评论
为什么被折叠?



