From 45947f93d875e2cb486925f6d0b93e09b641e67d Mon Sep 17 00:00:00 2001 From: panfengfeng Date: Thu, 29 Oct 2020 23:06:29 +0800 Subject: [PATCH] update scripts --- model_zoo/official/cv/nasnet/README.md | 146 +++++++++++++----- .../cv/shufflenetv2/{Readme.md => README.md} | 37 +++++ 2 files changed, 147 insertions(+), 36 deletions(-) mode change 100755 => 100644 model_zoo/official/cv/nasnet/README.md rename model_zoo/official/cv/shufflenetv2/{Readme.md => README.md} (73%) diff --git a/model_zoo/official/cv/nasnet/README.md b/model_zoo/official/cv/nasnet/README.md old mode 100755 new mode 100644 index 6490947155..f65a03a4f0 --- a/model_zoo/official/cv/nasnet/README.md +++ b/model_zoo/official/cv/nasnet/README.md @@ -1,39 +1,81 @@ -# NASNet Example +# Contents -## Description +- [NASNet Description](#nasnet-description) +- [Model Architecture](#model-architecture) +- [Dataset](#dataset) +- [Environment Requirements](#environment-requirements) +- [Quick Start](#quick-start) +- [Script Description](#script-description) + - [Script and Sample Code](#script-and-sample-code) + - [Script Parameters](#script-parameters) + - [Training Process](#training-process) + - [Evaluation Process](#evaluation-process) +- [Model Description](#model-description) + - [Performance](#performance) + - [Training Performance](#evaluation-performance) + - [Inference Performance](#evaluation-performance) +- [ModelZoo Homepage](#modelzoo-homepage) -This is an example of training NASNet-A-Mobile in MindSpore. +# [NASNet Description](#contents) -## Requirements -- Install [Mindspore](http://www.mindspore.cn/install/en). -- Download the dataset. +[Paper](https://arxiv.org/abs/1707.07012): Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le. Learning Transferable Architectures for Scalable Image Recognition. 2017. -## Structure +# [Model architecture](#contents) -```shell +The overall network architecture of NASNet is show below: + +[Link](https://arxiv.org/abs/1707.07012) + + +# [Dataset](#contents) + +Dataset used: [imagenet](http://www.image-net.org/) + +- Dataset size: ~125G, 1.2W colorful images in 1000 classes + - Train: 120G, 1.2W images + - Test: 5G, 50000 images +- Data format: RGB images. + - Note: Data will be processed in src/dataset.py + + +# [Environment Requirements](#contents) + +- Hardware GPU + - Prepare hardware environment with GPU processor. +- Framework + - [MindSpore](https://www.mindspore.cn/install/en) +- For more information, please check the resources below: + - [MindSpore Tutorials](https://www.mindspore.cn/tutorial/training/en/master/index.html) + - [MindSpore Python API](https://www.mindspore.cn/doc/api_python/en/master/index.html) + +# [Script description](#contents) + +## [Script and sample code](#contents) + +```python . -└─nasnet +└─nasnet ├─README.md - ├─scripts - ├─run_standalone_train_for_gpu.sh # launch standalone training with gpu platform(1p) - ├─run_distribute_train_for_gpu.sh # launch distributed training with gpu platform(8p) - └─run_eval_for_gpu.sh # launch evaluating with gpu platform + ├─scripts + ├─run_standalone_train_for_gpu.sh # launch standalone training with gpu platform(1p) + ├─run_distribute_train_for_gpu.sh # launch distributed training with gpu platform(8p) + └─run_eval_for_gpu.sh # launch evaluating with gpu platform ├─src ├─config.py # parameter configuration ├─dataset.py # data preprocessing ├─loss.py # Customized CrossEntropy loss function ├─lr_generator.py # learning rate generator - ├─nasnet_a_mobile.py # network definition - ├─eval.py # eval net - ├─export.py # convert checkpoint - └─train.py # train net - +├─nasnet_a_mobile.py # network definition +├─eval.py # eval net +├─export.py # convert checkpoint +└─train.py # train net + ``` -## Parameter Configuration +## [Script Parameters](#contents) -Parameters for both training and evaluating can be set in config.py +Parameters for both training and evaluating can be set in config.py. ``` 'random_seed': 1, # fix random seed @@ -56,22 +98,18 @@ Parameters for both training and evaluating can be set in config.py 'opt_eps': 1.0, # epsilon 'rmsprop_decay': 0.9, # rmsprop decay 'loss_scale': 1, # loss scale - ``` - - -## Running the example - -### Train +## [Training Process](#contents) #### Usage ``` -# distribute training example(8p) -sh run_distribute_train_for_gpu.sh DATA_DIR -# standalone training -sh run_standalone_train_for_gpu.sh DEVICE_ID DATA_DIR +GPU: + # distribute training example(8p) + sh run_distribute_train_for_gpu.sh DATA_DIR + # standalone training + sh run_standalone_train_for_gpu.sh DEVICE_ID DATA_DIR ``` #### Launch @@ -83,13 +121,11 @@ sh scripts/run_distribute_train_for_gpu.sh /dataset/train sh scripts/run_standalone_train_for_gpu.sh 0 /dataset/train ``` -#### Result - You can find checkpoint file together with result in log. -### Evaluation +## [Evaluation Process](#contents) -#### Usage +### Usage ``` # Evaluation @@ -103,9 +139,47 @@ 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 ``` -> checkpoint can be produced in training process. - #### Result Evaluation result will be stored in the scripts path. Under this, you can find result like the followings in log. +``` +acc=73.5%(TOP1) +``` + +# [Model description](#contents) + +## [Performance](#contents) + +### Training Performance + +| Parameters | NASNet | +| -------------------------- | ------------------------- | +| Resource | NV SMX2 V100-32G | +| uploaded Date | 09/24/2020 | +| MindSpore Version | 1.0.0 | +| Dataset | ImageNet | +| Training Parameters | src/config.py | +| Optimizer | Momentum | +| Loss Function | SoftmaxCrossEntropyWithLogits | +| Loss | 1.8965 | +| Accuracy | 73.5%(TOP1) | +| Total time | 144 h 8ps | +| Checkpoint for Fine tuning | 89 M(.ckpt file) | + +### Inference Performance + +| Parameters | | +| -------------------------- | ------------------------- | +| Resource | NV SMX2 V100-32G | +| uploaded Date | 09/24/2020 | +| MindSpore Version | 1.0.0 | +| Dataset | ImageNet, 1.2W | +| batch_size | 32 | +| outputs | probability | +| Accuracy | acc=73.5%(TOP1) | + + +# [ModelZoo Homepage](#contents) + +Please check the official [homepage](https://gitee.com/mindspore/mindspore/tree/master/model_zoo). diff --git a/model_zoo/official/cv/shufflenetv2/Readme.md b/model_zoo/official/cv/shufflenetv2/README.md similarity index 73% rename from model_zoo/official/cv/shufflenetv2/Readme.md rename to model_zoo/official/cv/shufflenetv2/README.md index cd6aa51483..810cf10aa8 100644 --- a/model_zoo/official/cv/shufflenetv2/Readme.md +++ b/model_zoo/official/cv/shufflenetv2/README.md @@ -14,6 +14,8 @@ - [Training Performance](#evaluation-performance) - [Inference Performance](#evaluation-performance) +- [ModelZoo Homepage](#modelzoo-homepage) + # [ShuffleNetV2 Description](#contents) ShuffleNetV2 is a much faster and more accurate netowrk than the previous networks on different platforms such as Ascend or GPU. @@ -117,3 +119,38 @@ You can start evaluation using python or shell scripts. The usage of shell scrip ### Result Inference result will be stored in the example path, you can find result in `eval.log`. + +# [Model description](#contents) + +## [Performance](#contents) + +### Training Performance + +| Parameters | ShuffleNetV2 | +| -------------------------- | ------------------------- | +| Resource | NV SMX2 V100-32G | +| uploaded Date | 09/24/2020 | +| MindSpore Version | 1.0.0 | +| Dataset | ImageNet | +| Training Parameters | src/config.py | +| Optimizer | Momentum | +| Loss Function | CrossEntropySmooth | +| Accuracy | 69.4%(TOP1) | +| Total time | 49 h 8ps | + +### Inference Performance + +| Parameters | | +| -------------------------- | ------------------------- | +| Resource | NV SMX2 V100-32G | +| uploaded Date | 09/24/2020 | +| MindSpore Version | 1.0.0 | +| Dataset | ImageNet, 1.2W | +| batch_size | 128 | +| outputs | probability | +| Accuracy | acc=69.4%(TOP1) | + + +# [ModelZoo Homepage](#contents) + +Please check the official [homepage](https://gitee.com/mindspore/mindspore/tree/master/model_zoo).