Originally posted by **MasterWinston** October 7, 2022
1. **### 1.关于train、val、test set的困惑。**
Libfewshot中把数据集分为train、val和test,比如,miniImagenet数据集有100个class,被分成train set、val set、test set;
但我看到在fewshot领域其他人对数据集处理时,似乎只分成了train set 和test set,也就是说100个class只需要分成不交叉的background 和evaluation(比如76:24), 而且就我对libfewshot代码中所理解的val on val set、test on test set部分,好像只是在train完后进行的两次重复性的test。
按照我从网上找到的对train、val和test的介绍,如下:
train是训练集,val是训练过程中的测试集,是为了让你在边训练边看到训练的结果,及时判断学习状态。test就是训练模型结束后,用于评价模型结果的测试集。
按我的理解,libfewshot在train阶段,val on val set、test on test set部分都是在边训练边看到训练的结果。是我的理解出了差错吗?
1. **### 2.关于meta learning的一些疑惑。**
据我了解,meta learning是在taskA、taskB、……上进行训练,然后在new task上进行少量的训练即可得到较好的结果。在miniImagenet上训练时的确也是按照这个思路来的,分成了train class和test class。现在假设我已经用miniImagenet训好了一个模型(5-way 5-shot)
然后如果我现在用自己的新的数据集,我是否可以直接使用libfewshot中的run_trainer_resume.py来进行训练呢?(假设之前的模型epoch:100,我想在训好的模型基础上训我自己的数据集10epoch,因此我在run_trainer_resume.py将epoch参数设为110,这个方法是否可行)。
另外,当这个数据集只有4 class且每个class的数据量只有4个时,我怎么在已经训好的模型(5-way 5-shot)上进行继续训练,还是说此时我无法使用这个训好的模型,只能先使用数据集,比如miniImagenet来重新训个4-way k(<4)-shot的模型呢?
Discussed in https://github.com/RL-VIG/LibFewShot/discussions/55