forked from mindspore-Ecosystem/mindspore
5.8 KiB
5.8 KiB
目录
NASNet概述
论文: Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le. Learning Transferable Architectures for Scalable Image Recognition. 2017.
模型架构
NASNet总体网络架构如下:
数据集
使用的数据集:imagenet
- 数据集大小:125G,共1000个类、1.2万张彩色图像 - 训练集:120G,共1.2万张图像 - 测试集:5G,共5万张图像
- 数据格式:RGB * 注:数据在src/dataset.py中处理。
环境要求
-
硬件:GPU
- 使用GPU处理器来搭建硬件环境。
-
框架
-
如需查看详情,请参见如下资源:
脚本说明
脚本及样例代码
.
└─nasnet
├─README.md
├─README_CN.md
├─scripts
├─run_standalone_train_for_gpu.sh # 使用GPU平台启动单机训练(单卡)
├─run_distribute_train_for_gpu.sh # 使用GPU平台启动分布式训练(8卡)
└─run_eval_for_gpu.sh # 使用GPU平台进行启动评估
├─src
├─config.py # 参数配置
├─dataset.py # 数据预处理
├─loss.py # 自定义交叉熵损失函数
├─lr_generator.py # 学习率生成器
├─nasnet_a_mobile.py # 网络定义
├─eval.py # 评估网络
├─export.py # 转换检查点
└─train.py # 训练网络
脚本参数
在config.py中可以同时配置训练参数和评估参数。
'random_seed':1, # 固定随机种子
'rank':0, # 分布式训练进程序号
'group_size':1, # 分布式训练分组大小
'work_nums':8, # 数据读取人员数
'epoch_size':500, # 总周期数
'keep_checkpoint_max':100, # 保存检查点最大数
'ckpt_path':'./checkpoint/', # 检查点保存路径
'is_save_on_master':1 # 在rank0上保存检查点,分布式参数
'batch_size':32, # 输入批次大小
'num_classes':1000, # 数据集类数
'label_smooth_factor':0.1, # 标签平滑因子
'aux_factor':0.4, # 副对数损失系数
'lr_init':0.04, # 启动学习率
'lr_decay_rate':0.97, # 学习率衰减率
'num_epoch_per_decay':2.4, # 衰减周期数
'weight_decay':0.00004, # 重量衰减
'momentum':0.9, # 动量
'opt_eps':1.0, # epsilon参数
'rmsprop_decay':0.9, # rmsprop衰减
'loss_scale':1, # 损失规模
训练过程
用法
# 分布式训练示例(8卡)
sh run_distribute_train_for_gpu.sh DATA_DIR
# 单机训练
sh run_standalone_train_for_gpu.sh DEVICE_ID DATA_DIR
运行
# GPU分布式训练示例(8卡)
sh scripts/run_distribute_train_for_gpu.sh /dataset/train
# GPU单机训练示例
sh scripts/run_standalone_train_for_gpu.sh 0 /dataset/train
结果
可以在日志中找到检查点文件及结果。
评估过程
用法
# 评估
sh run_eval_for_gpu.sh DEVICE_ID DATA_DIR PATH_CHECKPOINT
启动
# 检查点评估
sh scripts/run_eval_for_gpu.sh 0 /dataset/val ./checkpoint/nasnet-a-mobile-rank0-248_10009.ckpt
训练过程中可以生成检查点。
结果
评估结果保存在脚本路径下。路径下的日志中,可以找到如下结果: acc=73.5%(TOP1)
模型描述
性能
训练性能
参数 | NASNet |
---|---|
资源 | NV SMX2 V100-32G |
上传日期 | 2020-09-24 |
MindSpore版本 | 1.0.0 |
数据集 | ImageNet |
训练参数 | src/config.py |
优化器 | Momentum |
损失函数 | SoftmaxCrossEntropyWithLogits |
损失值 | 1.8965 |
总时间 | 8卡运行约144个小时 |
检查点文件大小 | 89 M(.ckpt文件) |
评估性能
参数 | |
---|---|
资源 | NV SMX2 V100-32G |
上传日期 | 2020-09-24 |
MindSpore版本 | 1.0.0 |
数据及 | ImageNet, 1.2W |
batch_size | 32 |
输出 | 概率 |
精确度 | acc=73.5%(TOP1) |
ModelZoo主页
请浏览官网主页。