Python code for paper "Multi-stage Meta-Learning for Few-Shot with Lie Group Network Constraint"
- Python 3.X
- PyTorch (ver>=0.4)
- Numpy
- mini-ImageNet dataset
- zipfile
- Ubuntu 16.04
- Python 3.6.1
- PyTorch 1.0.1
- Numpy 1.17.2
- CPU: Intel Xeon E5-2620 v4 @2.10GHz with 8 Cores
- GPU: NVIDIA TITAN Xp with CUDA 8.0.61
MSML_Project
└─data
└─miniimagenet
├─images
├─nxx.jpg
├─...
├─train.csv
├─val.csv
├─test.csv
─proc_images.py
└─meta
├─main.py
├─model.py
├─net_meta.py
├─data_provider_meta.py
└─pretrain
├─pretrain.py
├─data_provider.py
├─net.py
RAM | GPU Memory | |
---|---|---|
Pretrain Phase | 1500MB | 6267MB |
5-way 1-shot | 1800MB | 8767MB |
5-way 5-shot | 1800MB | 10157MB |
- download mini-ImageNet dataset, images are croped to 84* 84 pixels.
- put
mini-ImageNet.zip
in folderMSML_project/data/
. - run
proc_dataset.py
to unzip file and copy all images to folderMSML_Project/data/miniimagenet/images/
.
- run
MSML_Project/pretrain/pretrain.py
to get pretrain weight.
- finish pretrain phase
- run
MSML_Project/meta/main.py
iter/s | total time | |
---|---|---|
Pretrain | 2.64 | 5h-10m-46s |
5-way 1-shot | 0.7 | 6h-51m-34s |
5-way 5-shot | 0.26 | 19h-23m-45s |