python=3.9.12
torch=1.12.1
protobuf=3.20.1
betaincder=0.1.1
scipy
Note that we use the same training schedule (e.g, same models, optimizers, and hyperparameters) of these methods before and after pruning.
ResNet-S: trained by supervised learning.
ResNet-SSL: trained by the self-supervised learning method SimCLR
ResNet-I: using the model weight pre-trained on ImageNet-1K
These model weights can be found in google drive.
Dataset path: {dataset_root}
Please carefully select parameters used in run.sh.
sh run.sh {gpu_device} {dataset} {partial_rate} {imb_rate} {tau} {k}
For examples ({model_name}='blip2' {model_type}='pretrain'):
Uniform:
sh run.sh 0 cifar10 0.4 0.0 0.6 150
sh run.sh 0 cifar10 0.6 0.0 0.6 150
sh run.sh 0 cifar100 0.01 0.0 0.6 150
sh run.sh 0 cifar100 0.05 0.0 0.6 150
sh run.sh 0 tiny-imagenet 0.01 0.0 0.4 150
sh run.sh 0 tiny-imagenet 0.05 0.0 0.4 150
Instance-dependent (LD):
sh run.sh 0 cifar10 0.0 0.0 0.6 50
sh run.sh 0 cifar100 0.5 0.0 0.6 150
Label-dependent (ID):
sh run.sh 0 cifar10 -1.0 0.0 0.2 5
sh run.sh 0 cifar100 -1.0 0.0 0.2 5
sh run.sh 0 tiny-imagenet -1.0 0.0 0.2 50
Long-tailed (LT):
sh run.sh 0 cifar10 0.3 0.01 0.2 50
sh run.sh 0 cifar10 0.3 0.02 0.2 50
sh run.sh 0 cifar10 0.5 0.01 0.2 50
sh run.sh 0 cifar10 0.5 0.02 0.2 50
sh run.sh 0 cifar100 0.01 0.01 0.2 50
sh run.sh 0 cifar100 0.01 0.02 0.2 50
sh run.sh 0 cifar100 0.05 0.01 0.2 50
sh run.sh 0 cifar100 0.05 0.02 0.2 50
PASCAL_VOC:
sh run.sh 0 voc 0.0 0.0 0.1 5
Original and pruned candidate labels used in the experiment can be found in google drive.
Using cal_er.py to reproduce the Figure 1.
If you have any further questions, please feel free to send an e-mail to: shuohe123@gmail.com.