专栏首页中科院渣渣博肆僧一枚tf.contrib.framework.arg_scope

tf.contrib.framework.arg_scope

存储给定list_ops集合的默认参数。

tf.contrib.framework.arg_scope(
    list_ops_or_scope,
    **kwargs
)

参数:

  • list_ops_or_scope:为包含当前范围的字典设置参数范围的操作的列表或元组。当list_ops_or_scope是dict时,kwargs必须为空。当list_ops_or_scope是一个列表或元组时,其中的每个op都需要用@add_arg_scope修饰才能工作。
  • **kwargs: keyword=值,它将为list_ops中的每个操作定义默认值。所有的ops都需要接受给定的一组参数。

范围:

  • current_scope是{op: {arg: value}}的字典

可能产生的异常:

  • TypeError: if list_ops is not a list or a tuple.
  • ValueError: if any op in list_ops has not be decorated with @add_arg_scope.

例:

在定义卷积层时,可能总是使用相同的填充类型和相同的初始化器,甚至可能使用相同的卷积大小。对于池化,可能也总是使用相同的2x2池大小,等等。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')

conv2d的第一个调用将如下所示:

layers.conv2d(inputs, 64, [11, 11], 4, padding='VALID',
                  initializer=layers.variance_scaling_initializer(),
                  regularizer=layers.l2_regularizer(0.05), scope='conv1')    

conv2d的第二个调用也将使用arg_scope的默认填充:

layers.conv2d(inputs, 64, [11, 11], 4, padding='VALID',
              initializer=layers.variance_scaling_initializer(),
              regularizer=layers.l2_regularizer(0.05), scope='conv1')    

如何重用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')

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数学符号Span的含义

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    于小勇
  • tensorflow中的slim函数集合

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    于小勇
  • slim.arg_scope()

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    于小勇
  • 联想前高管组建明星团队进军无人机,迎难而上还是生来败局?

    前言 丨飞马无人机的目标人群与大疆有所区隔,更多面向普通消费者而非极客,试图让更多人尝试更小型、更便携的产品。 ? 大疆Mavic的发布,不仅没有让其他消费无人...

    机器人网
  • 使用变分编解码器实现自动图像生成

    深度学习不仅仅在擅长于从现有数据中发现规律,而且它能主动运用规律创造出现实世界没有的实例来。例如给网络输入大量的人脸图片,让它识别人脸特征,然后我们可以指导网络...

    望月从良
  • 我对RPC的理解

      这篇文章将会用最直白的方式介绍RPC,以及实现RPC客户端的Ajax跨域调用的例子。

    那一叶随风
  • 在学习django-rest-framework时收集的学习资料推荐

    由于我平时开发的 django 项目都比较小,所以一直以来都是使用 django 模板引擎渲染 html 页面这种比较原始的方式在开发。最近发起了一个 Djan...

    追梦人物
  • 在学习django-rest-framework时收集的学习资料推荐

    由于我平时开发的 django 项目都比较小,所以一直以来都是使用 django 模板引擎渲染 html 页面这种比较原始的方式在开发。最近发起了一个 Djan...

    追梦人物
  • React-Native 分包实践

    对于很多在使用react-native开发应用的小伙伴们肯定都会遇到一个问题,功能越来越复杂,生成的jsbundle文件越来越大,无论是打包在app内发布还是走...

    QQ音乐技术团队
  • “码”上复学,云端答辩——腾讯教育助力武汉大学战“疫”

    ? 久别重逢,欢迎回“珈”。根据教育部和湖北省统一部署,按照“错时错峰、自愿申请、非必须不返校”的原则,武汉大学迎来了首批返校毕业生:行李消杀,身份校验,健康...

    鹅老师

扫码关注云+社区

领取腾讯云代金券