- 训练过程:首先为每个Query先进行一次Support分配,根据total_num_support参数和max_pos_support参数;接着在batch_size中,根据Query的Support、episode_num参数和episode_size进行Support分配;所有的Base样本作为Query,Support从Base中随机选取;一个batch_size包括episode_num个迭代,计算episode_num次预测结果的总损失进行权重更新;
- 调优过程:对所有类别进行调优训练,既要保证基类精度也要保证小样本类精度;在选出的N-way,K-shot中选N*K作为Query,Support从N*K中挑选。
- 测试过程:以VOC2007-test为例,VOC0712trainval作为support集,每个类别取一个support,取number_of_supports = 100组(# This is the number of support images to use for each category. Need be large enough.),最后再取这100组同一类别的特征平均作为支持集;num_episode = math.ceil(supp_class_ids/ support_batchsize);接下来的步骤就和训练过程一样了;
- loader_support的batch_size=1,
- batch_size:查询集批次大小
- episode_num:一个batch_size进行的task数
- episode_size:batch_size的每个Query对应的支持集数量
- total_num_support:used in training: each query image comes with ? support image(s)
- max_pos_support: used in training: each query image comes with at most ? positive support image(s)