System to evolve the structure of AmoebaNet-D to attempt to improve performance by making mutations to the cell operations used.
This project can be used to evolve the structure of AmoebaNet-D to improve classification performance, as it was created through evolution using the CIFAR-10 dataset which may not be as effective in alternative domains such as chest infection classification. The dataset currently used is ChestX-ray14 and the models are configured for multi-label image classification. The average AUROC score is currently used as the metric for deciding which models perform best during each cycle.
- Each model is created by mutating the best performing model from the previous cycle
- A cycle involves mutating the population of models, training for a user definable number of epochs and evaluating
- AmoebaNet-D is initial structure used
- Mutations occur to the operations of the normal and reduction cells
- Each cycle one operation mutation occurs per model
- Operations are randomly picked from a subset of NAS search space (operations already used in AmoebaNet-A,B,C and D)
- Results are output to log file containing the evaluation scores obtained for each model, along with the models normal and reduction operations for reproducability
- PyTorch
- GPipe - Pytorch implementation of AmoebaNet-D
- Modified hyperparameter tuning code to be used for evolution, obtained from here
To get a local copy up and running follow these simple steps.
- ChestX-ray14 dataset
- Clone the repo
git clone https://github.com/whiteio/AmoebaNet-Evolver.git
- Install required packages
pip install -r requirements.txt
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
command to run system
Distributed under the MIT License. See LICENSE
for more information.