Browse Source

Fix wizard template module to fit new mindspore operator API

tags/v1.0.0
moran 5 years ago
parent
commit
1c1b007c0f
10 changed files with 78 additions and 80 deletions
  1. +8
    -8
      mindinsight/wizard/conf/templates/network/alexnet/dataset/cifar10/dataset.py-tpl
  2. +6
    -6
      mindinsight/wizard/conf/templates/network/alexnet/dataset/imagenet/dataset.py-tpl
  3. +6
    -6
      mindinsight/wizard/conf/templates/network/alexnet/train.py-tpl
  4. +7
    -7
      mindinsight/wizard/conf/templates/network/lenet/dataset/mnist/dataset.py-tpl
  5. +8
    -10
      mindinsight/wizard/conf/templates/network/resnet50/dataset/cifar10/dataset.py-tpl
  6. +6
    -6
      mindinsight/wizard/conf/templates/network/resnet50/dataset/imagenet/dataset.py-tpl
  7. +6
    -6
      mindinsight/wizard/conf/templates/network/resnet50/train.py-tpl
  8. +13
    -13
      tests/st/func/wizard/test_alexnet.py
  9. +5
    -5
      tests/st/func/wizard/test_lenet.py
  10. +13
    -13
      tests/st/func/wizard/test_resnet50.py

+ 8
- 8
mindinsight/wizard/conf/templates/network/alexnet/dataset/cifar10/dataset.py-tpl View File

@@ -19,7 +19,7 @@ Produce the dataset
import os
import mindspore.dataset as ds
import mindspore.dataset.transforms.c_transforms as C
import mindspore.dataset.transforms.vision.c_transforms as CV
import mindspore.dataset.vision.c_transforms as CV
from mindspore.common import dtype as mstype
from .config import cfg
from mindspore.communication.management import init, get_rank, get_group_size
@@ -53,14 +53,14 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe
random_horizontal_op = CV.RandomHorizontalFlip()
channel_swap_op = CV.HWC2CHW()
typecast_op = C.TypeCast(mstype.int32)
cifar_ds = cifar_ds.map(input_columns="label", operations=typecast_op)
cifar_ds = cifar_ds.map(operations=typecast_op, input_columns="label")
if do_train:
cifar_ds = cifar_ds.map(input_columns="image", operations=random_crop_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=random_horizontal_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=resize_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=rescale_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=normalize_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=channel_swap_op)
cifar_ds = cifar_ds.map(operations=random_crop_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=random_horizontal_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=resize_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=rescale_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=normalize_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=channel_swap_op, input_columns="image")

cifar_ds = cifar_ds.shuffle(buffer_size=1000)
cifar_ds = cifar_ds.batch(batch_size, drop_remainder=True)


+ 6
- 6
mindinsight/wizard/conf/templates/network/alexnet/dataset/imagenet/dataset.py-tpl View File

@@ -18,7 +18,7 @@ create train or eval dataset.
import os
import mindspore.common.dtype as mstype
import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.c_transforms as C
import mindspore.dataset.vision.c_transforms as C
import mindspore.dataset.transforms.c_transforms as C2
from mindspore.communication.management import init, get_rank, get_group_size

@@ -50,10 +50,10 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe
device_num = 1

if device_num == 1:
ds = de.ImageFolderDatasetV2(data_path, num_parallel_workers=8, shuffle=True)
ds = de.ImageFolderDataset(data_path, num_parallel_workers=8, shuffle=True)
else:
ds = de.ImageFolderDatasetV2(data_path, num_parallel_workers=8, shuffle=True,
num_shards=device_num, shard_id=rank_id)
ds = de.ImageFolderDataset(data_path, num_parallel_workers=8, shuffle=True,
num_shards=device_num, shard_id=rank_id)

image_size = cfg.image_height
mean = [0.485 * 255, 0.456 * 255, 0.406 * 255]
@@ -78,8 +78,8 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe

type_cast_op = C2.TypeCast(mstype.int32)

ds = ds.map(input_columns="image", num_parallel_workers=8, operations=trans)
ds = ds.map(input_columns="label", num_parallel_workers=8, operations=type_cast_op)
ds = ds.map(operations=trans, input_columns="image", num_parallel_workers=8)
ds = ds.map(operations=type_cast_op, input_columns="label", num_parallel_workers=8)

# apply batch operations
ds = ds.batch(batch_size, drop_remainder=True)


