神经网络架构搜索(NAS)是深度学习社区的焦点之一,但由于大量的低级实现细节,重现NAS方法极具挑战性。为了缓解这个问题,我们开发了NASLib,一个基于PyTorch构建的NAS库。这个框架为设计和重用搜索空间提供了高级抽象,提供了基准和评估管道的接口,使得用几行代码就能实现和扩展最先进的NAS方法。NASLib的模块化特性允许研究人员轻松地对单个组件进行创新(例如,在重用优化器和评估管道的同时定义新的搜索空间,或者利用现有的搜索空间提出新的优化器)。因此,NASLib有潜力通过实现快速进展和评估来促进NAS研究,这些进展和评估在设计上就排除了混淆因素。
当前的API允许用几行代码定义搜索空间和NAS优化器,以及搜索和最终评估循环
>>> search_space = SimpleCellSearchSpace()
>>> optimizer = DARTSOptimizer(config)
>>> optimizer.adapt_search_space(search_space)
>>> trainer = Trainer(optimizer, config)
>>> trainer.search() # Search for an architecture
>>> trainer.evaluate() # Evaluate the best architecture
如果您对NASLib更感兴趣,请查看我们的开源仓库:
