CE-GZSL icon indicating copy to clipboard operation
CE-GZSL copied to clipboard

超参数设置

Open HanAccount opened this issue 2 years ago • 42 comments

你好! 请问现在能麻烦你提供一下你训练时使用的所有超参数吗 超参数太影响实验结果了!几乎达不到论文里的结果

HanAccount avatar May 02 '22 13:05 HanAccount

在数据集SUN上甚至出现了nan 没有做任何改动

我打印了数据发现对比loss出现nan 通过netG生成的fake也出现了nan 导致不能正常训练 python CE_GZSL.py --dataset SUN --nepoch 300 --lr 5e-5 参数使用的是你在issue里提供的

HanAccount avatar May 03 '22 04:05 HanAccount

在FLO数据集上仅仅只得到H=0.676的结果,和论文里相差太大 使用的关键参数如下 epoch=300, syn_num=600, batch_size=64, nhF=1024, lr=1e-4 ins_weight=0.01, cls_weight=0.01

HanAccount avatar May 03 '22 06:05 HanAccount

您好,请问您在SUN和FLO上具体的所有参数是如何设置?请先参考一下这里的参数

Hanzy1996 avatar May 03 '22 15:05 Hanzy1996

SUN数据集是这样的参数跑的 --epoch 300 --syn_num 100 --batch_size 64 --attSize 102 --embedSize 2048 --outzSize 512 --nhF 1024 --ins_weight 0.01 --cls_weight 0.01 --ins_temp 0.1 --lr 5e-5 --lr_decay_epoch 100 但是出现了nan 我打印了对比损失出现了nan 打印了由netG生成的fake也出现了nan

HanAccount avatar May 04 '22 03:05 HanAccount

FLO数据集参数: epoch=300 syn_num=600 batch_size=64 attSize=nz=102 embedSize=2048 outzSize=512 nhF=1024 ins_weight=0.01 cls_weight=0.01 lr=1e-4 lr_decay_epoch=100

HanAccount avatar May 04 '22 03:05 HanAccount

使用该链接的参数https://github.com/Hanzy1996/CE-GZSL/issues/2#issuecomment-874472906 在AwA上运行了130epoch只达到了68.3,并且在第3个epoc达到了最高,并没有到达论文给出的70.0 在FLO上运行了730epoch只达到了67.4,并且在第670个epoch达到了最高,这和论文的73.5相差太大了 在SUN上还是出现了nan 在CUB上使用sent达到了论文的结果

HanAccount avatar May 04 '22 08:05 HanAccount