+ 6
- 6
mindinsight/wizard/conf/templates/network/alexnet/train.py-tpl View File

@@ -88,13 +88,13 @@ if __name__ == "__main__":
else:
for _, cell in net.cells_and_names():
if isinstance(cell, nn.Conv2d):
cell.weight.default_input = weight_init.initializer(weight_init.XavierUniform(),
cell.weight.default_input.shape,
cell.weight.default_input.dtype).to_tensor()
cell.weight.set_data(weight_init.initializer(weight_init.XavierUniform(),
cell.weight.shape,
cell.weight.dtype))
if isinstance(cell, nn.Dense):
cell.weight.default_input = weight_init.initializer(weight_init.TruncatedNormal(),
cell.weight.default_input.shape,
cell.weight.default_input.dtype).to_tensor()
cell.weight.set_data(weight_init.initializer(weight_init.TruncatedNormal(),
cell.weight.shape,
cell.weight.dtype))
# define learning rate
lr = Tensor(get_lr(0, cfg.lr, cfg.epoch_size, ds_train.get_dataset_size()))



+ 7
- 7
mindinsight/wizard/conf/templates/network/lenet/dataset/mnist/dataset.py-tpl View File

@@ -18,9 +18,9 @@ Produce the dataset
import os

import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as CV
import mindspore.dataset.vision.c_transforms as CV
import mindspore.dataset.transforms.c_transforms as C
from mindspore.dataset.transforms.vision import Inter
from mindspore.dataset.vision import Inter
from mindspore.common import dtype as mstype
from mindspore.communication.management import init, get_rank, get_group_size

@@ -67,11 +67,11 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe
type_cast_op = C.TypeCast(mstype.int32)

# apply map operations on images
mnist_ds = mnist_ds.map(input_columns="label", operations=type_cast_op)
mnist_ds = mnist_ds.map(input_columns="image", operations=resize_op)
mnist_ds = mnist_ds.map(input_columns="image", operations=rescale_op)
mnist_ds = mnist_ds.map(input_columns="image", operations=rescale_nml_op)
mnist_ds = mnist_ds.map(input_columns="image", operations=hwc2chw_op)
mnist_ds = mnist_ds.map(operations=type_cast_op, input_columns="label")
mnist_ds = mnist_ds.map(operations=resize_op, input_columns="image")
mnist_ds = mnist_ds.map(operations=rescale_op, input_columns="image")
mnist_ds = mnist_ds.map(operations=rescale_nml_op, input_columns="image")
mnist_ds = mnist_ds.map(operations=hwc2chw_op, input_columns="image")

# apply DatasetOps
buffer_size = 10000


+ 8
- 10
mindinsight/wizard/conf/templates/network/resnet50/dataset/cifar10/dataset.py-tpl View File

@@ -19,7 +19,7 @@ import os

import mindspore.dataset as ds
import mindspore.dataset.transforms.c_transforms as C
import mindspore.dataset.transforms.vision.c_transforms as CV
import mindspore.dataset.vision.c_transforms as CV
from mindspore.common import dtype as mstype
from mindspore.communication.management import init, get_rank, get_group_size

@@ -46,8 +46,6 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe

rescale = 1.0 / 255.0
shift = 0.0
rescale = 1.0 / 255.0
shift = 0.0

resize_op = CV.Resize((cfg.image_height, cfg.image_width))
rescale_op = CV.Rescale(rescale, shift)
@@ -57,14 +55,14 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe
random_horizontal_op = CV.RandomHorizontalFlip()
channel_swap_op = CV.HWC2CHW()
typecast_op = C.TypeCast(mstype.int32)
cifar_ds = cifar_ds.map(input_columns="label", operations=typecast_op)
cifar_ds = cifar_ds.map(operations=typecast_op, input_columns="label")
if do_train:
cifar_ds = cifar_ds.map(input_columns="image", operations=random_crop_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=random_horizontal_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=resize_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=rescale_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=normalize_op)
cifar_ds = cifar_ds.map(input_columns="image", operations=channel_swap_op)
cifar_ds = cifar_ds.map(operations=random_crop_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=random_horizontal_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=resize_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=rescale_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=normalize_op, input_columns="image")
cifar_ds = cifar_ds.map(operations=channel_swap_op, input_columns="image")

cifar_ds = cifar_ds.shuffle(buffer_size=1000)
cifar_ds = cifar_ds.batch(batch_size, drop_remainder=True)


