TensorFlow 中使用稀疏标签进行多标签图像分类?

2023-11-23

我想对 n 个类别执行多标签图像分类任务。 我为每个图像提供了稀疏标签向量,并且每个标签向量的每个维度当前都以这种方式编码:

1.0 ->Label true / Image属于这个类

-1.0 ->Label false / 图像不包含此类。

0.0 -> 缺失值/标签

例如:V={1.0,-1.0,1.0,0.0}

对于这个例子 V,模型应该学习相应的图像应该被分类为第一类和第三类。

我目前的问题是如何处理缺失的值/标签。我搜索了问题并发现了这个问题: 张量流/skflow#113在这里找到

因此可以使用以下方法进行多标签图像分类: tf.nn.sigmoid_cross_entropy_with_logits(logits,目标,名称=无)

但是TensorFlow有这个稀疏softmax的误差函数,用于排他分类: tf.nn.sparse_softmax_cross_entropy_with_logits(logits,标签,名称=无)

那么是否存在稀疏 sigmoid 交叉熵之类的东西呢? (找不到东西)或任何建议如何处理稀疏标签的多标签分类问题。


I used 带逻辑的加权交叉熵作为 1 秒具有正权重的损失函数。

就我而言,所有标签都同样重要。但 0 作为任何标签值出现的可能性是 1 的十倍。

所以我通过调用来权衡所有 1位置权重上述损失函数的参数。我使用的 pos_weight(= 正值的权重)为 10。顺便说一句,我不推荐任何计算 pos_weight 的策略。我认为这将明确取决于手头的数据。

如果真实标签= 1, 加权交叉熵 = 位置权重 * sigmoid_交叉熵

带 logits 的加权交叉熵Sigmoid 交叉熵与 logits,除了额外的重量值乘以所有具有正实际价值的目标IE。; 1.

从理论上讲,它应该可以完成这项工作。我仍在调整其他参数以优化性能。稍后将更新性能统计数据。

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

TensorFlow 中使用稀疏标签进行多标签图像分类? 的相关文章