您好!可能是batch size对contrastive embedding影响较大,请参考论文中提供的batch size: `We use a random mini-batch size of 4,096 for AWA1 and AWA2, 2,048 for CUB, 3,072 for FLO, and 1,024 for SUN in our method.'

Hanzy1996 avatar May 04 '22 15:05 Hanzy1996

能提供你训练时用的batchsize吗
SUN数据集我换了128后已经可以正常运行了 其他的数据集我都是在batchsize为64的基础上运行的

HanAccount avatar May 04 '22 15:05 HanAccount

您好!请参考上条回复。

Hanzy1996 avatar May 05 '22 02:05 Hanzy1996

您好!请参考上条回复。

您好,我在跑SUN数据集时也遇到了NAN的情况,别的数据集上不存在这个问题,想请教您为什么SUN如此特殊呢,是模型本身的问题(比如说WGAN不稳定)还是SUN数据集有脏数据呢?

yangjingqi99 avatar May 05 '22 02:05 yangjingqi99

好的麻烦你了,我现在尝试使用论文里参数分析所给的最好参数进行实验

HanAccount avatar May 05 '22 02:05 HanAccount

您好!请参考上条回复。

您好,我在跑SUN数据集时也遇到了NAN的情况,别的数据集上不存在这个问题,想请教您为什么SUN如此特殊呢,是模型本身的问题(比如说WGAN不稳定)还是SUN数据集有脏数据呢?

可能是batch_size太小了 我之前使用batch_size=64时出现了nan ,加大了batch_size后可以正常运行

HanAccount avatar May 05 '22 02:05 HanAccount

我设置的batch_size是1024,但是也会出现NAN的问题,其他数据集不会

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

如果方便的话希望您SUN数据集的结果跑出来可以告诉我一下,SUN我只能复现到38.8

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

我使用batch_size=128时跑到了40.6还是没有原文高 我正在尝试使用论文里提供的最好参数batch_size=1024

请问下你在其他数据集上跑到了论文给出的结果吗

HanAccount avatar May 05 '22 03:05 HanAccount

我这边是除了FLO和SUN,其他都可以跑到论文报告的结果

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

能麻烦你提供下分别使用的参数或者运行的脚本命令吗

我只有在CUB上跑到了论文的结果,其他的都没有达到

HanAccount avatar May 05 '22 03:05 HanAccount

--dataset AWA1 --class_embedding att --syn_num 1800 --batch_size 4096 --attSize 85 --nz 85 --embedSize 2048 --outzSize 512 --nhF 2048 --ins_weight 0.001 --cls_weight 0.001 --ins_temp 0.1 --cls_temp 0.1 --manualSeed 9182 --nclass_all 50 --nclass_seen 40

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

其他找不到了,我使用的就是作者提供的参数 manualSeed:AWA1&2 (9182), FLO (806), SUN (4115) nz=attSize (AWA1/AWA2/CUB/SUN), nz=512 (FLO) syn_num:AWA1(1800) AWA2 (2400), FLO (600), SUN (100) nhF: AWA1&2(2048), FLO (1024), SUN (1024) ins_weight: AWA1&2(0.001), FLO (0.01), SUN (0.01) cls_weight: AWA1&2(0.001), FLO (0.01), SUN (0.01) lr: AWA1&2(1e-4), FLO (1e-4), SUN (5e-5) lr_decay_epoch: AWA1 (50), AWA2 (10), FLO&SUN (100) epochs: AWA1/AWA2 (about 130), CUB (about 450), FLO (about 730), and SUN (about 350).

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

你使用作者提供的batchsize, AWA1,AWA2,CUB都可以复现

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

--ins_temp 0.1 --cls_temp 0.1这两个参数是用论文参数分析那里提供的吗

还是所有的数据集都是用0.1和0.1

HanAccount avatar May 05 '22 03:05 HanAccount

这个两个参数作者没给,所以我用的是默认的,可以问一下作者

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

我看论文中的参数分析那一节给出了最好的一组权值 我现在在对应论文中的参数分析给出的参数来跑实验

HanAccount avatar May 05 '22 03:05 HanAccount

嗯嗯好的,麻烦您跑完请告诉我您FLO和SUN的结果~

yangjingqi99 avatar May 05 '22 03:05 yangjingqi99

@yangjingqi99 我在SUN数据集上只跑到了40.3 参数如下: nepoch=350 syn_num=100 batch_size=1024 attSize=nz=102 embedSize=2048 outzSize=512 nhF=1024 ins_weight=0.01 cls_weight=0.01 ins_temp=cls_temp=0.1 lr=5e-5 le_decay_epoch=100 使用的参数都是参照论文和作者给出的 实在是跑不到论文给出的结果 @Hanzy1996 请问这是什么情况呢

HanAccount avatar May 05 '22 12:05 HanAccount

十分不好意思,SUN的epoch参数有误,350是另外一篇文章里面SUN的epoch参数,请稍等我再整理一下。

Hanzy1996 avatar May 05 '22 12:05 Hanzy1996

十分不好意思,SUN的epoch参数有误,350是另外一篇文章里面SUN的epoch参数,请稍等我再整理一下。

非常感谢,请您再公布一下这两个ins_temp、 cls_temp参数在每个数据集上的设置

yangjingqi99 avatar May 05 '22 12:05 yangjingqi99

十分不好意思,SUN的epoch参数有误,350是另外一篇文章里面SUN的epoch参数,请稍等我再整理一下。

非常感谢,请您再公布一下这两个ins_temp、 cls_temp参数在每个数据集上的设置

您好!这两个参数和论文中相同。

Hanzy1996 avatar May 05 '22 12:05 Hanzy1996

我在FLO数据集上也就跑到了72.5 并没有达到论文中给出的73.5 使用的参数如下: nepoch=730 syn_num=600 batch_size=3072 attSize=1024 nz=512 ins_weight=cls_weight=0.01 ins_temp=0.1 cls_temp=1.0 lr=1e-4 lr_decay_epoch=100 使用的是和论文中一样的参数 还是有差距 实验中有什么其他细节方面的吗 @Hanzy1996 @yangjingqi99

HanAccount avatar May 05 '22 13:05 HanAccount

我在FLO数据集上也就跑到了72.5 并没有达到论文中给出的73.5 使用的参数如下: nepoch=730 syn_num=600 batch_size=3072 attSize=1024 nz=512 ins_weight=cls_weight=0.01 ins_temp=0.1 cls_temp=1.0 lr=1e-4 lr_decay_epoch=100 使用的是和论文中一样的参数 还是有差距 实验中有什么其他细节方面的吗 @Hanzy1996 @yangjingqi99

我FLO也没有复现到73.5。。

yangjingqi99 avatar May 05 '22 13:05 yangjingqi99