sample pairs 用于contrastiveLoss, CosinembeddingLoss等配对

2 篇文章 0 订阅

def x1, x2, target = sample_pair(label, emb_vec)
label: [1,1,2,3,4…,1] #64
emb_vec: word embedding 或者 hidden feature 等 看是要feature learning还是embedding learning #tensor [64,300]

代码内部参数:
r_idx: [[0,0,…0], [1,1…,1],…[63,63…63]] #[64,64]
c_idx=[[0,1,2…63],…[0,1,2,…63]] #[64,64]

label_r [[0,3,1],[0,3,1],[0,3,1]] 把64个label为一组复制64次 #【1,64,64】
label_c [[0,0,0],[3,3,3],[1,1,1]] 把64个label每个复制64次为一组 #【1,64,64】

target_graph [[0,-1,…,1],…[1,-1,1…,1,0]] 64个label两两判别是否label相同,相同为1,相异为-1,对角即同个元素 为0。这里是label-pair #[64,64]

x1: x1_graph[mask], 为一个batch(64)里的emb逐个复制63次后拼成的结果
x2: x2_graph[mask],为一个batch里逐个出去对角按顺序重复64次后拼成的结果
target: 记录了每一对label是否相同
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值