Vega 开源项目教程
vega AutoML tools chain 项目地址: https://gitcode.com/gh_mirrors/vega/vega
1. 项目介绍
Vega 是由华为诺亚方舟实验室开发的一个 AutoML 工具链。其主要特点包括:
- 全流程能力:AutoML 功能涵盖超参数优化、数据增强、网络架构搜索(NAS)、模型压缩和全训练等关键功能。这些功能高度解耦,可以根据需要配置,构建完整的流程。
- 行业领先的 AutoML 算法:提供诺亚方舟实验室自研的行业领先算法(Benchmark)和模型库,可以下载最先进的(SOTA)模型。
- 细粒度的网络搜索空间:网络搜索空间可以自由定义,并提供丰富的网络架构参数供搜索空间使用。网络架构参数和模型训练超参数可以同时搜索,搜索空间适用于 PyTorch、TensorFlow 和 MindSpore。
- 高并发神经网络训练能力:提供高性能的训练器,加速模型训练和评估。
- 多后端支持:支持 PyTorch(GPU 和 Ascend 910)、TensorFlow(GPU 和 Ascend 910)、MindSpore(Ascend 910)。
- Ascend 平台:在 Ascend 910 上进行搜索和训练,并在 Ascend 310 上进行模型评估。
2. 项目快速启动
安装
运行以下命令安装 Vega:
pip3 install --user --upgrade noah-vega
使用
运行 vega
命令来启动 Vega 应用程序。例如,运行以下命令来运行 CARS 算法:
vega /examples/nas/cars/cars.yml
cars.yml
文件包含管道、搜索算法、搜索空间和训练参数的定义。
3. 应用案例和最佳实践
案例1:使用 CARS 算法进行网络架构搜索
CARS(Continuous Evolution for Efficient Neural Architecture Search)是一种基于连续进化的有效神经架构搜索方法。以下是使用 CARS 算法的示例:
pipeline:
- name: CARS
type: Search
search_algorithm: cars
search_space:
type: Network
modules:
- type: Conv
params:
kernel_size: [3, 5, 7]
filters: [16, 32, 64]
- type: Pool
params:
pool_type: [max, avg]
kernel_size: 2
stride: 2
案例2:使用 Quant-EA 进行模型压缩
Quant-EA 是一种基于进化算法的自动混合比特量化算法。以下是使用 Quant-EA 进行模型压缩的示例:
pipeline:
- name: Quant-EA
type: Compress
compress_algorithm: quant_ea
model:
type: ResNet
params:
depth: 50
quantization:
bits: [4, 8]
4. 典型生态项目
PyTorch
Vega 支持 PyTorch 作为后端,可以在 GPU 和 Ascend 910 上进行训练和评估。PyTorch 是一个广泛使用的深度学习框架,提供了丰富的工具和库。
TensorFlow
Vega 也支持 TensorFlow 作为后端,可以在 GPU 和 Ascend 910 上进行训练和评估。TensorFlow 是另一个流行的深度学习框架,特别适合大规模分布式训练。
MindSpore
MindSpore 是华为自研的深度学习框架,Vega 支持在 Ascend 910 上使用 MindSpore 进行训练和评估。MindSpore 提供了高效的计算图优化和自动并行功能。
通过这些生态项目,Vega 可以充分利用不同框架的优势,提供灵活和高效的 AutoML 解决方案。
vega AutoML tools chain 项目地址: https://gitcode.com/gh_mirrors/vega/vega
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考