yangxuesong

Results 5 comments of yangxuesong

你好,关于你说的maml方法多gpu的问题,我们发现确实存在这样的问题。并且如果要修改支持多gpu的话,需要对代码进行较大的改动。我们打算在之后进行一次更新,来修复这些比较大的问题。

Thanks for your issue. LibFewShot is mainly designed for 3-channel based RGB images and the design of backbones also follows this. If you need to deal with images more than...

你好,这种在计算损失之前在距离上乘以一个数,就是有些方法会用的温度。 这些方法会用温度来控制距离分布的熵。乘上0.01后,pytorch实际进行交叉熵计算的是经过softmax的tensor。softmax的结果会受到温度影响,但是和不用温度结果相比,不会有数量级或者大小关系的变化,只会使得每个类分类结果的分布平缓或者尖锐。 你所做的乘以0.01,就是使用值为100的温度。至于温度对方法的影响,这个对不同的方法是不同的,因此准确率提升或者下降都是有可能的。

由于计算交叉熵之前需要先使用softmax对距离进行处理,因此乘上系数不能简单理解为改变了距离的数量级,系数最主要的所用是改变softmax的输出分布。 如果是只是对ProtoNet的欧式距离乘上这种系数,并不能称得上是对距离度量的改进,而是在距离上应用了温度这个技巧。 如果是对其他你所提出的距离度量进行分析,需要进行消融,尝试去掉温度或者换一个带相同温度的其他度量来进行消融实验,以此来验证是温度还是距离度量的作用。 [深度学习中的temperature parameter](https://zhuanlan.zhihu.com/p/132785733) [交叉熵的计算](https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html?highlight=crossentropy#torch.nn.CrossEntropyLoss)

MAML现在可以多gpu进行训练了。 有一个没有解决的问题是MAML在DistributedDataParallel下不能和SyncBatchNorm同时使用,我们后续会分析缺少同步操作对最终结果的影响,并寻找相应的解决办法。