1 系统环境
硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU
MindSpore版本: mindspore=2.0.0
执行模式(PyNative/ Graph):不限
Python版本: Python=3.9
操作系统平台: 不限
2 报错信息
2.1 问题描述
使用Imagenet数据集,设置了100个类型的图片分类。
{'autoaugment': 1,
'backbone': 'vit_base_patch32',
'batch_size': 8,
'beta1': 0.9,
'beta2': 0.999,
'class_num': 100,
'config_path': 'vit_patch32_imagenet2012_config_standalone.yml',
'crop_min': 0.05,
'dataset_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/train',
'enable_modelarts': 0,
'eval_batch_size': 4,
'eval_image_size': 224,
'eval_interval': 1,
'eval_num_workers': 2,
'eval_offset': -1,
'eval_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/val',
'gc_flag': 0,
'interpolation': 'BILINEAR',
'keep_checkpoint_max': 3,
'label_smooth_factor': 0.1,
'loss_name': 'ce_smooth_mixup',
'loss_scale': 1024,
'lr_decay_mode': 'cosine',
'lr_init': 0.001,
'lr_max': 0.00044375,
'lr_min': 1e-08,
'max_epoch': 300,
'mixup': 0.2,
'no_weight_decay_filter': 'beta,bias',
'open_profiler': 0,
'opt': 'adamw',
'pretrained': '',
'save_checkpoint': 1,
'save_checkpoint_epochs': 8,
'save_checkpoint_path': './outputs',
'train_image_size': 224,
'train_num_workers': 1,
'use_label_smooth': 1,
'vit_config_path': 'src.vit.VitConfig',
'warmup_epochs': 0,
'weight_decay': 0.05}
Please check the above information for the configurations
standalone training
########################################
{'auto_tune': 0,
'autoaugment': 1,
'aux_factor': 0.4,
'backbone': 'vit_base_patch32',
'batch_size': 8,
'beta1': 0.9,
'beta2': 0.999,
'class_num': 100,
'config_path': 'vit_patch32_imagenet2012_config_standalone.yml',
'crop_min': 0.05,
'dataset_name': 'imagenet',
'dataset_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/train',
'device_id': 0,
'device_num': 1,
'enable_modelarts': 0,
'eval_batch_size': 4,
'eval_engine': 'imagenet',
'eval_image_size': 224,
'eval_interval': 1,
'eval_num_workers': 2,
'eval_offset': 0,
'eval_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/val',
'gc_flag': 0,
'interpolation': 'BILINEAR',
'keep_checkpoint_max': 3,
'label_smooth_factor': 0.1,
'local_rank': 0,
'logger': <LOGGER mindspore-benchmark (NOTSET)>,
'loss_name': 'ce_smooth_mixup',
'loss_scale': 1024,
'lr_decay_mode': 'cosine',
'lr_init': 0.001,
'lr_max': 0.00044375,
'lr_min': 1e-08,
'max_epoch': 300,
'mixup': 0.2,
'no_weight_decay_filter': 'beta,bias',
'open_profiler': 0,
'opt': 'adamw',
'poly_power': 2,
'pretrained': '',
'save_checkpoint': 1,
'save_checkpoint_epochs': 8,
'save_checkpoint_path': './outputs',
'seed': 1,
'split_point': 0.4,
'train_image_size': 224,
'train_num_workers': 1,
'use_label_smooth': 1,
'vit_config_path': 'src.vit.VitConfig',
'warmup_epochs': 0,
'weight_decay': 0.05}
########################################
get vit_config_path
split_point=0.4
============================================================
{'auto_tune': 0,
'autoaugment': 1,
'aux_factor': 0.4,
'backbone': 'vit_base_patch32',
'batch_size': 8,
'beta1': 0.9,
'beta2': 0.999,
'class_num': 100,
'config_path': 'vit_patch32_imagenet2012_config_standalone.yml',
'crop_min': 0.05,
'dataset_name': 'imagenet',
'dataset_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/train',
'device_id': 0,
'device_num': 1,
'enable_modelarts': 0,
'eval_batch_size': 4,
'eval_engine': 'imagenet',
'eval_image_size': 224,
'eval_interval': 1,
'eval_num_workers': 2,
'eval_offset': 0,
'eval_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/val',
'gc_flag': 0,
'interpolation': 'BILINEAR',
'keep_checkpoint_max': 3,
'label_smooth_factor': 0.1,
'local_rank': 0,
'logger': <LOGGER mindspore-benchmark (NOTSET)>,
'loss_name': 'ce_smooth_mixup',
'loss_scale': 1024,
'lr_decay_mode': 'cosine',
'lr_init': 0.001,
'lr_max': 0.00044375,
'lr_min': 1e-08,
'max_epoch': 300,
'mixup': 0.2,
'no_weight_decay_filter': 'beta,bias',
'open_profiler': 0,
'opt': 'adamw',
'poly_power': 2,
'pretrained': '',
'save_checkpoint': 1,
'save_checkpoint_epochs': 8,
'save_checkpoint_path': './outputs',
'seed': 1,
'split_point': 0.4,
'train_image_size': 224,
'train_num_workers': 1,
'use_label_smooth': 1,
'vit_config_path': 'src.vit.VitConfig',
'warmup_epochs': 0,
'weight_decay': 0.05}
============================================================
3 根因分析
imagenet数据集是class=100,但是0-100表示的是101个类,不是100个类,所以需要设置成0-99。
4 解决方案
将代码中的’class_num’: 100,修改为’class_num’: 99.
{'autoaugment': 1,
'backbone': 'vit_base_patch32',
'batch_size': 8,
'beta1': 0.9,
'beta2': 0.999,
'class_num': 99,
'config_path': 'vit_patch32_imagenet2012_config_standalone.yml',
'crop_min': 0.05,
'dataset_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/train',
'enable_modelarts': 0,
'eval_batch_size': 4,
'eval_image_size': 224,
'eval_interval': 1,
'eval_num_workers': 2,
'eval_offset': -1,
'eval_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/val',
'gc_flag': 0,
'interpolation': 'BILINEAR',
'keep_checkpoint_max': 3,
'label_smooth_factor': 0.1,
'loss_name': 'ce_smooth_mixup',
'loss_scale': 1024,
'lr_decay_mode': 'cosine',
'lr_init': 0.001,
'lr_max': 0.00044375,
'lr_min': 1e-08,
'max_epoch': 300,
'mixup': 0.2,
'no_weight_decay_filter': 'beta,bias',
'open_profiler': 0,
'opt': 'adamw',
'pretrained': '',
'save_checkpoint': 1,
'save_checkpoint_epochs': 8,
'save_checkpoint_path': './outputs',
'train_image_size': 224,
'train_num_workers': 1,
'use_label_smooth': 1,
'vit_config_path': 'src.vit.VitConfig',
'warmup_epochs': 0,
'weight_decay': 0.05}
Please check the above information for the configurations
standalone training
########################################
{'auto_tune': 0,
'autoaugment': 1,
'aux_factor': 0.4,
'backbone': 'vit_base_patch32',
'batch_size': 8,
'beta1': 0.9,
'beta2': 0.999,
'class_num': 99,
'config_path': 'vit_patch32_imagenet2012_config_standalone.yml',
'crop_min': 0.05,
'dataset_name': 'imagenet',
'dataset_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/train',
'device_id': 0,
'device_num': 1,
'enable_modelarts': 0,
'eval_batch_size': 4,
'eval_engine': 'imagenet',
'eval_image_size': 224,
'eval_interval': 1,
'eval_num_workers': 2,
'eval_offset': 0,
'eval_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/val',
'gc_flag': 0,
'interpolation': 'BILINEAR',
'keep_checkpoint_max': 3,
'label_smooth_factor': 0.1,
'local_rank': 0,
'logger': <LOGGER mindspore-benchmark (NOTSET)>,
'loss_name': 'ce_smooth_mixup',
'loss_scale': 1024,
'lr_decay_mode': 'cosine',
'lr_init': 0.001,
'lr_max': 0.00044375,
'lr_min': 1e-08,
'max_epoch': 300,
'mixup': 0.2,
'no_weight_decay_filter': 'beta,bias',
'open_profiler': 0,
'opt': 'adamw',
'poly_power': 2,
'pretrained': '',
'save_checkpoint': 1,
'save_checkpoint_epochs': 8,
'save_checkpoint_path': './outputs',
'seed': 1,
'split_point': 0.4,
'train_image_size': 224,
'train_num_workers': 1,
'use_label_smooth': 1,
'vit_config_path': 'src.vit.VitConfig',
'warmup_epochs': 0,
'weight_decay': 0.05}
########################################
get vit_config_path
split_point=0.4
============================================================
{'auto_tune': 0,
'autoaugment': 1,
'aux_factor': 0.4,
'backbone': 'vit_base_patch32',
'batch_size': 8,
'beta1': 0.9,
'beta2': 0.999,
'class_num': 99,
'config_path': 'vit_patch32_imagenet2012_config_standalone.yml',
'crop_min': 0.05,
'dataset_name': 'imagenet',
'dataset_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/train',
'device_id': 0,
'device_num': 1,
'enable_modelarts': 0,
'eval_batch_size': 4,
'eval_engine': 'imagenet',
'eval_image_size': 224,
'eval_interval': 1,
'eval_num_workers': 2,
'eval_offset': 0,
'eval_path': '/data/zx_cv/vit/models-master/VIT/cache/datasets/imagenet_cifa/tiny-new/datasets/val',
'gc_flag': 0,
'interpolation': 'BILINEAR',
'keep_checkpoint_max': 3,
'label_smooth_factor': 0.1,
'local_rank': 0,
'logger': <LOGGER mindspore-benchmark (NOTSET)>,
'loss_name': 'ce_smooth_mixup',
'loss_scale': 1024,
'lr_decay_mode': 'cosine',
'lr_init': 0.001,
'lr_max': 0.00044375,
'lr_min': 1e-08,
'max_epoch': 300,
'mixup': 0.2,
'no_weight_decay_filter': 'beta,bias',
'open_profiler': 0,
'opt': 'adamw',
'poly_power': 2,
'pretrained': '',
'save_checkpoint': 1,
'save_checkpoint_epochs': 8,
'save_checkpoint_path': './outputs',
'seed': 1,
'split_point': 0.4,
'train_image_size': 224,
'train_num_workers': 1,
'use_label_smooth': 1,
'vit_config_path': 'src.vit.VitConfig',
'warmup_epochs': 0,
'weight_decay': 0.05}
============================================================