I've been trying to reproduce the paper results using the provided code and checkpoints. I noticed a discrepancy between the k value produced during training and the k value stored in the official Meta-tuning checkpoints.
1. Training produces k = 0.0
When running train.py with the default parameters on miniImageNet 1-shot, the optimal k value found during validation is consistently around 0.0 throughout all 100 epochs:
epoch 84, train 1.1611|98.90%, val 1: 0.8414, 0.8414 (k = 0.0)| MAX: 0.8414
epoch 97, train 1.1487|98.94%, val 1: 0.8360, 0.8360 (k = 0.0)| MAX: 0.8414
2. Official checkpoint has k = 0.78
checkpoint = torch.load('./checkpoint/Meta-tuning/miniImageNet-1-shot.pth')
print(checkpoint['k']) # Output: 0.78
3. k=0.78 is optimal on TEST set, not validation set
I tested different k values on the novel (test) set:
| k |
Test Accuracy (novel) |
| 0.00 |
79.56 ± 0.75% |
| 0.20 |
80.96 ± 0.70% |
| 0.40 |
82.30 ± 0.66% |
| 0.60 |
83.15 ± 0.63% |
| 0.78 |
83.68 ± 0.62% |
| 0.80 |
83.67 ± 0.63% |
| 1.00 |
82.73 ± 0.66% |
Question
It appears that k=0.78 was selected by evaluating on the test set rather than being determined from the training/validation process. Could you please clarify:
- How was k=0.78 determined for the official checkpoints?
- Is this the intended behavior, or should the code be modified to produce similar k values during training?
This is important for reproducibility and fair comparison with other methods.
Thank you for your work on this project!
I've been trying to reproduce the paper results using the provided code and checkpoints. I noticed a discrepancy between the k value produced during training and the k value stored in the official Meta-tuning checkpoints.
1. Training produces k = 0.0
When running train.py with the default parameters on miniImageNet 1-shot, the optimal k value found during validation is consistently around 0.0 throughout all 100 epochs:
2. Official checkpoint has k = 0.78
3. k=0.78 is optimal on TEST set, not validation set
I tested different k values on the novel (test) set:
Question
It appears that k=0.78 was selected by evaluating on the test set rather than being determined from the training/validation process. Could you please clarify:
This is important for reproducibility and fair comparison with other methods.
Thank you for your work on this project!