在这项工作中,我们提出了一种新的网络设计范式,它结合了人工设计和NAS的优点。我们不是专注于设计单个网络实例,而是设计参数化网络总体的设计空间。就像手工设计一样,我们的目标是可解释性,并发现描述网络的通用设计原则,这些原则简单、工作良好,并且可以跨设置进行推广。与NAS一样,我们的目标是利用半自动化的过程来帮助实现这些目标。我们采用的一般策略是逐步设计初始的、相对不受限制的设计空间的简化版本,同时保持或提高其质量。整个过程类似于手工设计,提升到群体水平,并通过网络设计空间的分布估计进行指导。作为这个范例的测试平台,我们的重点是在假设包括VGG、ResNet和ResNeXt在内的标准模型族的情况下探索网络结构(例如宽度、深度、组等)。我们从一个相对不受约束的设计空间开始,我们称之为AnyNet(例如,宽度和深度在不同阶段自由变化),到达一个由简单的“规则”网络组成的低维设计空间,我们称之为RegNet。RegNet设计空间的核心很简单:stage的宽度和深度由量化的线性函数决定。与AnyNet相比,RegNet设计空间的模型更简单,更容易解释,好模型的集中度更高。
Model | Context | Top-1 (%) | Params (M) | Train T. | Infer T. | Download | Config | Log |
---|---|---|---|---|---|---|---|---|
RegNetX-800MF | D910x8-G | 76.09 | 7.3 | 115s/epoch | 1.8ms/step | model | cfg | log |
请参考MindCV中的 安装指南。
请下载 ImageNet-1K 数据集以用作模型训练和验证。
在configs文件夹中列出了在ImageNet上为不同模型产生竞争性结果的yaml配置文件。使用预设的yaml配置进行训练。
python train.py --model=regnet_x_800mf --config=configs/regnet/regnet_x_800mf_ascend.yaml
要验证训练过的模型,可以使用 validate.py
。下面是对regnetx800mf进行验证的一个示例,用于验证pretrained权重的准确性。
python validate.py --model=regnet_x_800mf --dataset=imagenet --val_split=val --pretrained
要验证模型权重,可以使用 validate.py
。下面是对regnetx800mf权重进行验证的一个示例。
python validate.py --model=regnet_x_800mf --dataset=imagenet --val_split=val --ckpt_path='./ckpt/regnet_x_800mf-best.ckpt'
请参考MindCV的部署教程。
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》