+ 6
- 6
mindinsight/wizard/conf/templates/network/resnet50/dataset/imagenet/dataset.py-tpl View File

@@ -18,7 +18,7 @@ create train or eval dataset.
import os
import mindspore.common.dtype as mstype
import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.c_transforms as C
import mindspore.dataset.vision.c_transforms as C
import mindspore.dataset.transforms.c_transforms as C2
from mindspore.communication.management import init, get_rank, get_group_size

@@ -50,10 +50,10 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe
device_num = 1

if device_num == 1:
ds = de.ImageFolderDatasetV2(data_path, num_parallel_workers=8, shuffle=True)
ds = de.ImageFolderDataset(data_path, num_parallel_workers=8, shuffle=True)
else:
ds = de.ImageFolderDatasetV2(data_path, num_parallel_workers=8, shuffle=True,
num_shards=device_num, shard_id=rank_id)
ds = de.ImageFolderDataset(data_path, num_parallel_workers=8, shuffle=True,
num_shards=device_num, shard_id=rank_id)

image_size = cfg.image_height
mean = [0.485 * 255, 0.456 * 255, 0.406 * 255]
@@ -78,8 +78,8 @@ def create_dataset(data_path, batch_size=32, repeat_size=1, do_train=True, targe

type_cast_op = C2.TypeCast(mstype.int32)

ds = ds.map(input_columns="image", num_parallel_workers=8, operations=trans)
ds = ds.map(input_columns="label", num_parallel_workers=8, operations=type_cast_op)
ds = ds.map(operations=trans, input_columns="image", num_parallel_workers=8)
ds = ds.map(operations=type_cast_op, input_columns="label", num_parallel_workers=8)

# apply batch operations
ds = ds.batch(batch_size, drop_remainder=True)


+ 6
- 6
mindinsight/wizard/conf/templates/network/resnet50/train.py-tpl View File

@@ -91,13 +91,13 @@ if __name__ == '__main__':
else:
for _, cell in net.cells_and_names():
if isinstance(cell, nn.Conv2d):
cell.weight.default_input = weight_init.initializer(weight_init.XavierUniform(),
cell.weight.default_input.shape,
cell.weight.default_input.dtype).to_tensor()
cell.weight.set_data(weight_init.initializer(weight_init.XavierUniform(),
cell.weight.shape,
cell.weight.dtype))
if isinstance(cell, nn.Dense):
cell.weight.default_input = weight_init.initializer(weight_init.TruncatedNormal(),
cell.weight.default_input.shape,
cell.weight.default_input.dtype).to_tensor()
cell.weight.set_data(weight_init.initializer(weight_init.TruncatedNormal(),
cell.weight.shape,
cell.weight.dtype))

# init lr



+ 13
- 13
tests/st/func/wizard/test_alexnet.py View File

@@ -26,7 +26,7 @@ NETWORK_NAME = 'alexnet'


class TestAlexNet:
"""Test AlexNet Module"""
"""Test AlexNet Module."""

@pytest.mark.level0
@pytest.mark.env_single
@@ -68,35 +68,35 @@ class TestAlexNet:
'config': {'loss': 'SoftmaxCrossEntropyWithLogits',
'optimizer': 'Momentum',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyWithLogits',
'optimizer': 'Adam',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyWithLogits',
'optimizer': 'SGD',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyExpand',
'optimizer': 'Momentum',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyExpand',
'optimizer': 'Adam',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyExpand',
'optimizer': 'SGD',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}])
def test_combinations(self, params):
"""Do testing"""
"""Do testing."""

network_maker_name = NETWORK_NAME
config = params['config']
@@ -112,7 +112,7 @@ class TestAlexNet:
self.check_train_eval_readme(config['dataset'], config['loss'], config['optimizer'])

def check_src(self, dataset_name, config):
"""Check src file"""
"""Check src file."""
dataset_is_right = False
config_dataset_is_right = False
config_optimizer_is_right = False
@@ -140,7 +140,7 @@ class TestAlexNet:

@staticmethod
def _check_config_dataset(config, content):
"""Check dataset in config"""
"""Check dataset in config."""
config_dataset_is_right = False
if config['dataset'] == 'Cifar10':
if "'num_classes': 10" in content:
@@ -152,7 +152,7 @@ class TestAlexNet:

@staticmethod
def _check_config_optimizer(config, content):
"""Check optimizer in config"""
"""Check optimizer in config."""
config_optimizer_is_right = False
if config['optimizer'] == 'Momentum':
if "'lr': 0.002" in content:
@@ -166,7 +166,7 @@ class TestAlexNet:
return config_optimizer_is_right

