My Tensorflow Implementation of Customizing Student Networks From Heterogeneous Teachers via Adaptive Knowledge Amalgamation https://arxiv.org/abs/1908.07121
Currently support classifying of MNIST data, amalgamate knowledge from the models which are trained on MNIST.
Tested on Python 3.6 and Tensorflow 1.14 with 1080Ti (CUDA 10.0). I recommend that you can make a virtual environment to run this code.
Please use the followed code to install the required package.
pip install -r requirements.txt
models.py
contains the implementation of training model include component net (supervised) and target net (unsupervised).dataset.py
contains the implementation of loading the MNIST dataset.sample.py
contains the implementation of FeatureAlignmentModule and Block-wise Losscallbacks.py
contains the implementation of Tensorboard callback.
python ./models.py --step=1
This will train the component net by MNIST supervision. After that, we can get the well-trained component net (In the paper, the component is obtained by unsupervised training, but we trained it by labeled data for sake of simplicity).
step=2
represents that we unsupervised train the target net.step=3
represents that evaluate the effectiveness of target net.
- Google Drive
- Baidu