paper里面的70.4的精度有没有详细的训练参数呢
key2018 opened this issue · 3 comments
key2018 commented
我看代码仓里给的那个好像是67.8.但是训练的参数好像和论文里面不太一致。70.4的这个参数是如何设置的呢老哥。我看其他论文好像有些是训练2^20轮,咱们这个也是需要这么设置嘛。
thucbx99 commented
你指的是supervised pre-trained setting下CIFAR100 400 labels的实验结果哈,原文表中的参数和开源代码提供的参数是略有不同的。这里结果的差异可能有两个原因
- 论文表中的结果训练时labeled (data没有加入强增广,而我们开源的代码中加入了这部分loss(比如FixMatch),这是因为一些开发算法过程中的历史原因。我们数据集的划分中labeled data和unlabeled data是不重合的,但标准的操作应该是unlabeled data就是数据全体,以CIFAR100为例unlabeled data可以取50000而不是49600,因此考虑FixMatch这样的伪标签方法,当在unlabeled data上选取到和labeled data重合的400个样本时,等价于在用这些样本的强增广进行训练了。但实际上我们发现加入强增广训练没有必要且会损害DST的最终性能,但对其他的baseline影响不太大。总结一下就是这一项是可以去掉的,再简单调一下参数就可以再涨点
- 此前我们也没有使用基于
timm
的autoaugment
,而是使用这里的实现,具体增广的实现也会带来一些差别
训练轮数上由于已经使用预训练模型就不需要设置这么大了,一般几十K step就足够了,from scratch时需要训练的久一些,2^20是这种情况下默认的选择
key2018 commented
感谢老哥。之前在邮箱里看到了你的回复。当时忘记回复了。你们的工作真的很强。那个对抗训练的loss设计的很精妙。感觉可以学到很多
thucbx99 commented
也谢谢你的认可!