aw_nas: 一个模块化可扩展的神经架构搜索框架

aw_nas: 开创神经架构搜索的新纪元

神经架构搜索(Neural Architecture Search, NAS)因其能够以自动化的方式发现神经网络架构而备受关注。作为这一领域的重要工具,aw_nas应运而生,为研究人员和工程师提供了一个强大而灵活的NAS框架。

什么是aw_nas?

aw_nas是一个开源的Python框架,由清华大学NICS-EFC实验室和北京诺宝科技有限公司联合开发维护。它以模块化的方式实现了多种NAS算法,为神经架构搜索研究提供了一个统一的平台。

aw_nas logo

aw_nas的核心特性

  1. 模块化设计: aw_nas将NAS系统划分为搜索空间、控制器、权重管理器、评估器和目标等组件,各组件之间接口明确,便于扩展和定制。

  2. 算法多样性: 目前aw_nas已实现了ENAS、DARTS、SNAS、FBNet、OFA等多种主流NAS算法,可以直接用于重现这些算法的结果。

  3. 应用广泛: 除了常见的图像分类任务,aw_nas还支持将NAS应用于目标检测、文本建模、硬件容错、对抗鲁棒性、硬件推理效率等多个领域。

  4. 硬件感知: aw_nas提供了通用的硬件相关分析和解析接口,并内置了多种硬件的延迟表和校正模型。

  5. 扩展性强: 通过插件机制,用户可以方便地在aw_nas框架外添加新的组件或扩展现有组件。

如何使用aw_nas?

安装

aw_nas支持Python 2.7、3.6和3.7版本,推荐使用虚拟环境进行安装:

conda create -n awnas python==3.7.3 pip pip install -r requirements.txt
conda create -n awnas python==3.7.3 pip pip install -r requirements.txt 
conda create -n awnas python==3.7.3 pip pip install -r requirements.txt
运行NAS搜索

以ENAS算法为例,可以通过以下命令启动搜索:

awnas search examples/basic/enas.yaml --gpu 0 --save-every <SAVE_EVERY> --train-dir <TRAIN_DIR>
awnas search examples/basic/enas.yaml --gpu 0 --save-every <SAVE_EVERY> --train-dir <TRAIN_DIR> 
awnas search examples/basic/enas.yaml --gpu 0 --save-every <SAVE_EVERY> --train-dir <TRAIN_DIR>

这里examples/basic/enas.yaml是配置文件,定义了搜索空间、控制器、评估器等组件的具体设置。

导出和评估架构

搜索完成后,可以使用awnas derive命令采样架构,并用awnas eval-arch评估这些架构:

awnas derive search_cfg.yaml --load <checkpoint dir> -o sampled_genotypes.yaml -n 10 --test --gpu 0 --seed 123 awnas eval-arch search_cfg.yaml sampled_genotypes.yaml --load <checkpoint dir> --gpu 0 --seed 123
awnas derive search_cfg.yaml --load <checkpoint dir> -o sampled_genotypes.yaml -n 10 --test --gpu 0 --seed 123 awnas eval-arch search_cfg.yaml sampled_genotypes.yaml --load <checkpoint dir> --gpu 0 --seed 123 
awnas derive search_cfg.yaml --load <checkpoint dir> -o sampled_genotypes.yaml -n 10 --test --gpu 0 --seed 123 awnas eval-arch search_cfg.yaml sampled_genotypes.yaml --load <checkpoint dir> --gpu 0 --seed 123

aw_nas的应用案例

aw_nas已在多个研究项目中得到应用,包括:

  1. FTT-NAS: 发现容错神经架构
  2. 面向加速器的神经架构搜索黑盒搜索空间分析
  3. 基于预测器的NAS的通用图神经架构编码方案
  4. 评估神经架构的高效性能估计器
  5. 多轮NAS用于发现指定容量下的对抗鲁棒卷积神经架构
  6. BARS: 联合搜索单元拓扑和布局以实现准确高效的二值化架构
  7. Gibbon: 高效协同探索神经网络模型和存内处理架构

这些应用展示了aw_nas在不同领域的强大适应性和实用价值。

未来展望

随着深度学习技术的不断发展,神经架构搜索将在AI系统的自动化设计中扮演越来越重要的角色。作为一个开源框架,aw_nas将继续发展,为研究人员提供更多功能和更好的用户体验。我们欢迎社区贡献新的NAS组件实现、新的NAS应用、bug修复和文档改进等。

通过aw_nas,我们希望能够加速NAS技术的发展和应用,为人工智能的进步贡献一份力量。无论您是NAS领域的研究者,还是希望将NAS应用到实际问题中的工程师,aw_nas都将是您的得力助手。

让我们共同探索神经架构搜索的无限可能,创造更智能、更高效的AI系统!

文章链接:www.dongaigc.com/a/aw-nas-modular-neural-architecture

https://www.dongaigc.com/a/aw-nas-modular-neural-architecture

原文链接:https://blog.csdn.net/Nifc666/article/details/142525399?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522f4fa97299be68b1b92f6db736ce58a53%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=f4fa97299be68b1b92f6db736ce58a53&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-16-142525399-null-null.nonecase&utm_term=%E6%9E%81%E7%A9%BA%E9%97%B4nas

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享