Skip to content

System to apply evolutionary mutations to the structure of AmoebaNet-D, using a domain specific dataset.

License

Notifications You must be signed in to change notification settings

whiteio/AmoebaNet-Evolver

Repository files navigation

AmoebaNet Evolver - PyTorch

System to evolve the structure of AmoebaNet-D to attempt to improve performance by making mutations to the cell operations used.

Report Bug · Request Feature

About The Project

![Product Name Screen Shot][product-screenshot]

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.

Key Details

  • 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

Built With

  • PyTorch
  • GPipe - Pytorch implementation of AmoebaNet-D
  • Modified hyperparameter tuning code to be used for evolution, obtained from here

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • ChestX-ray14 dataset (hopefully the evolver will be abstracted soon to apply it to different domains easily)

Installation

  1. Clone the repo
    git clone https://github.com/whiteio/AmoebaNet-Evolver.git
  2. Install required packages
    pip install -r requirements.txt

Usage

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

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

About

System to apply evolutionary mutations to the structure of AmoebaNet-D, using a domain specific dataset.

Topics

Resources

License

Stars

Watchers

Forks