解析 slim.arg_scope

2023-11-09

 

def resnet_arg_scope(weight_decay=0.0001,
                     is_training=True,
                     batch_norm_decay=0.997,
                     batch_norm_epsilon=1e-5,
                     batch_norm_scale=True,
                     activation_fn=tf.nn.relu,
                     use_batch_norm=True):
  """Defines the default ResNet arg scope.

  TODO(gpapan): The batch-normalization related default values above are
    appropriate for use in conjunction with the reference ResNet models
    released at https://github.com/KaimingHe/deep-residual-networks. When
    training ResNets from scratch, they might need to be tuned.

  Args:
    weight_decay: The weight decay to use for regularizing the model.
    batch_norm_decay: The moving average decay when estimating layer activation
      statistics in batch normalization.
    batch_norm_epsilon: Small constant to prevent division by zero when
      normalizing activations by their variance in batch normalization.
    batch_norm_scale: If True, uses an explicit `gamma` multiplier to scale the
      activations in the batch normalization layer.
    activation_fn: The activation function which is used in ResNet.
    use_batch_norm: Whether or not to use batch normalization.

  Returns:
    An `arg_scope` to use for the resnet models.
  """
  batch_norm_params = {
      'decay': batch_norm_decay,
      'epsilon': batch_norm_epsilon,
      'scale': batch_norm_scale,
      'updates_collections': None,
      'is_training': is_training,
      'fused': True,  # Use fused batch norm if possible.
  }

  with slim.arg_scope(     #1  
      [slim.conv2d],
      weights_regularizer=slim.l2_regularizer(weight_decay),
      weights_initializer=slim.variance_scaling_initializer(),
      activation_fn=activation_fn,
      normalizer_fn=slim.batch_norm if use_batch_norm else None,
      normalizer_params=batch_norm_params):
    with slim.arg_scope([slim.batch_norm], **batch_norm_params): #2  
      # The following implies padding='SAME' for pool1, which makes feature
      # alignment easier for dense prediction tasks. This is also used in
      # https://github.com/facebook/fb.resnet.torch. However the accompanying
      # code of 'Deep Residual Learning for Image Recognition' uses
      # padding='VALID' for pool1. You can switch to that choice by setting
      # slim.arg_scope([slim.max_pool2d], padding='VALID')
      with slim.arg_scope([slim.max_pool2d], padding='SAME') as arg_sc: #23
        return arg_sc

 

#1 第一个 slim.arg_scope [slim.conv2d]  就是 给[] 里面的所有的 op,传递后面默认的参数    

# 2 第二个 slim.arg_scope 假设 现在增加一个[slim.batch_norm,slim.conv2d] 然后 第一个arg_scope的参数 

weights_regularizer=slim.l2_regularizer(weight_decay),
      weights_initializer=slim.variance_scaling_initializer(),
      activation_fn=activation_fn,
      normalizer_fn=slim.batch_norm if use_batch_norm else None,
      normalizer_params=batch_norm_params 以及 第二个arg_scope的 参数 batch_norm_params 都会传递给conv2d  

#3 第三个 slim.arg_scope 的arg_sc 其实包含了 上面三个scope的 list 里面的op 机器对应的参数   

resnet_arg_scope = resnet_utils.resnet_arg_scope

resnet_arg_scope ()返回 

