Caffe 中的欧几里得损失层

2024-01-11

我目前正在尝试在 caffe 中实现我自己的损失层,在尝试这样做的同时,我使用其他层作为参考。然而,让我困惑的一件事是使用top[0]->cpu_diff() in Backward_cpu。我将使用EuclideanLossLayer作为参考。这是我的问题

  • 据我了解top[0]->cpu_diff()保存来自下一层的误差导数,但是如果没有其他层怎么办,它是如何初始化的?因为它用于EuclideanLossLayer不执行任何检查:

    const Dtype alpha = sign * top[0]->cpu_diff()[0] / bottom[i]->num();
    
  • 再次,在EuclideanLossLayer,使用以下代码片段计算误差相对于激活的导数:

    const Dtype alpha = sign * top[0]->cpu_diff()[0] / bottom[i]->num();
    caffe_cpu_axpby(
      bottom[i]->count(),              // count
      alpha,                              // alpha
      diff_.cpu_data(),                   // a
      Dtype(0),                           // beta
      bottom[i]->mutable_cpu_diff());  // b
    

    如果我的第一个假设是正确的,并且top[0]->cpu_diff()确实保留了上一层的误差导数,为什么我们只使用第一个元素,即top[0]->cpu_diff()[0]而不是乘以整个向量,即top[0]->cpu_diff()?


对于损失层,没有下一层,因此顶部 diff blob 在技术上是未定义和未使用的 - 但 Caffe 使用此预分配空间来存储不相关的数据:Caffe 支持将损失层与用户定义的权重(prototxt 中的 loss_weight)相乘),此信息(单个标量浮点数)存储在顶部 blob 的 diff 数组的第一个元素中。这就是为什么您会在每个损失层中看到它们乘以该数量以支持该功能。这在中进行了解释Caffe关于损失层的教程 http://caffe.berkeleyvision.org/tutorial/loss.html.

该权重通常用于向网络添加辅助损失。您可以在 Google 中阅读更多相关信息深入研究卷积 http://arxiv.org/abs/1409.4842 or in 深度监督网络 http://arxiv.org/abs/1409.5185.

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

