Comments (10)
Hi, I got the same as @csyanbin with python 3.5, cuda 8 and pytorch 0.3
from prototypical-networks.
@bertinetto @jakesnell
I also reproduced the experiments using tensorflow with the same setting and parameters, still got similar results. I wonder if I miss some implementation or parameter details?
from prototypical-networks.
Hello, I just want to add that I implemented the same algorithm in a slight different way (here), and I got the same as @csyanbin too (except for the 20way1shot where I obtained 95.1%).
Edit / Side Note: just read this paper: https://arxiv.org/pdf/1711.04043v3.pdf and it seems they are reporting different accuracies with ProtoNet too (97.4 | 99.3 | 95.4 | 98.8) (page 8).
from prototypical-networks.
@dnlcrl I think the results above (97.4 | 99.3 | 95.4 | 98.8) cite the original prototypical paper of ICLR (https://openreview.net/references/pdf?id=BJ-3bnVmg), which is different setting with this git repo.
The ICLR version always uses 1-shot training, but this repo uses the corresponding shot.
This is also given in appendix A of https://arxiv.org/pdf/1703.05175.pdf, in line1 and line2 of table4.
from prototypical-networks.
@csyanbin Oh I got it, thank you, I must have missed it.
from prototypical-networks.
Hi,
@csyanbin I think the results reported are when training on both the training and validation set.
run_trainval.py run this full training using the epoch number validated on the validation set during the first training with the same other hyperparameters.
The results I get are closer to the reported ones but still different:
5way1shot | 5way5shot | 20way1shot | 20way5shot |
---|---|---|---|
98.5 | 99.6 | 95.3 | 98.7 |
from prototypical-networks.
Hi,
@yannlif I think validation cannot be combined into the training set for fair comparisons. Also, in this paper, the authors said: "We follow their procedure by training on the 64 training classes and using the 16 validation classes for monitoring generalization performance only."
Although the performance is slightly better, I think this is not fair for comparison.
from prototypical-networks.
We follow their procedure by training on the 64 training classes and using the 16 validation classes for monitoring generalization performance only.
This is for the mini-ImageNet experiments.
In the Omniglot part:
We use 1200 characters plus rotations for training (4,800 classes in total) and the remaining classes, including rotations, for test.
This corresponds to the trainval split. The train split has only 1028 unique characters.
from prototypical-networks.
@yannlif
I got it. I think you are right for Omniglot.
Thanks for this information. I will try again.
from prototypical-networks.
Hi Guys,
Does anybody how many training epochs and episodes/epoch was used to reproduce the paper's results (for eg. the miniImagenet dataset) ?
from prototypical-networks.
Related Issues (20)
- ModuleNotFoundError: No module named 'protonets.utils' HOT 3
- why the training speed of an epoch is accelerating? HOT 3
- Train accuracy is lower than val accuracy HOT 1
- thank you for yourc code . but i can not download the dataset, .sh profile i can not conduct. can you tell the address of the datasets? HOT 1
- Some questions
- updated implementation HOT 1
- How to train a new dataset? HOT 5
- What is the accuracy of this repo on the Mini-ImageNet dataset? HOT 3
- Research project about PN
- Error while training
- Installation of setup under windows HOT 4
- Question for Loss
- Alternative implementation
- About calculation of loss function HOT 1
- dataset questions HOT 1
- Rotate four angles. Are these photos in four categories HOT 1
- Zero-shot learning meta-data
- An error in paper
- accuracy when training with 1 query set
- What if it's an event
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prototypical-networks.