{
'<function convolution2d at 0x000002680A9DE488>': {'weights_regularizer': <function l2_regularizer.<locals>.l2 at 0x000002680DEDABF8>, 
'weights_initializer': <function variance_scaling_initializer.<locals>._initializer at 0x000002680DEDAD08>,
 'activation_fn': <function relu at 0x0000026805F9F9D8>, 
 'normalizer_fn': <function add_arg_scope.<locals>.func_with_args at 0x000002680A9D5EA0>, 
 'normalizer_params': {'decay': 0.997, 'epsilon': 1e-05, 'scale': True, 'updates_collections': None, 'is_training': True, 'fused': True}}, 
 '<function batch_norm at 0x000002680A9D5E18>': {'decay': 0.997, 'epsilon': 1e-05, 'scale': True, 'updates_collections': None, 'is_training': True, 'fused': True}, 
 '<function max_pool2d at 0x000002680AA5DAE8>': {'padding': 'SAME'}

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 slim.arg_scope 的相关文章

  • 错误:分配具有形状的张量时出现 OOM

    在使用 Apache JMeter 进行性能测试期间 我面临着初始模型的问题 错误 分配形状为 800 1280 3 和类型的张量时出现 OOM 通过分配器浮动在 job localhost replica 0 task 0 device
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 为什么我的结果仍然无法重现?

    我想要为 CNN 获得可重复的结果 我使用带有 GPU 的 Keras 和 Google Colab 除了建议插入某些代码片段 这应该允许再现性 之外 我还在层中添加了种子 This is the first code snipped to
  • 精度类型

    使用 keras 库获得的精度如下 model compile optimizer sgd loss mse metrics tf keras metrics Precision sklearn 计算出的哪种精度与 keras 计算出的精度
  • 无法使用tensorflow 2.0.0 beta1保存模型

    我已尝试了文档中描述的所有选项 但没有一个允许我将模型保存在tensorflow 2 0 0 beta1中 我还尝试升级到 也不稳定 TF2 RC 但这甚至破坏了我在测试版中工作的代码 所以我很快就回滚到测试版 请参阅下面的最小复制代码 我
  • 在按顺序读取的多个特征文件上训练 Keras 模型以节省内存

    当我尝试读取大量功能文件时 我遇到了内存问题 见下文 我想我应该分割训练文件并按顺序读取它们 做到这一点的最佳方法是什么 x train np load path features x train npy y train np load p
  • 移动设备上的 TensorFlow(Android、iOS、Windows Phone)

    我目前正在寻找不同的深度学习框架 特别是用于训练和部署卷积神经网络 要求是 它可以在带有 GPU 的普通 PC 上进行训练 但训练后的模型必须部署在三个主要的移动操作系统上 即 Android iOS 和 Windows Phone Ten
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • 在 Tensorflow 中使用迁移学习是否需要预定义图像大小?

    我打算使用预先训练的模型 例如fast rcnn resnet101 pets用于 Tensorflow 环境中的对象检测 如所述here https tensorflow object detection api tutorial rea
  • 在优化器期间保持变量不变

    我有一个损失张量 L 的 TensorFlow 计算图 它取决于 2 个 tf Variables A 和 B 我想在保持 B 固定的同时在变量 A 上运行梯度上升 A L 与 A 的梯度 反之亦然 在 B 上运行梯度上升 B L 与 B
  • 提交用于 Tensorflow 对象检测的 Google Cloud ML 训练作业时出现错误消息

    尝试提交 Tensorflow 对象检测任务的 Google Cloud ML 训练作业 我正在遵循官方指南 https github com tensorflow models blob master research object de
  • 如何在google colaboratory上使用GPU升级tensorflow

    目前google colaboratory使用tensorflow 1 4 1 我想升级到1 5 0版本 每次当我执行时 pip install upgrade tensorflow命令 notebook实例成功将tensorflow版本升
  • 增加 sigmoid 预测输出值?

    我创建了一个用于文本分类的 Conv1D 模型 当在最后一个密集处使用 softmax sigmoid 时 它产生的结果为 softmax gt 0 98502016 0 0149798 sigmoid gt 0 03902826 0 00
  • Tensorflow - 获取队列中的样本数量?

    对于性能监控 我想关注当前排队的示例 我正在平衡用于填充队列的线程数量和队列的最佳最大大小 我如何获得这些信息 我正在使用一个tf train batch 但我猜这些信息可能在下面的某个地方FIFOQueue 我本以为这是一个局部变量 但我
  • model.fit 在 Keras 中如何工作?

    我之前的帖子或错误是这样的one https stackoverflow com questions 52261090 do the operations defined in array ops in tensorflow have gr
  • 缩小轴 1 的形状为空 [x,0]

    我正在尝试训练 SVHN 街景门牌号码 数据集 用于张量流中的对象检测 对数字进行一些基本的 OCR 到目前为止 我已经成功地遵循了对象检测张量流指南中的宠物训练示例 当我基于样本 fast rcnn resnet101 config 训练
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • sigmoid激活函数可以用来解决Keras中的回归问题吗?

    我已经用 R 实现了简单的神经网络 但这是我第一次用 Keras 实现 所以希望得到一些建议 我在 Keras 中开发了一个神经网络函数来预测汽车销量 数据集可用here https github com allmydatasets dat
  • 使用预训练(Tensorflow)CNN 提取特征

    深度学习已成功应用于多个大型数据集 用于对少数类别 猫 狗 汽车 飞机等 进行分类 其性能优于 SIFT 特征袋 颜色直方图等更简单的描述符 然而 训练这样的网络需要每个类别大量的数据和大量的训练时间 然而 在花时间设计和训练这样一种设备并

随机推荐

  • 利用Docker快速部署hadoop、hive和spark

    文章目录 一 配置文件yml 1 docker compose yml 二 执行脚本 1 启动脚本run sh 2 关闭脚本stop sh 一 配置文件yml 1 docker compose yml version 3 4 service
  • maven引用spire相关jar

  • lua安装不成功

    usr local lib libreadline so 6 undefined symbol PC A by Wooce cd usr local lib mkdir temp mv libreadline temp ldconfig 再
  • mysql load data infile 报错 1290 处理方法

    mysql load data infile 命令导入数据报错 16 06 13 load data infile var lib mysql test employee csv into table emp fields terminat
  • shell执行神器,赶紧来围观(python,附源码)

    前言 我们在python代码里时常会用shell调起其他进程执行 有时调起进程的不止一个 非常多 但又不希望他们一个一个跑 或全部一起跑 就需要用到线程池 但是有些进程之间有依赖关系 比如进程A必须完成后进程B才可以执行 还需要额外的逻辑保
  • 条件概率(四)

    定义 设A B是两个事件 且P A gt 0 称 P B A 为在事件A发生的条件下事件B发生的条件概率 条件概率符合概率论中的三个条件 1 非负性 对于每一事件B 有P B A 0 2 规范性 对于必然事件S 有P S A 1 3 可列可
  • 随机森林筛选变量(Python实现)

    文章转自每日一Python公众号 当数据集的特征过多时 容易产生过拟合 可以用随机森林来在训练之后可以产生一个各个特征重要性的数据集 利用这个数据集 确定一个阈值 选出来对模型训练帮助最大的一些特征 筛选出重要变量后可以再训练模型 本文所用
  • linux学习第一篇:在VirtualBox下安装linux操作系统

    转载地址 https blog csdn net yuchao2015 article details 52132270 感谢博主提供如此详细的linux安装地址 目标 在linux服务器上部署Java开发的网站 工具 VirtualBox
  • 绕过CDN查找真实IP方法总结

    什么是CDN CDN的全称是Content Delivery Network 即内容分发网络 CDN是构建在现有网络基础之上的智能虚拟网络 依靠部署在各地的边缘服务器 通过中心平台的负载均衡 内容分发 调度等功能模块 使用户就近获取所需内容
  • c++(c#)单例模式

    TOC 单例顾名思义就是一个类只实例化一个单例对象 单例模式常见的写法有懒汉式和饿汉式 首先给出一个懒汉式的写法 include
  • Go面试必会基础题(5)

    Go面试必会基础题 1 Go面试必会基础题 2 Go面试必会基础题 3 Go面试必会基础题 4 Go面试必会基础题 5 Go面试必会基础题 6 文章目录 1 Goroutine 的调度器是如何工作的 2 在 Go 语言中如何进行内存对齐 3
  • Java死锁

    一 死锁是什么 死锁 当两个线程相互等待对方释放同步监视器便会发生死锁 死锁产生的4个必要条件 1 互斥条件 一个资源每次只能被一个线程使用 2 请求与保持条件 一个线程因请求资源而阻塞时 对已获得的资源保持不放 3 不剥夺条件 线程已获得
  • mathtype使用过程中出现MathType Error:too many windows are open.错误的解决方法。

    今天下午在写毕业论文的时候 中间有许多的公式 我用的是mathtype version6 9d 76 的 当使用了一段时间后 就会报如下的错误 解决办法如下 记住不用重新开机重启等 只需要把mathtype软件关闭后 在任务管理器的后台进程
  • linux 技能包【4】:yum源

    文章目录 一 配置yum源 客户端 1 1 本地yum源 1 2 网络yum源 阿里云 二 查看yum源 三 指定 yum 源 软件安装版本 四 指定软件安装版本 五 制作本地 yum 库 服务端 六 制作网络 yum 库 服务端 一 配置
  • 查看日志的常用Linux命令(持续更新)

    1 查询符合条件的行 grep 关键字1 文件名 log grep 关键字2 grep 关键字3 grep 如果要显示行号 可加参数 n grep n 关键字 文件名 log 如果要看到符合条件的行 以及其相邻的n行可以使用如下命令 gre
  • Linux(Ubuntu18.04)和Windows10 之间的局域网文件传输

    有的时候当你需要同时使用windows和Ubuntu时 存在两者之间的文件传输或者通信问题 大多数采用移动硬盘 U盘间接传输的方式 或者干脆使用虚拟机拖拽到同类型系统内的工具传输 有没有简单一点的方法轻松地把Windows文件放到Ubunt
  • 爱心代码(web前端)陈飞宇李峋同款【容易操作】

    文章目录 前言 一 效果图 二 操作步骤 第一步 第二步 第三步 第四步 第五步 第六步 源码 前言 最近随着电视剧 点燃我温暖你 的火热播出 剧中帅气学霸李洵的炫酷爱心代码也迅速火出了圈 爱心素材也异常火爆 我在这里整理了一份大家有需自取
  • rsync脚本+linux,rsync随机启动脚本,rsync脚本

    1 bin sh 2 3 BEGIN INIT INFO4 Provides rsyncd5 Required Start remote fs syslog6 Required Stop remote fs syslog7 Should S
  • mac上完成卸载IntelliJ IDEA 2019.3编辑器

    一 finder gt 应用程序 gt 直接删除idea 二 执行以下命令 rm rf Users 自己的用户名 Library Logs IntelliJIdea2019 3 rm rf Users 自己的用户名 Library Pref
  • 解析 slim.arg_scope

    def resnet arg scope weight decay 0 0001 is training True batch norm decay 0 997 batch norm epsilon 1e 5 batch norm scal