代码拉取完成,页面将自动刷新
Vega提供了算法和任务的使用指导,也针对开发者,提供了算法开发的相关指导,如扩展搜索空间和搜索算法、构建适用于Vega的数据集等。
在release
下载示例,解压后,有如下目录:
目录 | 说明 |
---|---|
compression | 压缩算法使用示例,包括 Quant-EA、 Prune-EA 两个算法 |
data augmentation | 数据增广算法使用示例,包括 PBA 算法 |
hpo | 超参优化算法使用示例, 包括 ASHA, BO, TPE, BOHB, BOSS 等算法 |
nas | 网络架构搜索相关示例,包括 SM-NAS, CARS, SP-NAS, auto-lane, SR-EA, ESR-EA, Adelaide-EA |
searchspace | 细粒度搜索空间相关示例 |
fully train | fully train 相关示例,包括训练 torch vision 的 restnet18 模型,训练 CARS 模型等示例 |
tasks/classification | 综合使用 NAS + HPO + FullyTrain 完成一个图像分类任务的示例 |
一般一个算法示例包含了是一个配置文件,有一些算法还有一些配套的代码。
进入 examples 目录后,可以执行如下命令运行示例:
python3 ./run_example.py <algorithm config file>
比如要运行CARS算法示例,命令如下:
python3 ./run_example.py ./nas/cars/cars.yml
所有的信息都在配置文件中,配置项可分为公共配置项和算法相关配置项,公共配置项可参考配置参考,算法配置需要参考各个算法的参考文档。
在运行示例前,需要下载数据集到缺省的数据配置目录中。在运行示例前,需要创建目录/cache/datasets/
,然后将各个数据集下载到该目录,并解压。各个数据集的缺省目录配置如下:
Dataset | Default Path | Data Source |
---|---|---|
Cifar10 | /cache/datasets/cifar10/ | 下载 |
ImageNet | /cache/datasets/ILSVRC/ | 下载 |
COCO | /cache/datasets/COCO2017 | 下载 |
Div2K | /cache/datasets/DIV2K/ | 下载 |
Div2kUnpair | /cache/datasets/DIV2K_unknown | 下载 |
Cityscapes | /cache/datasets/cityscapes/ | 下载 |
VOC2012 | /cache/datasets/VOC2012/ | 下载 |
Cifar10TF | /cache/datasets/cifar-10-batches-bin/ | 下载 |
ECP | /cache/datasets/ECP/ | 下载 |
另外,对于以下算法,需要加载预训练模型。在运行示例前,需要创建目录/cache/models/,然后从相应的位置下载对应的模型后,放置到该目录:
Algorithm | Pre-trained Model | Default Path | Model Source |
---|---|---|---|
Adelaide-EA | mobilenet_v2-b0353104.pth | /cache/models/mobilenet_v2-b0353104.pth | 下载 |
Prune-EA | resnet20.pth | /cache/models/resnet20.pth | 下载 |
SP-NAS | resnet50-19c8e357.pth | /cache/models/resnet50-19c8e357.pth | 下载 |
SPNet_ECP_ImageNetPretrained_0.7978.pth | /cache/models/SPNet_ECP_ImageNetPretrained_0.7978.pth | 下载 |
要说明的是,示例中的配置项都设置的很小,是为了更快的运行出结果,但过小的配置会造成运行结果是不理想的,所以大家可以参考各个算法的说明文档,根据需要来修改和调整配置,运行出所需的结果。
Prune-EA
阶段 | 选项 | 内容 |
---|---|---|
nas | 输入 | 配置文件:compression/prune-ea/prune.yml 预训练模型:/cache/models/resnet20.pth 数据集:/cache/datasets/cifar10 |
nas | 输出 | 网络描述文件:tasks/<task id>/output/nas/model_desc_<id>.json |
fully train | 输入 | 配置文件:compression/prune-ea/prune.yml 网络描述文件:tasks/<task id>/output/nas/model_desc_<id>.json 数据集:/cache/datasets/cifar10 |
fully train | 输出 | 模型:tasks/<task id>/output/fully_train/model_<id>.pth |
Quant-EA
阶段 | 选项 | 内容 |
---|---|---|
nas | 输入 | 配置文件:compression/quant-ea/quant.yml 数据集:/cache/datasets/cifar10 |
nas | 输出 | 网络描述文件:tasks/<task id>/output/nas/model_desc_<id>.json |
fully train | 输入 | 配置文件:compression/quant-ea/quant.yml 网络描述文件:tasks/<task id>/output/nas/model_desc_<id>.json 数据集:/cache/datasets/cifar10 |
fully train | 输出 | 模型:tasks/<task id>/output/fully_train/model_<id>.pth |
CARS
阶段 | 选项 | 内容 |
---|---|---|
nas | 输入 | 配置文件:nas/cars/cars.yml 数据集:/cache/datasets/cifar10 |
nas | 输出 | 网络描述文件:tasks/<task id>/output/nas/model_desc_<id>.json |
fully train | 输入 | 配置文件:nas/cars/cars.yml 网络描述文件:tasks/<task id>/output/nas/model_desc_<id>.json 数据集:/cache/datasets/cifar10 |
fully train | 输出 | 模型:tasks/<task id>/output/fully_train/model_<id>.pth |
Adelaide-EA
阶段 | 选项 | 内容 |
---|---|---|
random | 输入 | 配置文件:nas/adelaide_ea/adelaide_ea.yml 数据集:/cache/datasets/cityscapes |
random | 输出 | 网络描述文件:tasks/<task id>/output/random/model_desc_<id>.json |
mutate | 输入 | 配置文件:nas/adelaide_ea/adelaide_ea.yml 数据集:/cache/datasets/cityscapes 网络描述文件:tasks/<task id>/output/random/model_desc_<id>.json |
mutate | 输出 | 网络描述文件:tasks/<task id>/output/mutate/model_desc_<id>.json |
fully train | 输入 | 配置文件:nas/adelaide_ea/adelaide_ea.yml 网络描述文件:tasks/<task id>/output/mutate/model_desc_<id>.json 数据集:/cache/datasets/cityscapes |
fully train | 输出 | 模型:tasks/<task id>/output/fully_train/model_<id>.pth |
ESR-EA
阶段 | 选项 | 内容 |
---|---|---|
nas | 输入 | 配置文件:nas/esr_ea/esr_ea.yml 数据集:/cache/datasets/DIV2K |
nas | 输出 | 网络描述文件:tasks/<task id>/output/nas/selected_arch.npy |
fully train | 输入 | 配置文件:nas/esr_ea/esr_ea.yml 网络描述文件:tasks/<task id>/output/nas/selected_arch.npy 数据集:/cache/datasets/DIV2K |
fully train | 输出 | 模型:tasks/<task id>/output/fully_train/model_<id>.pth |
SR-EA
阶段 | 选项 | 内容 |
---|---|---|
random | 输入 | 配置文件:nas/sr_ea/sr_ea.yml 数据集:/cache/datasets/DIV2K |
random | 输出 | 网络描述文件:tasks/<task id>/output/random/model_desc_<id>.json |
mutate | 输入 | 配置文件:nas/sr_ea/sr_ea.yml 数据集:/cache/datasets/DIV2K 网络描述文件:tasks/<task id>/output/random/model_desc_<id>.json |
mutate | 输出 | 网络描述文件:tasks/<task id>/output/mutate/model_desc_<id>.json |
fully train | 输入 | 配置文件:nas/sr_ea/sr_ea.yml 网络描述文件:tasks/<task id>/output/mutate/model_desc_<id>.json 数据集:/cache/datasets/DIV2K |
fully train | 输出 | 模型:tasks/<task id>/output/fully_train/model_<id>.pth |
SP-NAS
阶段 | 选项 | 内容 |
---|---|---|
nas1 | 输入 | 配置文件:nas/sp_nas/spnas.yml 数据集:/cache/datasets/COCO2017 预训练模型:/cache/models/resnet50-19c8e357.pth 配置文件: nas/sp_nas/faster_rcnn_r50_fpn_1x.py |
nas1 | 输出 | 网络描述文件:tasks/<task id>/output/nas1/model_desc_<id>.json 模型列表:tasks/<task id>/output/nas1/total_list_p.csv |
nas2 | 输入 | 配置文件:nas/sp_nas/spnas.yml 数据集:/cache/datasets/COCO2017 网络描述文件:tasks/<task id>/output/nas1/model_desc_<id>.json 模型列表:tasks/<task id>/output/nas1/total_list_p.csv 配置文件: nas/sp_nas/faster_rcnn_r50_fpn_1x.py |
nas2 | 输出 | 网络描述文件:tasks/<task id>/output/nas2/model_desc_<id>.json 模型列表:tasks/<task id>/output/nas2/total_list_s.csv |
fully train | 输入 | 配置文件:nas/sp_nas/spnas.yml 数据集:/cache/datasets/COCO2017 网络描述文件:tasks/<task id>/output/nas2/model_desc_<id>.json 模型列表:tasks/<task id>/output/nas2/total_list_s.csv 配置文件: nas/sp_nas/faster_rcnn_r50_fpn_1x.py |
fully train | 输出 | 模型:tasks/<task id>/output/fullytrain/model_<id>.pth |
PBA
阶段 | 选项 | 内容 |
---|---|---|
pba | 输入 | 配置文件:data_augmentation/pba/pba.yml 数据集:/cache/datasets/cifar10 |
pba | 输出 | Transformer列表:tasks/<task id>/output/pba/best_hps.json |
CycleSR
阶段 | 选项 | 内容 |
---|---|---|
fully train | 输入 | 配置文件:data_augmentation/cyclesr/cyclesr.yml 数据集:/cache/datasets/DIV2K_unknown |
fully train | 输出 | 模型:tasks/<task id>/output/fully_train/model_0.pth |
ASHA、BOHB、BOSS
阶段 | 选项 | 内容 |
---|---|---|
hpo1 | 输入 | 配置文件:hpo/asha|bohb|boss/hpo/asha|bohb|boss.yml 数据集:/cache/datasets/cifar10 |
hpo1 | 输出 | 超参描述文件:tasks/<task id>/output/hpo1/best_hps.json |
EfficientNet
阶段 | 选项 | 内容 |
---|---|---|
fully train | 输入 | 配置文件:fully_train/efficientnet/efficientnet_b0.yml 数据集:/cache/datasets/ILSVRC |
fully train | 输出 | 网络描述文件:tasks/<task id>/output/mutate/model_desc_<id>.json 模型:tasks/<task id>/output/fully_train/model_<id>.pth |
FMD
阶段 | 选项 | 内容 |
---|---|---|
fully train | 输入 | 配置文件:fully_train/fmd/fmd.yml 数据集:/cache/datasets/cifar10 |
fully train | 输出 | 网络描述文件:tasks/<task id>/output/mutate/model_desc_<id>.json 模型:tasks/<task id>/output/fully_train/model_0.pth |
FMD
阶段 | 选项 | 内容 |
---|---|---|
fully train | 输入 | 配置文件 fully_train/trainer/resnet.yml 数据集"/cache/datasets/ILSVRC |
fully train | 输出 | 网络描述文件:tasks/<task id>/output/mutate/model_desc_<id>.json 模型:tasks/<task id>/output/fully_train/model_0.pth |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。