Based on https://www.iitk.ac.in/kangal/Deb_NSGA-II.pdf
Using https://github.com/google-research/nasbench
- download cuda 10.0, tensorflow 1.15, python 3.6
- execute setup.py
- Initialize population randomly.
- Generate offspring.
- Choose two parents by tournament selection.
- Encode selected two parents.
- Crossover.
- Mutation by using bitwise.
- Decode offspring.
- Check offspring is valid.
- Combine parent and offspring population.
- Fast non dominated sort: assign 'rank'
- Crowding distance assignment
- Select next parent population by Crowded Comparison Operator.
[Model Outline]
[Nondominated Sorting]
[Generate Offspring]
-
population is list of elems.
elem = {'acc': data['validation_accuracy'], 'time': data['training_time'], 'spec': spec}
At every step of the evolution, the rank in the nonnominated sorting is expressed by red, orange, yellow, and green in the increasing order.