WenbinLee / CovaMNet

The Pytorch code of "Distribution Consistency based Covariance Metric Networks for Few-shot Learning", AAAI 2019.
Other
56 stars 10 forks source link

训练阶段的几个问题 #5

Closed jpzhai closed 6 months ago

jpzhai commented 2 years ago

您好,想问一下,在训练阶段,就已经对测试集进行测试了对吗? 还有训练阶段的

Fix the parameters of Batch Normalization after 10000 episodes (1 epoch)

if epoch_item < 1:
    model.train()
else:
    model.eval()

这几行代码是什么意思呢?epoch_item是不是从for epoch_item in range(opt.epochs):这里获取的

WenbinLee commented 2 years ago

您好,关于第一个问题,是的,在训练阶段进行了测试,方便观察模型的效果; 关于第二个问题,这样设置的目的是希望模型训练完一个Epoch之后,固定模型BN层的参数,提高模型的泛化能力,是一个小的trick,当然你可以去掉这个设置,但是需要在train代码里把模型的模式改成model.train()。

jpzhai commented 2 years ago

感谢您的回答,还有一个问题不是太懂,在训练阶段的代码中episodeSize是代表batch_size吗?可以改变他的大小吗?我发小改变他之后,取N-way数据标签都是0-4,这样会对训练有影响吗?

WenbinLee commented 2 years ago

EpisodeSize代表训练时few-shot task的个数,从task维度理解,batch_size=1,但是如果从sample维度理解,batch_size=support samples + query samples; 改变它的大小对训练有一定的影响,看你是增加task的个数,还是说只是改变query samples的个数,一般不会改变support set的大小。

谢谢!


Wenbin Li, PhD.

Assistant Professor Department of Computer Science and Technology State Key Laboratory for Novel Software Technology Nanjing University, China

Email: @.; @. @.***> Homepage: https://cs.nju.edu.cn/liwenbin/

jpzhai @.***> 于2022年7月14日周四 11:40写道:

感谢您的回答,还有一个问题不是太懂,在训练阶段的代码中episodeSize是代表batch_size吗?可以改变他的大小吗?我发小改变他之后,取N-way数据标签都是0-4,这样会对训练有影响吗?

— Reply to this email directly, view it on GitHub https://github.com/WenbinLee/CovaMNet/issues/5#issuecomment-1183948701, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE3GGHENW2UCEMZ4BBCNBZTVT6DZXANCNFSM53CXDJMA . You are receiving this because you commented.Message ID: @.***>