Browse Source

move deeplabv3 and resnext50 from model_zoo to model_zoo/official/cv

tags/v0.6.0-beta
zhouyaqiang 5 years ago
parent
commit
4f9b79f5d1
43 changed files with 89 additions and 8 deletions
  1. +8
    -3
      model_zoo/official/cv/deeplabv3/README.md
  2. +0
    -0
      model_zoo/official/cv/deeplabv3/eval.py
  3. +0
    -0
      model_zoo/official/cv/deeplabv3/scripts/run_distribute_train.sh
  4. +0
    -0
      model_zoo/official/cv/deeplabv3/scripts/run_eval.sh
  5. +0
    -0
      model_zoo/official/cv/deeplabv3/scripts/run_standalone_train.sh
  6. +0
    -0
      model_zoo/official/cv/deeplabv3/src/__init__.py
  7. +0
    -0
      model_zoo/official/cv/deeplabv3/src/backbone/__init__.py
  8. +0
    -0
      model_zoo/official/cv/deeplabv3/src/backbone/resnet_deeplab.py
  9. +0
    -0
      model_zoo/official/cv/deeplabv3/src/config.py
  10. +0
    -0
      model_zoo/official/cv/deeplabv3/src/deeplabv3.py
  11. +0
    -0
      model_zoo/official/cv/deeplabv3/src/ei_dataset.py
  12. +0
    -0
      model_zoo/official/cv/deeplabv3/src/losses.py
  13. +0
    -0
      model_zoo/official/cv/deeplabv3/src/md_dataset.py
  14. +0
    -0
      model_zoo/official/cv/deeplabv3/src/miou_precision.py
  15. +76
    -0
      model_zoo/official/cv/deeplabv3/src/remove_gt_colormap.py
  16. +0
    -0
      model_zoo/official/cv/deeplabv3/src/utils/__init__.py
  17. +0
    -0
      model_zoo/official/cv/deeplabv3/src/utils/adapter.py
  18. +0
    -0
      model_zoo/official/cv/deeplabv3/src/utils/custom_transforms.py
  19. +0
    -0
      model_zoo/official/cv/deeplabv3/src/utils/file_io.py
  20. +0
    -0
      model_zoo/official/cv/deeplabv3/train.py
  21. +5
    -5
      model_zoo/official/cv/resnext50/README.md
  22. +0
    -0
      model_zoo/official/cv/resnext50/eval.py
  23. +0
    -0
      model_zoo/official/cv/resnext50/scripts/run_distribute_train.sh
  24. +0
    -0
      model_zoo/official/cv/resnext50/scripts/run_eval.sh
  25. +0
    -0
      model_zoo/official/cv/resnext50/scripts/run_standalone_train.sh
  26. +0
    -0
      model_zoo/official/cv/resnext50/src/__init__.py
  27. +0
    -0
      model_zoo/official/cv/resnext50/src/backbone/__init__.py
  28. +0
    -0
      model_zoo/official/cv/resnext50/src/backbone/resnet.py
  29. +0
    -0
      model_zoo/official/cv/resnext50/src/config.py
  30. +0
    -0
      model_zoo/official/cv/resnext50/src/crossentropy.py
  31. +0
    -0
      model_zoo/official/cv/resnext50/src/dataset.py
  32. +0
    -0
      model_zoo/official/cv/resnext50/src/head.py
  33. +0
    -0
      model_zoo/official/cv/resnext50/src/image_classification.py
  34. +0
    -0
      model_zoo/official/cv/resnext50/src/linear_warmup.py
  35. +0
    -0
      model_zoo/official/cv/resnext50/src/utils/__init__.py
  36. +0
    -0
      model_zoo/official/cv/resnext50/src/utils/cunstom_op.py
  37. +0
    -0
      model_zoo/official/cv/resnext50/src/utils/logging.py
  38. +0
    -0
      model_zoo/official/cv/resnext50/src/utils/optimizers__init__.py
  39. +0
    -0
      model_zoo/official/cv/resnext50/src/utils/sampler.py
  40. +0
    -0
      model_zoo/official/cv/resnext50/src/utils/var_init.py
  41. +0
    -0
      model_zoo/official/cv/resnext50/src/warmup_cosine_annealing_lr.py
  42. +0
    -0
      model_zoo/official/cv/resnext50/src/warmup_step_lr.py
  43. +0
    -0
      model_zoo/official/cv/resnext50/train.py

model_zoo/deeplabv3/README.md → model_zoo/official/cv/deeplabv3/README.md View File

@@ -1,11 +1,16 @@
# Deeplab-V3 Example
# DeeplabV3 Example

