This is a tuner generally for NNI's NAS interface, it uses ppo algorithm. The implementation inherits the main logic of the implementation here (i.e., ppo2 from OpenAI), and is adapted for NAS scenario.
It could successfully tune the mnist-nas example, and has the following result:
We also tune the macro search space for image classification in the enas paper (with limited epoch number for each trial, i.e., 8 epochs), which is implemented using the NAS interface and tuned with PPOTuner. Use Figure 7 in the enas paper to show how the search space looks like
The figure above is a chosen architecture, we use it to show how the search space looks like. Each square is a layer whose operation can be chosen from 6 operations. Each dash line is a skip connection, each square layer could choose 0 or 1 skip connection getting the output of a previous layer. Note that in original macro search space each square layer could choose any number of skip connections, while in our implementation it is only allowed to choose 0 or 1.
The result is shown in figure below (with the experiment config here):