随机推荐

  • 如何获取 Unity 着色器属性的完整列表

    我对着色器还很陌生 一直在寻找 Unity 着色器属性的完整列表 我还没有找到任何这样的文档 我发现的是SL 属性 在哪里可以找到属性及其功能的完整列表 UPDATE 给出了一个例子SL 属性显示水着色器的属性列表 即 WaveScale
  • SQL 中的 NOT IN 条件

    谁能告诉我 SQL 中两列的 NOT IN 条件的确切语法 这是我用 VBA 编写的查询 strNewSql SELECT distinct tblRevRelLog Detail PartNumber tblRevRelLog Detai
  • 使用 CMake 使用 /MT 而不是 /MD 进行编译

    我在 Windows 上使用 CMake 以及 Windows SDK 和 NMake Makefiles 默认情况下它编译时使用 MD编译器开关 我怎样才能改变它来编译 MT改为切换 您可以修改CMAKE
  • 编辑大型文本文件中的单行

    所以我需要记录一组 4 个整数 它们的值在一天中的每一秒都不同 IE Here the values are initialized to the same value however they will change as samples
  • EPPlus:将样式复制到范围

    我想将新行 列插入到工作表中 并应用插入的行 列的样式 背景颜色 边框等 这就是我添加新行的方式 xlsSheet InsertRow 18 RowCount 然后我想将 基 行的样式复制 应用到新插入的行 for int i 0 i lt
  • 从 Perl 创建的文本文件有行长度限制吗?

    在编写 Perl 脚本时 我需要在文件的一行中仅写入以逗号分隔的用户名 这就是为什么我想知道 txt 文件中行的最大大小是否有任何限制 文本文件就像任何其他文件一样 换行符与任何其他字符一样 因此仅适用通常的文件大小限制 旧文件系统上的 4
  • 接收远程推送通知时打开视图控制器

    我正在使用 Storyboard 当用户收到远程推送通知时 我想始终打开相同的视图 即使应用程序位于后台或打开 我需要呈现的视图是故事板中设置的初始视图控制器之后的四个视图 我读过这篇文章 如何将响应通知的模态视图显示为新窗口 无父VC 当
  • 直接包含文本的元素的 jQuery 选择器?

    我能够使用 contains选择器 但我的问题是 如果一个元素包含一个包含它仍然返回的文本的元素 例如 div contains test 将选择下面的两个 div div something else div test div div f
  • 为什么将 EntityState 设置为 Detached 会清空 List 类型的属性?

    首先使用实体 框架代码 我有类似的东西 public class Foo public int Id get set public List
  • 将字符串中的字母与数字分开

    我正在处理这样的字符串 125A12C15 我需要在字母和数字之间的边界处将它们分开 例如这个应该成为 125 A 12 C 15 在Python中是否有比逐个位置检查它并检查它是字母还是数字 然后相应地连接更优雅的方法 例如 此类事情的内
  • HTML 未在 Django 文本字段中呈现

    我试图使用 markdown 来避免在 wiki 表单中输入 HTML 但由于某种原因 表单显示的是 HTML 代码而不是预期的格式 我的视图函数如下 from django shortcuts import render to respo
  • 将环境变量设置为较大的值 - >“参数列表太长”

    在 bash 脚本中 我设置了一个环境变量来包含 100 万个字符的字符串 我这样做是这样的 export LG XXXXXXX 1 million X s 在此之后 我可以毫无问题地回显它 即 echo LG 但是 在此之后我尝试在脚本内
  • 停止php处理文件

    有什么方法可以让 php 停止处理文件并使其只处理已经解析的部分 我的意思是这样的
  • VSCODE 在保存时通过格式插入空格

    VSCODE 似乎在我的 html 代码中到处插入空格 我检查了设置 导致它的原因如下 editor formatOnSave true Example 如何配置它以停止插入空格 我有以下一组 editor formatOnSave fal
  • Python套接字连接超时

    我有一个套接字 我想在连接时超时 这样如果它无法连接 我可以取消整个操作 但它也想使用不需要超时的套接字的 makefile 有没有一种简单的方法可以做到这一点 或者这会是一件困难的事情吗 python 是否允许在连接后重置超时 以便我可以
  • Java:声明多维数组而不指定数组的大小(例如 new int[10][] )

    我一直试图弄清楚这里到底发生了什么 我只是想弄清楚我在下面评论的这两行代码正在做什么 我发现这个程序没有声明数组的完整维度 而不是 new int 10 5 它只是决定不通过说 new int 10 来声明它 就像第二个数组长度并不重要 将
  • 在不使用 UDF 和 CLR 的情况下,从 T-SQL 中的字符串中删除所有空白字符的好方法是什么?

    NET 函数string Trim 修剪相当广泛的空白字符集 如何以最佳方式 T SQL 模拟这种确切的行为 LTRIM and RTRIM仅修剪空格字符是不够的 这对于 SQL CLR 来说很容易 但这并不总是可行 而且调用成本也相当高
  • 之前的图像大小在 DOM 中

    在将图像放入 DOM 之前如何获取图像大小 var imgLoad img imgLoad attr src ImageGallery ImagesList index new Date getTime imgLoad unbind loa
  • 如何快速重新加载 ui 视图的内容

    我有一个视图控制器 其中有滚动视图 并且滚动视图有一个视图 因此 视图有很多按钮和标签 这些按钮和标签的显示取决于来自 api 的数据 按下后我有一个按钮 我想重新加载视图 它的内容 简单的黑客之一NOT推荐的方法是 self view s
  • TensorFlow 中使用稀疏标签进行多标签图像分类?

    我想对 n 个类别执行多标签图像分类任务 我为每个图像提供了稀疏标签向量 并且每个标签向量的每个维度当前都以这种方式编码 1 0 gt Label true Image属于这个类 1 0 gt Label false 图像不包含此类 0 0