## Description
This is an example of training DeepLabv3 with PASCAL VOC 2012 dataset in MindSpore.
This is an example of training DeepLabV3 with PASCAL VOC 2012 dataset in MindSpore.

## Requirements
- Install [MindSpore](https://www.mindspore.cn/install/en).
- Download the VOC 2012 dataset for training.
- We need to run `./src/remove_gt_colormap.py` to remove the label colormap.
``` bash
python remove_gt_colormap.py --original_gt_folder GT_FOLDER --output_dir OUTPUT_DIR

```

> Notes:
If you are running a fine-tuning or evaluation task, prepare the corresponding checkpoint file.
@@ -30,7 +35,7 @@ Set options in evaluation_config.py. Make sure the 'data_file' and 'finetune_ckp
```

## Options and Parameters
It contains of parameters of Deeplab-V3 model and options for training, which is set in file config.py.
It contains of parameters of DeeplabV3 model and options for training, which is set in file config.py.

### Options:
```

model_zoo/deeplabv3/eval.py → model_zoo/official/cv/deeplabv3/eval.py View File


model_zoo/deeplabv3/scripts/run_distribute_train.sh → model_zoo/official/cv/deeplabv3/scripts/run_distribute_train.sh View File


model_zoo/deeplabv3/scripts/run_eval.sh → model_zoo/official/cv/deeplabv3/scripts/run_eval.sh View File


model_zoo/deeplabv3/scripts/run_standalone_train.sh → model_zoo/official/cv/deeplabv3/scripts/run_standalone_train.sh View File


model_zoo/deeplabv3/src/__init__.py → model_zoo/official/cv/deeplabv3/src/__init__.py View File


model_zoo/deeplabv3/src/backbone/__init__.py → model_zoo/official/cv/deeplabv3/src/backbone/__init__.py View File


model_zoo/deeplabv3/src/backbone/resnet_deeplab.py → model_zoo/official/cv/deeplabv3/src/backbone/resnet_deeplab.py View File


model_zoo/deeplabv3/src/config.py → model_zoo/official/cv/deeplabv3/src/config.py View File


model_zoo/deeplabv3/src/deeplabv3.py → model_zoo/official/cv/deeplabv3/src/deeplabv3.py View File


model_zoo/deeplabv3/src/ei_dataset.py → model_zoo/official/cv/deeplabv3/src/ei_dataset.py View File


model_zoo/deeplabv3/src/losses.py → model_zoo/official/cv/deeplabv3/src/losses.py View File


model_zoo/deeplabv3/src/md_dataset.py → model_zoo/official/cv/deeplabv3/src/md_dataset.py View File


model_zoo/deeplabv3/src/miou_precision.py → model_zoo/official/cv/deeplabv3/src/miou_precision.py View File


+ 76
- 0
model_zoo/official/cv/deeplabv3/src/remove_gt_colormap.py View File

@@ -0,0 +1,76 @@
# Copyright 2020 The Huawei Authors All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================

"""Removes the color map from segmentation annotations.
Removes the color map from the ground truth segmentation annotations and save
the results to output_dir.
"""
import glob
import argparse
import os.path
import numpy as np


from PIL import Image


def _remove_colormap(filename):
"""Removes the color map from the annotation.
Args:
filename: Ground truth annotation filename.
Returns:
Annotation without color map.
"""
return np.array(Image.open(filename))


def _save_annotation(annotation, filename):
"""Saves the annotation as png file.
Args:
annotation: Segmentation annotation.
filename: Output filename.
"""
pil_image = Image.fromarray(annotation.astype(dtype=np.uint8))
pil_image.save(filename, 'PNG')


def main():
parser = argparse.ArgumentParser(description="Demo of argparse")
parser.add_argument('--original_gt_folder', type=str, default='./VOCdevkit/VOC2012/SegmentationClass',
help='Original ground truth annotations.')
parser.add_argument('--segmentation_format', type=str, default='png',
help='Segmentation format.')
parser.add_argument('--output_dir', type=str, default='./VOCdevkit/VOC2012/SegmentationClassRaw',
help='folder to save modified ground truth annotations.')
args = parser.parse_args()

# Create the output directory if not exists.

if not os.path.isdir(args.output_dir):
os.mkdir(args.output_dir)

annotations = glob.glob(os.path.join(args.original_gt_folder,
'*.' + args.segmentation_format))

for annotation in annotations:
raw_annotation = _remove_colormap(annotation)
filename = os.path.basename(annotation)[:-4]
_save_annotation(raw_annotation,
os.path.join(
args.output_dir,
filename + '.' + args.segmentation_format))

if __name__ == '__main__':
main()

model_zoo/deeplabv3/src/utils/__init__.py → model_zoo/official/cv/deeplabv3/src/utils/__init__.py View File


model_zoo/deeplabv3/src/utils/adapter.py → model_zoo/official/cv/deeplabv3/src/utils/adapter.py View File


model_zoo/deeplabv3/src/utils/custom_transforms.py → model_zoo/official/cv/deeplabv3/src/utils/custom_transforms.py View File


model_zoo/deeplabv3/src/utils/file_io.py → model_zoo/official/cv/deeplabv3/src/utils/file_io.py View File


model_zoo/deeplabv3/train.py → model_zoo/official/cv/deeplabv3/train.py View File


model_zoo/resnext50/README.md → model_zoo/official/cv/resnext50/README.md View File

@@ -2,12 +2,12 @@

## Description

This is an example of training ResNext50 with ImageNet dataset in Mindspore.
This is an example of training ResNext50 in MindSpore.

## Requirements

- Install [Mindspore](http://www.mindspore.cn/install/en).
- Downlaod the dataset ImageNet2012.
- Downlaod the dataset.

## Structure

@@ -91,9 +91,9 @@ sh run_standalone_train.sh DEVICE_ID DATA_PATH

```bash
# distributed training example(8p)
sh scripts/run_distribute_train.sh MINDSPORE_HCCL_CONFIG_PATH /ImageNet/train
sh scripts/run_distribute_train.sh MINDSPORE_HCCL_CONFIG_PATH /dataset/train
# standalone training example
sh scripts/run_standalone_train.sh 0 /ImageNet_Original/train
sh scripts/run_standalone_train.sh 0 /dataset/train
```

#### Result
@@ -123,6 +123,6 @@ sh scripts/run_eval.sh 0 /opt/npu/datasets/classification/val /resnext50_100.ckp
Evaluation result will be stored in the scripts path. Under this, you can find result like the followings in log.
```
acc=78,16%(TOP1)
acc=78.16%(TOP1)
acc=93.88%(TOP5)
```

model_zoo/resnext50/eval.py → model_zoo/official/cv/resnext50/eval.py View File


model_zoo/resnext50/scripts/run_distribute_train.sh → model_zoo/official/cv/resnext50/scripts/run_distribute_train.sh View File


model_zoo/resnext50/scripts/run_eval.sh → model_zoo/official/cv/resnext50/scripts/run_eval.sh View File


model_zoo/resnext50/scripts/run_standalone_train.sh → model_zoo/official/cv/resnext50/scripts/run_standalone_train.sh View File


model_zoo/resnext50/src/__init__.py → model_zoo/official/cv/resnext50/src/__init__.py View File


model_zoo/resnext50/src/backbone/__init__.py → model_zoo/official/cv/resnext50/src/backbone/__init__.py View File


model_zoo/resnext50/src/backbone/resnet.py → model_zoo/official/cv/resnext50/src/backbone/resnet.py View File


model_zoo/resnext50/src/config.py → model_zoo/official/cv/resnext50/src/config.py View File


model_zoo/resnext50/src/crossentropy.py → model_zoo/official/cv/resnext50/src/crossentropy.py View File


model_zoo/resnext50/src/dataset.py → model_zoo/official/cv/resnext50/src/dataset.py View File


model_zoo/resnext50/src/head.py → model_zoo/official/cv/resnext50/src/head.py View File


model_zoo/resnext50/src/image_classification.py → model_zoo/official/cv/resnext50/src/image_classification.py View File


model_zoo/resnext50/src/linear_warmup.py → model_zoo/official/cv/resnext50/src/linear_warmup.py View File


model_zoo/resnext50/src/utils/__init__.py → model_zoo/official/cv/resnext50/src/utils/__init__.py View File


model_zoo/resnext50/src/utils/cunstom_op.py → model_zoo/official/cv/resnext50/src/utils/cunstom_op.py View File


model_zoo/resnext50/src/utils/logging.py → model_zoo/official/cv/resnext50/src/utils/logging.py View File


model_zoo/resnext50/src/utils/optimizers__init__.py → model_zoo/official/cv/resnext50/src/utils/optimizers__init__.py View File


model_zoo/resnext50/src/utils/sampler.py → model_zoo/official/cv/resnext50/src/utils/sampler.py View File


model_zoo/resnext50/src/utils/var_init.py → model_zoo/official/cv/resnext50/src/utils/var_init.py View File


model_zoo/resnext50/src/warmup_cosine_annealing_lr.py → model_zoo/official/cv/resnext50/src/warmup_cosine_annealing_lr.py View File


model_zoo/resnext50/src/warmup_step_lr.py → model_zoo/official/cv/resnext50/src/warmup_step_lr.py View File


model_zoo/resnext50/train.py → model_zoo/official/cv/resnext50/train.py View File


Loading…
Cancel
Save