[D] Looking for a good open-source NAS implementation
I’m looking for a good Neural Architecture Search implementation that I could use to learn a deep network for my custom dataset. The dataset is sequential (long sequences of ~40 unique tokens), and the task is just sequence modeling. I’m happy to use a fixed window size and one-hot encoding to turn the inputs into fixed-size matrices if that makes life easier (e.g. turning this into an image classification task). I’ve already used hand-crafted RNNs and attention-based models and achieved pretty high accuracy, but I’m hoping to try out NAS and see how it compares.
I wanted to ask here and see if anyone has suggestions first before I sink a large number of hours into any one package. Some packages I’ve used/heard of:
AutoKeras – Doesn’t seem to work with the sequential form of the data but does work with the fixed-size matrices by using the ImageClassifier. Having a bunch of problems though as 0.4 version is a little broken, and 1.0 version isn’t yet complete.
auto-sklearn – My understanding is it focuses on XGBoost rather than neural nets.
https://github.com/quark0/darts – I really like the idea/paper for this one, has anyone had experience using it for a custom dataset?
https://github.com/carpedm20/ENAS-pytorch – Same algorithm as AutoKeras (ENAS) but only RNNs are implemented so far. I see a lot of open issues on GitHub so a little apprehensive about committing time to this specific implementation.
Exploring Randomly Wired Neural Networks for Image Recognition (https://arxiv.org/abs/1904.01569) – I love this paper but can only find unofficial implementations on GitHub. Looking through them it seems like they don’t achieve quite as high results as in the paper. Has anyone seen an official (or best) implementation of this?
Microsoft NNI (https://github.com/microsoft/nni) – This seems a little bit intense and I haven’t had a chance to learn how to use it yet. It does seem to contain ENAS as one of the algorithms though, so this seems promising.
Is one of these the right tool for me to use? Are there some other implementations out there that would be better suited for my task?