Caffe 中的欧几里得损失层 的相关文章

  • Windows 8中有没有特殊的API来挂载ISO文件?

    您可能知道 Windows 资源管理器允许将 ISO 文件装载到虚拟驱动器 有没有任何API可以用来做到这一点 本机函数调用AttachVirtualDisk https msdn microsoft com en us library w
  • C++:Linux平台上的线程同步场景

    我正在为 Linux 平台实现多线程 C 程序 其中我需要类似于 WaitForMultipleObjects 的功能 在搜索解决方案时 我发现有一些文章描述了如何在 Linux 中实现 WaitForMultipleObjects 功能
  • Debug.WriteLine() 未命中

    我正在调试 Windows 服务 通过点击F5在 Visual Studio 2010 中 使用以下代码 In 程序 cs file static void Main if Environment UserInteractive We ar
  • 如何有效地左填充字节数组

    假设我有一个数组 LogoDataBy byte 0x00000008 0x00000000 0x41 0x00000001 0x42 0x00000002 0x43 0x00000003 0x44 0x00000004 0x31 0x00
  • 如何在Qt3D中优化点云渲染

    我正在尝试使用 Qt3D 显示大型点云 20M pts 我第一次发现这个图书馆https github com MASKOR Qt3DPointcloudRenderer https github com MASKOR Qt3DPointc
  • 起订量工作单元

    我是单元测试的新手 我想为我的搜索功能创建一个测试 我的服务层看起来像 public class EmployeeService BaseService IEmployeeService public EmployeeService IUn
  • 如何获取 PropertyGrid 的单元格值 (c#)?

    如何在 C 中获取属性网格项和项的值 例如 Name Ali LastName Ahmadi Name 和 LastName 是 propertygrid 的 2 个属性 PropertyGrid只是对象的组件模型表示的视图 我会说 查看组
  • MouseDoubleClick 事件不会冒泡

    我的场景经过简化 我有一个包含员工行的 ListView 在每个员工行中 都有 增加 和 减少 按钮来调整他的工资 假设在我的程序中 双击 员工 行意味着 解雇此人 The problem是当我快速单击 增加 时 这会触发 ListView
  • 会员提供商使用还是不使用?

    我正在开发一个使用 Facebook 的网站 现在为了管理用户我想使用MembershipProvider并选择开发一个定制的会员提供商 我的问题是我的数据库架构与标准成员资格架构不匹配 并且提供的用于覆盖的函数采用与我预期不同的参数 例如
  • 等于方法实现助手 (C#)

    每次我编写一些数据类时 我通常都会花很多时间编写 IEquatable 实现 我写的最后一堂课是这样的 public class Polygon public Point Vertices get set 实施 IEquatable 是一项
  • C 风格强制转换与内在强制转换

    假设我已经定义了 m256d x我想提取低 128 位 我会做 m128d xlow mm256 castpd256 pd128 x 然而 我最近看到有人这样做 m128d xlow m128d x 是否有用于演员的首选方法 为什么要用第一
  • C# While 循环与 For 循环?

    在 C 中 一个问题已经困扰我一段时间了 它的 While 和 For 循环之间的实际主要区别是什么 它只是纯粹的可读性吗 在 for 循环中本质上可以做的所有事情都可以在 while 循环中完成 只是在不同的地方 举这些例子 int nu
  • 扩展一个类

    编辑回答 虽然我最初的问题并没有完全按照康拉德 鲁道夫提供的答案所解决的方式解释我的需求 但他 无意或有意 基本上为我写了我想写的内容 类本身不会被扩展 但通过使类了解新函数来扩展其功能 这些新函数允许它 类 处理更广泛的问题 我非常感谢您
  • 如何在PropertyGrid中自定义绘制GridItem?

    我想以与所有者在 ListView 详细信息 和其他控件中绘制项目类似的方式在 PropertyGrid 中绘制属性值 如果将属性声明为 Color 类型 则其值将使用字符串描述旁边的颜色样本来绘制 如果属性是图像类型 则在字符串描述旁边绘
  • 如何在控制台程序中获取鼠标位置?

    如何在 Windows 控制台程序中用 C 获取鼠标单击位置 点击时返回鼠标位置的变量 我想用简单的文本命令绘制一个菜单 这样当有人点击时 游戏就会注册它并知道位置 我知道如何做我需要做的一切 除了单击时获取鼠标位置 您需要使用 Conso
  • 为什么.net中的数组只实现IEnumerable而不实现IEnumerable

    我正在实现自己的 ArrayList 类 当我意识到这一点时 我感到很惊讶 public System Collections Generic IEnumerator
  • Sharepoint 的 CAML 查询中的日期时间比较

    我正在尝试从共享点列表中获取某些项目 具体取决于自定义列中的日期 我已经使用 U2U Caml Builder 创建了查询 这很有效 但是当我将其放入 Web 部件中自己的代码中时 它总是返回列表中的所有项目 这是我的代码 DateTime
  • 有没有办法将复选框列表绑定到 asp.net mvc 中的模型

    我在这里寻找一种快速简便的方法来在模型中发生回发时绑定复选框列表项的列表 显然现在常见的做法似乎是这样的form GetValues checkboxList 0 Contains true 这看起来很痛苦而且不太安全 有没有一种方法可以绑
  • 错误:C# 尝试读取或写入受保护的内存

    我很难纠正这个错误 该应用程序在 4 台不同的机器上进行了测试 在其中 3 台上运行良好 但一台 Vista PC 在尝试通过 WebBrowser1 打开页面时出现此错误 解决这个问题的任何帮助对我都会非常有帮助 System Acces
  • 如何将 IDispatch* 放入托管代码中

    我一直在考虑尝试使用 C 编写一个实现 OPOS 服务对象的 COM 对象 我已经使用自动化和 MFC 在 C 中完成了它 这并不太困难 所以我坚持尝试将其转换为一种方法 我将排除界面中的其他方法 因为它们很简单 或者我希望如此 id 6

随机推荐

  • 边缘线和填充 matplotlib 或 seaborn 分布图的不同透明度

    我想为我在 matplotlib seaborn 中创建的分布图的边缘线和填充设置不同级别的透明度 alpha 例如 ax1 sns distplot BSRDI DF label BsrDI bins newBins kde False
  • 如何使用 sed 删除与模式匹配的行及其后面的行?

    我有一个看起来像这样的文件 good text good text FLAG bad text bad text good text good text good test bad Text FLAG bad text bad text g
  • 我是否缺少在 Ubuntu 9.04 上使用 Python2.6 绑定构建/安装 VTK-5.4 的步骤?

    我使用源代码的 Python 绑定成功构建并安装了 VTK 5 4 然而 当我尝试在 python 中导入 VTK 时 它给出了以下回溯错误 文件 第 1 行 位于 文件 usr local lib python2 6 dist packa
  • 如何在 swift 3 中将 NSArray 转换为 Swift Array

    我有两个数组 var arr1 NSArray var arr2 String 我想转换NSArray到字符串数组中 我在用 arr2 arr1 作为 细绳 但它给了我错误 NSString is not a subtype of NSAr
  • 在 Python 中将小时和分钟转换为总分钟

    我有一个 Pandas DataFrame 其中有一列以小时和分钟为单位的时间字符串 例如 1 小时 8 分钟 有些单元只有几分钟 例如 47 分钟 我试图从这种格式转换为总分钟数的整数值 例如 1 小时 8 分钟将是 68 我尝试对其进行
  • TFS 2018 Update 2 IIS 网站部署已弃用或缺失

    将 TFS 更新到更新 2 后 在 CI 构建任务中 IIS Web 应用程序部署 被标记为 已弃用 这个任务的替代品是什么 Also in the CD in the after adding IIS Website Deployment
  • Django 无效的块标签:endelse 和 ifequal

    我想使用 djangoifequal and else判断变量是否等于的标签80 or 22 所以 这是代码 if firewalls thead tr th IP address th th Function th tr thead en
  • O(n) 算法找出出现次数超过 n/2 次的元素

    在一次采访中 有人要求我提供一个 O n 算法来打印在数组中出现超过 n 2 次的元素 如果存在这样的元素 n 是数组的大小 我不知道如何做到这一点 有人可以帮忙吗 这是博耶的投票算法 http www cs utexas edu moor
  • 按钮高度不一致(跨浏览器)

    我在设置按钮的高度时遇到问题 基本上我无法跨浏览器使用它 对于 Firefox 它高于normal 没有任何理由 这是一个屏幕截图 Firefox Safari 和 Opera 按此顺序 这里是代码 http jsfiddle net TM
  • 在 iOS 中绘制矩形

    我的应用程序的目标是让用户能够通过向左和向右滑动 iPhone 屏幕来对不同的日程安排选项进行排序 当用户对这些不同的调度选项进行排序时 我将如何绘制和删除矩形 我有一个 UIViewController h UIViewControlle
  • 通过文档文字 SOAP 发送 Base64 图像的替代方案

    我目前正在修改业务应用程序的文档文字 SOAP 服务 该应用程序前后传输有关客户的数据 刚刚确定了传输扫描文档图像的新要求 我遇到的问题是我使用的专有语言不支持 SOAP 附件 传输的图像可以是最大 32KB 的任何图像 我能想到的唯一解决
  • 获取产品的自定义选项值 magento 2

    我的产品有两个自定义选项 颜色和尺寸都是下拉菜单 在产品详细信息页面中 我必须显示该产品的所有可用颜色 我尝试了以下代码并且它有效 但它返回所有颜色和大小的值 但我只需要颜色值 那就是我想按颜色选择自定义选项 product block g
  • 在Windows中,2<&1和2>&1有什么区别?

    本页中的示例和解释让我感到困惑 http www microsoft com resources documentation windows xp all proddocs en us redirection mspx mfr true h
  • 等待 Kotlin 协程在 onCreateView() 中完成

    我有一个初始化块onCreateView 其中一些变量是从 SharedPreferences DB 或 Network 当前从 SharedPreferences 分配的 我想用这些值更新视图onViewCreated 但它们在协程之前更
  • 合并所有两个表但列数不同

    select count as total FROM SELECT FROM database1 orders WHERE number LIKE 11111111111111111 UNION ALL SELECT FROMdatabas
  • 信号会通过哪些方式干扰管道通信?

    我对信号一无所知 对管道也只有一点了解 从评论来看zdim s在这里回答 https stackoverflow com questions 48558093看来信号可能会干扰父进程和子进程之间的管道通信 有人告诉我 如果你使用IO Sel
  • 错误:(24, 11) 无法解析:com.android.support:appcompat-v7:8.0.+

    请帮助解决这个错误 因为这是我的第一个 Android 项目 摇篮同步 应用插件 com android application android compileSdkVersion 8 buildToolsVersion 23 0 2 de
  • 什么是对象切片?

    在 C 中 什么是对象切片以及它何时发生 切片 是将派生类的对象分配给基类的实例 从而丢失部分信息 其中一些信息被 切片 掉 例如 class A int foo class B public A int bar 所以一个类型的对象B有两个
  • Bootstrap 委托弹出内容回调触发两次

    我正在使用 Twitter Bootstrap 2 3 2 并且我正在注册一个弹出窗口 每当带有选择器的 td 悬停在上面时就会打开 但是我注意到在控制台中内容回调被触发两次 有没有办法防止这种情况发生 table data popover
  • Caffe 中的欧几里得损失层

    我目前正在尝试在 caffe 中实现我自己的损失层 在尝试这样做的同时 我使用其他层作为参考 然而 让我困惑的一件事是使用top 0 gt cpu diff in Backward cpu 我将使用EuclideanLossLayer作为参