【计算机视觉】对比学习采样器sampler

这篇具有很好参考价值的文章主要介绍了【计算机视觉】对比学习采样器sampler。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前置知识准备

Samplers — Open Metric Learning documentation​​​​​​

【计算机视觉】对比学习采样器sampler,计算机视觉,计算机视觉

在该文档里,category表示类别,label表示商品,instance表示商品不同角度的图片。

  • category就是blouses_shirts;
  • label就是15;
  • instance就是这5张图片;

【计算机视觉】对比学习采样器sampler,计算机视觉,计算机视觉

balance sampler

每个label下pick等量的instance..

batch = allsamples // batch_size

batch_size = n_instances x n_labels

L个不同的label,我这里是L=500个。labels=40,instance=10。

batch1

40/500,从500个商品中挑选40个商品;

10/40,再从40个商品中,每个label挑选10个图片

batch2

40/(500-40)

10/40

epoch ends

L//label

500//40=12.5=12(batch12)

在一个epoch里,所有label将会被pick一次,但不意味着所有的instance都会被挑选。

每个epoch会过完所有的label,也就是会过完所有的商品,但只会过40*10*12张图片=4800张。

总共有31w的图片,要想31w/4800=64.5=64,想要全部图片看一次需要设置这里的epoch=64次,想要看多次则64*多次。

categroy sampler

【计算机视觉】对比学习采样器sampler,计算机视觉,计算机视觉

L=500,n_label=10,batch=500//10=50,需要采50个batch,每个batch里10个商品*n_instance。 

总共500个商品,每次挑10个商品角度图。每一个epoch会挑选完所有的500商品。

DistinctCategoryBalanceSampler

【计算机视觉】对比学习采样器sampler,计算机视觉,计算机视觉

batch_size = n_instances x n_labels x n_categories

L个商品,C个类目,

1st batch 采categrory个类目,在这些类目中,采label个商品,在这些商品中采instance个角度图片
2st batch

,all label-1st picked label

 对应的所有类目

从中挑选category个类目,从中为每个类目category选择n_labels,再从n_labels中选n_instance.

epoch end

(自己设置的epoch size)

1. 如果在epoch size前选择了所有的类目all the categories,则sampler重置。不保证epochsize结束前能遍历完所有的category,相反,如果遍历完所有类目,则再重新开始重复采样。

2. L&n_label=1,则这个剩下的商品会从batch中drop掉,因为需要成pairs。(再理解一下,如果 L % n_labels == 1 则必须删除其中一个label,因为我们总是希望拥有超过 1 个label,这里label是商品的意思。)

3. 被选择的category下的未使用label不够设置的量,那么会从已使用的label中再去重复采文章来源地址https://www.toymoban.com/news/detail-537309.html

到了这里,关于【计算机视觉】对比学习采样器sampler的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何学习计算机视觉

    学习计算机视觉可以通过以下步骤进行: 了解基本概念和原理:首先,你可以学习计算机视觉的基本概念和原理,包括图像处理、特征提取、目标检测、物体识别等。这些基础知识将帮助你理解计算机视觉的工作原理。 学习算法和技术:学习计算机视觉的算法和技术是非常

    2024年01月21日
    浏览(40)
  • 【探索AI】三十一-计算机视觉(六)深度学习在计算机视觉中的应用

    深度学习在计算机视觉中的应用已经取得了显著的成果,并且正在逐步改变我们对图像和视频信息的处理和理解方式。下面将详细讲解深度学习在计算机视觉中的几个关键应用。 首先,我们来看图像分类。图像分类是计算机视觉的基本任务之一,它涉及到将输入的图像自动归

    2024年04月09日
    浏览(62)
  • 深度学习与计算机视觉

    目录 1 深度学习 1.1 人工智能 1.2 机器学习 1.3 深度学习 1.3.1 深度学习发展历程 1.3.2 深度学习中的核心因素 1.3.3 深度学习模型分类 1.3.4 深度学习框架 2 计算机视觉 人工智能、机器学习、深度学习这三者的关系: 在实现人工智能的众多算法中,机器学习是发展较为快速的

    2024年02月06日
    浏览(43)
  • 转移学习的计算机视觉教程

    引用这些注释, 实际上,很少有人从头开始训练整个卷积网络(使用随机初始化),因为拥有足够大小的数据集相对很少。 相反,通常在非常大的数据集上对 ConvNet 进行预训练(例如 ImageNet,其中包含 120 万个具有 1000 个类别的图像),然后将 ConvNet 用作初始化或固定特征提取

    2024年02月16日
    浏览(42)
  • 计算机视觉基础学习-图像拼接

    首先本文介绍的图像拼接并非对尺寸相同的图片进行简单拼接,而是基于全景图的拼接 普通相机拍摄图像时,无法兼顾相机视场与视场中单个物体的分辨率问题,而全景相机普遍价格昂贵, 不适用于低成本的一般性场景。为了使用普通相机获取宽视角,甚至是 360°全景图像

    2023年04月10日
    浏览(47)
  • 计算机视觉(五)深度学习基础

    深度学习与神经网络的区别 选择合适的目标函数 Softmax层 梯度消失的直观解释 激活函数 学习步长 SGD的问题 存在马鞍面,使我们的训练卡住,于是提出下面方法: Momentum动量 Nesterov Momentum 先利用“惯性”,“走”一步。避免一开始,就被当前梯度带偏。 Adagrad 为不同的参数

    2024年02月14日
    浏览(52)
  • 【学习笔记】计算机视觉深度学习网络模型

    这是本人学习计算机视觉CV领域深度学习模型的学习的一点点学习笔记,很多片子没有完成,可以作为学习的参考~

    2024年04月10日
    浏览(68)
  • 计算机视觉(北邮鲁鹏)学习记录

    基本题型: 题型:选择、填空、简答、分析 绝大多数内容参考自PPT 基本了解内容:每个过程都有些啥 图像表示 :二进制图像、灰度图像、彩色图像。( 将矩阵转为列向量 )3072维 分类模型 : 线性分类模型。是神经网络和支持向量机的基础。。 线性分类模型是一种线性映

    2024年02月03日
    浏览(45)
  • 计算机视觉工程师学习路线

    学习Python语言,掌握基础语法、函数、面向对象编程等概念 学习Numpy库,用于科学计算和多维数组 学习OpenCV库,包含了许多图像处理和计算机视觉算法 学习TensorFlow/PyTorch,主要的深度学习框架 图像的表示方式(像素、灰度、二值化等) 彩色空间转换(RGB、HSV等) 滤波操作(均值滤波、

    2024年02月10日
    浏览(41)
  • SLAM学习入门--计算机视觉一

    IoU(Intersection over Union),又称重叠度/交并比。 1 NMS :当在图像中预测多个proposals、pred bboxes时,由于预测的结果间可能存在高冗余(即同一个目标可能被预测多个矩形框),因此可以过滤掉一些彼此间高重合度的结果;具体操作就是根据各个bbox的score降序排序,剔除与高

    2024年02月02日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包