CircleLoss icon indicating copy to clipboard operation
CircleLoss copied to clipboard

和arcface这些损失函数一样,circle loss也应该是和全连接层的权重求相似度吧,convert_label_to_similarity这个函数看不懂啊

Open westnight opened this issue 4 years ago • 20 comments

westnight avatar Apr 07 '20 08:04 westnight

这个就是相当于一个batch 里的embdding 互相求相似度,然后算出sp和sn吧,可是我做了下实验,每个样本求loss累加除以batch_size和这样算得结果不一样

maryhh avatar Apr 07 '20 11:04 maryhh

不同于arcface,circle loss不与全连接层的权重求相似度。不过实现过一个类似功能的函数,见circle_loss_early.py中的CircleLossLikeCE与NormLinear,这里的范式是arcface cosface一类的,但是由circle loss的公式推导到这个种特例。

TinyZeaMays avatar Apr 07 '20 12:04 TinyZeaMays

个人认为这个Loss对数据采样策略以及batch_size要求高, 如果是arc face这样的一个shuffle的batch直接两两匹配遍历, 会出结果我吃xiang.....

ruiming46zrm avatar Apr 08 '20 08:04 ruiming46zrm

个人认为这个Loss对数据采样策略以及batch_size要求高, 如果是arc face这样的一个shuffle的batch直接两两匹配遍历, 会出结果我吃xiang.....

我昨天试了下12万id batch=420 sp个数在(0,4)间浮动,不知道原论文是怎么做的实验,是不是也是直接和全连接乘的

maryhh avatar Apr 08 '20 08:04 maryhh

个人认为这个Loss对数据采样策略以及batch_size要求高, 如果是arc face这样的一个shuffle的batch直接两两匹配遍历, 会出结果我吃xiang.....

我昨天试了下12万id batch=420 sp个数在(0,4)间浮动,不知道原论文是怎么做的实验,是不是也是直接和全连接乘的

hhhhh我都不想花时间试验了- -, 请问你的结果大概什么水平?

ruiming46zrm avatar Apr 08 '20 08:04 ruiming46zrm

个人认为这个Loss对数据采样策略以及batch_size要求高, 如果是arc face这样的一个shuffle的batch直接两两匹配遍历, 会出结果我吃xiang.....

我昨天试了下12万id batch=420 sp个数在(0,4)间浮动,不知道原论文是怎么做的实验,是不是也是直接和全连接乘的

hhhhh我都不想花时间试验了- -, 请问你的结果大概什么水平?

还没想好要怎么搞batch_size,我直接和全连接层乘算得,gamma=256,m=0.25,loss直接从270多开始降,还没看到结果.

maryhh avatar Apr 08 '20 09:04 maryhh

我用全连接层匹配的方式训练了一把,在私人数据集上的结果是82%,arcface是84%。

westnight avatar Apr 08 '20 09:04 westnight

What to do if the loss function does not converge

Zhizh1 avatar Apr 10 '20 14:04 Zhizh1

我用全连接层匹配的方式训练了一把,在私人数据集上的结果是82%,arcface是84%。

请问你的setting是啥呀,BatchSize 是多少呢?

TedSYt avatar Apr 22 '20 11:04 TedSYt

我用全连接层匹配的方式训练了一把,在私人数据集上的结果是82%,arcface是84%。

请问你的setting是啥呀,BatchSize 是多少呢?

m,s和论文一致,bs200

westnight avatar Apr 24 '20 05:04 westnight

What to do if the loss function does not converge

这类带有难例挖掘的Loss总是比较大,看性能指标比较好点

TinyZeaMays avatar Apr 25 '20 16:04 TinyZeaMays

请问大家有遇到convert_label_similarity模块中“‘Tensor’ object has no attribute 'logical_not'”的问题吗?这个问题我不知道怎么解决

linjiawen2019 avatar Apr 29 '20 06:04 linjiawen2019

请问大家有遇到convert_label_similarity模块中“‘Tensor’ object has no attribute 'logical_not'”的问题吗?这个问题我不知道怎么解决

是pytorch版本问题

TinyZeaMays avatar Apr 29 '20 06:04 TinyZeaMays

请问大家有遇到convert_label_similarity模块中“‘Tensor’ object has no attribute 'logical_not'”的问题吗?这个问题我不知道怎么解决

是pytorch版本问题

噢噢噢 那这份代码是支持什么版本呢 还是说需要更新到最新的pytorch,我目前是1.0.0版本 谢谢!

linjiawen2019 avatar Apr 29 '20 06:04 linjiawen2019

请问大家有遇到convert_label_similarity模块中“‘Tensor’ object has no attribute 'logical_not'”的问题吗?这个问题我不知道怎么解决

是pytorch版本问题

噢噢噢 那这份代码是支持什么版本呢 还是说需要更新到最新的pytorch,我目前是1.0.0版本 谢谢!

测试1.4.0通过

TinyZeaMays avatar Apr 29 '20 06:04 TinyZeaMays

请问大家有遇到convert_label_similarity模块中“‘Tensor’ object has no attribute 'logical_not'”的问题吗?这个问题我不知道怎么解决

是pytorch版本问题

噢噢噢 那这份代码是支持什么版本呢 还是说需要更新到最新的pytorch,我目前是1.0.0版本 谢谢!

测试1.4.0通过

感谢

linjiawen2019 avatar Apr 29 '20 07:04 linjiawen2019

我用全连接层匹配的方式训练了一把,在私人数据集上的结果是82%,arcface是84%。

请问你的setting是啥呀,BatchSize 是多少呢?

m,s和论文一致,bs200

可以问下具体的实验设置吗,我在id=1000的数据集上,loss没有收敛

gepu0221 avatar May 08 '20 10:05 gepu0221

个人认为这个Loss对数据采样策略以及batch_size要求高, 如果是arc face这样的一个shuffle的batch直接两两匹配遍历, 会出结果我吃xiang.....

我昨天试了下12万id batch=420 sp个数在(0,4)间浮动,不知道原论文是怎么做的实验,是不是也是直接和全连接乘的

是和全连接层相乘的,可参考:https://github.com/xialuxi/CircleLoss_Face/blob/master/CircleLoss.py

xialuxi avatar May 13 '20 14:05 xialuxi

在convert_label_to_similarity中返回值是similarity_matrix[positive_matrix], similarity_matrix[negative_matrix]都是一维。而且每次这2个返回的长度还不一样.这样将label与特征建立权重关系怎么保持稳定的呢??torch.logsumexp(logit_n, dim=0)与torch.logsumexp(logit_n, dim=1)计算出来结果也应该是会有一定差异的

L-lei avatar Jul 23 '20 01:07 L-lei

个人认为这个Loss对数据采样策略以及batch_size要求高, 如果是arc face这样的一个shuffle的batch直接两两匹配遍历, 会出结果我吃xiang.....

我昨天试了下12万id batch=420 sp个数在(0,4)间浮动,不知道原论文是怎么做的实验,是不是也是直接和全连接乘的

hhhhh我都不想花时间试验了- -, 请问你的结果大概什么水平?

还没想好要怎么搞batch_size,我直接和全连接层乘算得,gamma=256,m=0.25,loss直接从270多开始降,还没看到结果.

你好,我训练75万类200多万照片。分类器权重为[batch_size,类别数]。我也是矩阵相乘,loss从280左右开始,训练一天没收敛。请问你的训练情况是怎样呢? 我的参数是margin=0.25 gamma=256 or 128,batch_size=256。

bobo0810 avatar Jul 23 '20 12:07 bobo0810