def check_train_eval_readme(self, dataset_name, loss_name, optimizer_name):
"""Check train and eval"""
"""Check train and eval."""

train_is_right = False
eval_is_right = False
@@ -191,7 +191,7 @@ class TestAlexNet:
assert readme_is_right

def check_scripts(self):
"""Check scripts"""
"""Check scripts."""

exist_run_distribute_train = False
exist_run_distribute_train_gpu = False


+ 5
- 5
tests/st/func/wizard/test_lenet.py View File

@@ -25,7 +25,7 @@ NETWORK_NAME = 'lenet'


class TestLeNet:
"""Test LeNet Module"""
"""Test LeNet Module."""

@pytest.mark.level0
@pytest.mark.env_single
@@ -65,7 +65,7 @@ class TestLeNet:
'dataset_loader_name': 'MnistDataset'
}])
def test_combinations(self, params):
"""Do testing"""
"""Do testing."""

network_maker_name = NETWORK_NAME
config = params['config']
@@ -81,7 +81,7 @@ class TestLeNet:
self.check_train_eval_readme(config['loss'], config['optimizer'])

def check_src(self, dataset_name, config):
"""Check src file"""
"""Check src file."""
dataset_is_right = False
config_optimizer_is_right = False
network_is_right = False
@@ -109,7 +109,7 @@ class TestLeNet:
assert network_is_right

def check_train_eval_readme(self, loss_name, optimizer_name):
"""Check train and eval"""
"""Check train and eval."""

train_is_right = False
eval_is_right = False
@@ -134,7 +134,7 @@ class TestLeNet:
assert readme_is_right

def check_scripts(self):
"""Check scripts"""
"""Check scripts."""

exist_run_distribute_train = False
exist_run_distribute_train_gpu = False


+ 13
- 13
tests/st/func/wizard/test_resnet50.py View File

@@ -26,7 +26,7 @@ NETWORK_NAME = 'resnet50'


class TestResNet50:
"""Test ResNet50 Module"""
"""Test ResNet50 Module."""

@pytest.mark.level0
@pytest.mark.env_single
@@ -68,35 +68,35 @@ class TestResNet50:
'config': {'loss': 'SoftmaxCrossEntropyWithLogits',
'optimizer': 'Momentum',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyWithLogits',
'optimizer': 'Adam',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyWithLogits',
'optimizer': 'SGD',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyExpand',
'optimizer': 'Momentum',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyExpand',
'optimizer': 'Adam',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}, {
'config': {'loss': 'SoftmaxCrossEntropyExpand',
'optimizer': 'SGD',
'dataset': 'ImageNet'},
'dataset_loader_name': 'ImageFolderDatasetV2'
'dataset_loader_name': 'ImageFolderDataset'
}])
def test_combinations(self, params):
"""Do testing"""
"""Do testing."""

network_maker_name = NETWORK_NAME
config = params['config']
@@ -112,7 +112,7 @@ class TestResNet50:
self.check_train_eval_readme(config['dataset'], config['loss'], config['optimizer'])

def check_src(self, dataset_name, config):
"""Check src file"""
"""Check src file."""
dataset_is_right = False
config_dataset_is_right = False
config_optimizer_is_right = False
@@ -144,7 +144,7 @@ class TestResNet50:

@staticmethod
def _check_config_dataset(config, content):
"""Check dataset in config"""
"""Check dataset in config."""
config_dataset_is_right = False
if config['dataset'] == 'Cifar10':
if "'num_classes': 10" in content \
@@ -160,7 +160,7 @@ class TestResNet50:

@staticmethod
def _check_config_optimizer(config, content):
"""Check optimizer in config"""
"""Check optimizer in config."""
config_optimizer_is_right = False
if config['optimizer'] == 'Momentum':
if "'lr': 0.01" in content and \
@@ -175,7 +175,7 @@ class TestResNet50:
return config_optimizer_is_right

def check_train_eval_readme(self, dataset_name, loss_name, optimizer_name):
"""Check train and eval"""
"""Check train and eval."""

train_is_right = False
eval_is_right = False
@@ -208,7 +208,7 @@ class TestResNet50:
assert readme_is_right

def check_scripts(self):
"""Check scripts"""
"""Check scripts."""

exist_run_distribute_train = False
exist_run_distribute_train_gpu = False


Loading…
Cancel
Save