【学习过程】Pair

原文:http://blog.csdn.net/xywlpo/article/details/6458867#comments

Pair类型概述

pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:

 

pair<int, string> a;

表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。

 

pair<string, string> a("James", "Joy");

也可以像上面一样在定义的时候直接对其初始化。

 

由于pair类型的使用比较繁琐,因为如果要定义多个形同的pair类型的时候,可以时候typedef简化声明:

typedef pair<string, string> author;

author pro("May", "Lily");

author joye("James", "Joyce");

 

Pair对象的操作

 

  • 于pair类,由于它只有两个元素,分别名为first和second,因此直接使用普通的点操作符即可访问其成员

pair<string, string> a("Lily", "Poly"); 

string name;

name = pair.second;

  • 生成新的pair对象

可以使用make_pair对已存在的两个数据构造一个新的pair类型:

int a = 8;

string m = "James";

pair<int, string> newone;

newone = make_pair(a, m);

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Projection head是对比学习(contrastive learning)中的一个重要概念。对比学习是一种无监督学习方法,通过最大化正样本(相似样本)之间的相似性,最小化负样本(不相似样本)之间的相似性来学习特征表示。而projection head则是对输入数据进行特征提取的组件。 在对比学习中,首先通过一个编码器(encoder)将输入数据映射到一个低维特征空间,这个编码器可以是一个卷积神经网络(CNN)或者一个自编码器(autoencoder)。然后,通过projection head对这些编码后的特征进行进一步处理,将其映射到另一个低维特征空间。这个映射过程可以通过全连接层、多层感知机(MLP)等方式实现。 projection head的作用是将编码器提取的特征进行降维和重组,以便更好地捕捉样本之间的差异。在对比学习中,通常会使用一种技术叫做正负样本对构建(positive-negative pair construction)。给定一个样本,它会被复制两次,分别作为正样本和负样本。然后,这两个样本分别经过编码器和projection head得到两组特征向量。通过比较正样本的特征向量和负样本的特征向量之间的相似度,可以计算出一个损失函数,用于优化模型的参数。 总结一下,projection head在对比学习中起到了对特征进行降维和重组的作用,它通过将编码器提取的特征映射到另一个低维特征空间,以便更好地区分正样本和负样本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值