This is the implementation repository of Adaptive kNowledge Transfer (ANT), the solution for KA-MLC, AAAI 2023.
- main.py : Code for training ANT
- model.py : Supporting models
- utils.py : Supporting utility functions
- requirements.txt : Library requirements
Prepared folders:
- data : directory to place training data
- teachers : directory to place teacher models
- output : directory for training logs and outputs
The datasets and the teachers we use in our paper are available here: https://drive.google.com/drive/folders/1QlFDmR4D5fA6MQMnkqy1-fG-6leQI-Od?usp=sharing
Run script as:
python main.py -t_numlabel 4 4 -t_labels 1 2 3 4 3 4 5 6 -stu_labels 1 2 3 4 5 6 \
-t_path './teachers/t0.sav' './teachers/t1.sav' -dataname 'sample_data'
Parameters:
-
Required:
- -t_path : path of each teacher model, e.g., './t0.sav' './t1.sav'
- -t_numlabel : #labels corresponding to each teacher in t_path, e.g., 4 4'
- -t_labels : concatenated specialized labels of each teacher corresponding to t_path, e.g., t0_label: 1 2 3 4 and t1_label: 3 4 5 6, then t_labels: 1 2 3 4 3 4 5 6
- -stu_labels : student labels, e.g., 1 2 3 4 5 6
- -dataname : unlabelled data for training the student
-
Hyperparameters:
- -lr : learning rate, default 0.001
- -ep : epochs, default 500
- -bs : batch size, default 8
- -layer : #layers, default 1
- -hidden : #hidden size, default 32