Evolutionary NAS framework
Project description
Evolly is an evolutionary neural architecture search framework designed to make running evolution as flexible as possible.
Learn details of the Evolly's pipeline in our Towards Data Science post.
What does Evolly do?
Evolly allows you to:
- Boost metrics of your deep learning model by tuning backbone architecture
- Search for new backbone architectures by finding optimal types, order of the blocks and optimizing block parameters (kernel sizes, strides, filters and dropouts).
You can apply it with to any Deep Learning task: classification, detection, segmentation, pose estimation, GAN, etc.
Features
We've added following features to make it possible to implement Evolly in any training pipeline:
- Build models using common DL frameworks (tensorflow, torch)
- Set multiple branches (stems) of different data types
- Define custom backbone depth and width
- Pass custom architecture blocks
- Choose parameters to mutate
- Customize allowed values and intervals of the mutations
- Run training in distributed or parallel mode
- Monitor evolution via TensorBoard
- Estimate search space size
- Visualize evolution
Getting started
To launch evolution with Evolly:
- Make sure you have tensorflow >= 2.3 and torch >= 1.9.0 installed
- Install Evolly via pip:
pip install evolly
- Follow Making your first evolution guide
Improvements
We are open to any help. Check out our ideas here to learn how we can upgrade Evolly together:
- Test default PyTorch blocks
- Add new data types
- Add new default blocks
- Utilize mutation rate and add mutation probabilities
- Implement reinforcement learning
- Upgrade branch connections
- Implement ability to build multiple branches with torch
References
- EvoPose2D: genotype storing approach and MobileNetV2 block implementation
- Inception_ResNet_v2 block implementation
- ResNet block implementation
Contacts
Contact us if you are interested in collaborating or ready to invest in us: revisorteam@pm.me
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.