├── .flake8 ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── ci.yml │ ├── docs.yml │ └── publish.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── README_CN.md ├── RELEASE.md ├── benchmark_results.md ├── config.py ├── configs ├── README.md ├── bit │ ├── README.md │ ├── bit_resnet101_ascend.yaml │ ├── bit_resnet50_ascend.yaml │ └── bit_resnet50x3_ascend.yaml ├── cmt │ ├── README.md │ └── cmt_small_ascend.yaml ├── coat │ ├── README.md │ ├── coat_lite_mini_ascend.yaml │ ├── coat_lite_tiny_ascend.yaml │ ├── coat_mini_ascend.yaml │ └── coat_tiny_ascend.yaml ├── convit │ ├── README.md │ ├── convit_base_ascend.yaml │ ├── convit_base_plus_ascend.yaml │ ├── convit_small_ascend.yaml │ ├── convit_small_plus_ascend.yaml │ ├── convit_tiny_ascend.yaml │ ├── convit_tiny_gpu.yaml │ └── convit_tiny_plus_ascend.yaml ├── convnext │ ├── README.md │ ├── convnext_base_ascend.yaml │ ├── convnext_small_ascend.yaml │ └── convnext_tiny_ascend.yaml ├── convnextv2 │ ├── README.md │ └── convnextv2_tiny_ascend.yaml ├── crossvit │ ├── README.md │ ├── crossvit_15_ascend.yaml │ ├── crossvit_18_ascend.yaml │ └── crossvit_9_ascend.yaml ├── densenet │ ├── README.md │ ├── densenet_121_ascend.yaml │ ├── densenet_121_gpu.yaml │ ├── densenet_161_ascend.yaml │ ├── densenet_161_gpu.yaml │ ├── densenet_169_ascend.yaml │ ├── densenet_169_gpu.yaml │ ├── densenet_201_ascend.yaml │ └── densenet_201_gpu.yaml ├── dpn │ ├── README.md │ ├── dpn107_ascend.yaml │ ├── dpn131_ascend.yaml │ ├── dpn92_ascend.yaml │ └── dpn98_ascend.yaml ├── edgenext │ ├── README.md │ ├── edgenext_base_ascend.yaml │ ├── edgenext_small_ascend.yaml │ ├── edgenext_x_small_ascend.yaml │ └── edgenext_xx_small_ascend.yaml ├── efficientnet │ ├── README.md │ ├── efficientnet_b0_ascend.yaml │ └── efficientnet_b1_ascend.yaml ├── ghostnet │ ├── README.md │ ├── ghostnet_050_ascend.yaml │ ├── ghostnet_100_ascend.yaml │ └── ghostnet_130_ascend.yaml ├── googlenet │ ├── README.md │ └── googlenet_ascend.yaml ├── halonet │ ├── README.md │ └── halonet_50t_ascend.yaml ├── hrnet │ ├── README.md │ ├── hrnet_w32_ascend.yaml │ └── hrnet_w48_ascend.yaml ├── inceptionv3 │ ├── README.md │ └── inception_v3_ascend.yaml ├── inceptionv4 │ ├── README.md │ └── inception_v4_ascend.yaml ├── mixnet │ ├── README.md │ ├── mixnet_l_ascend.yaml │ ├── mixnet_m_ascend.yaml │ └── mixnet_s_ascend.yaml ├── mnasnet │ ├── README.md │ ├── mnasnet_0.5_ascend.yaml │ ├── mnasnet_0.75_ascend.yaml │ ├── mnasnet_0.75_gpu.yaml │ ├── mnasnet_1.0_ascend.yaml │ ├── mnasnet_1.0_gpu.yaml │ ├── mnasnet_1.3_ascend.yaml │ ├── mnasnet_1.4_ascend.yaml │ └── mnasnet_1.4_gpu.yaml ├── mobilenetv1 │ ├── README.md │ ├── mobilenet_v1_0.25_ascend.yaml │ ├── mobilenet_v1_0.25_gpu.yaml │ ├── mobilenet_v1_0.5_ascend.yaml │ ├── mobilenet_v1_0.5_gpu.yaml │ ├── mobilenet_v1_0.75_ascend.yaml │ ├── mobilenet_v1_0.75_gpu.yaml │ ├── mobilenet_v1_1.0_ascend.yaml │ └── mobilenet_v1_1.0_gpu.yaml ├── mobilenetv2 │ ├── README.md │ ├── mobilenet_v2_0.75_ascend.yaml │ ├── mobilenet_v2_1.0_ascend.yaml │ └── mobilenet_v2_1.4_ascend.yaml ├── mobilenetv3 │ ├── README.md │ ├── mobilenet_v3_large_ascend.yaml │ └── mobilenet_v3_small_ascend.yaml ├── mobilevit │ ├── README.md │ ├── mobilevit_small_ascend.yaml │ ├── mobilevit_x_small_ascend.yaml │ └── mobilevit_xx_small_ascend.yaml ├── nasnet │ ├── README.md │ └── nasnet_a_4x1056_ascend.yaml ├── pit │ ├── README.md │ ├── pit_b_ascend.yaml │ ├── pit_s_ascend.yaml │ ├── pit_ti_ascend.yaml │ └── pit_xs_ascend.yaml ├── poolformer │ ├── README.md │ └── poolformer_s12_ascend.yaml ├── pvt │ ├── README.md │ ├── pvt_large_ascend.yaml │ ├── pvt_medium_ascend.yaml │ ├── pvt_small_ascend.yaml │ └── pvt_tiny_ascend.yaml ├── pvtv2 │ ├── README.md │ ├── pvt_v2_b0_ascend.yaml │ ├── pvt_v2_b1_ascend.yaml │ ├── pvt_v2_b2_ascend.yaml │ ├── pvt_v2_b3_ascend.yaml │ └── pvt_v2_b4_ascend.yaml ├── regnet │ ├── README.md │ ├── regnet_x_200mf_ascend.yaml │ ├── regnet_x_400mf_ascend.yaml │ ├── regnet_x_600mf_ascend.yaml │ ├── regnet_x_800mf_ascend.yaml │ ├── regnet_y_16gf_ascend.yaml │ ├── regnet_y_200mf_ascend.yaml │ ├── regnet_y_400mf_ascend.yaml │ ├── regnet_y_600mf_ascend.yaml │ └── regnet_y_800mf_ascend.yaml ├── repmlp │ ├── README.md │ └── repmlp_t224_ascend.yaml ├── repvgg │ ├── README.md │ ├── repvgg_a0_ascend.yaml │ ├── repvgg_a1_ascend.yaml │ ├── repvgg_a2_ascend.yaml │ ├── repvgg_b0_ascend.yaml │ ├── repvgg_b1_ascend.yaml │ ├── repvgg_b1g2_ascend.yaml │ ├── repvgg_b1g4_ascend.yaml │ ├── repvgg_b2_ascend.yaml │ ├── repvgg_b2g4_ascend.yaml │ └── repvgg_b3_ascend.yaml ├── res2net │ ├── README.md │ ├── res2net_101_ascend.yaml │ ├── res2net_101_gpu.yaml │ ├── res2net_101_v1b_ascend.yaml │ ├── res2net_101_v1b_gpu.yaml │ ├── res2net_50_ascend.yaml │ ├── res2net_50_gpu.yaml │ ├── res2net_50_v1b_ascend.yaml │ └── res2net_50_v1b_gpu.yaml ├── resnest │ ├── README.md │ ├── resnest101_ascend.yaml │ └── resnest50_ascend.yaml ├── resnet │ ├── README.md │ ├── resnet_101_ascend.yaml │ ├── resnet_101_gpu.yaml │ ├── resnet_152_ascend.yaml │ ├── resnet_152_gpu.yaml │ ├── resnet_18_ascend.yaml │ ├── resnet_18_gpu.yaml │ ├── resnet_34_ascend.yaml │ ├── resnet_34_gpu.yaml │ ├── resnet_50_ascend.yaml │ └── resnet_50_gpu.yaml ├── resnetv2 │ ├── README.md │ ├── resnetv2_101_ascend.yaml │ └── resnetv2_50_ascend.yaml ├── resnext │ ├── README.md │ ├── resnext101_32x4d_ascend.yaml │ ├── resnext101_64x4d_ascend.yaml │ ├── resnext152_64x4d_ascend.yaml │ └── resnext50_32x4d_ascend.yaml ├── rexnet │ ├── README.md │ ├── rexnet_x09_ascend.yaml │ ├── rexnet_x10_ascend.yaml │ ├── rexnet_x13_ascend.yaml │ ├── rexnet_x15_ascend.yaml │ └── rexnet_x20_ascend.yaml ├── senet │ ├── README.md │ ├── seresnet18_ascend.yaml │ ├── seresnet34_ascend.yaml │ ├── seresnet50_ascend.yaml │ ├── seresnext26_32x4d_ascend.yaml │ └── seresnext50_32x4d_ascend.yaml ├── shufflenetv1 │ ├── README.md │ ├── shufflenet_v1_0.5_ascend.yaml │ └── shufflenet_v1_1.0_ascend.yaml ├── shufflenetv2 │ ├── README.md │ ├── shufflenet_v2_0.5_ascend.yaml │ ├── shufflenet_v2_1.0_ascend.yaml │ ├── shufflenet_v2_1.5_ascend.yaml │ └── shufflenet_v2_2.0_ascend.yaml ├── sknet │ ├── README.md │ ├── skresnet18_ascend.yaml │ ├── skresnet34_ascend.yaml │ └── skresnext50_32x4d_ascend.yaml ├── squeezenet │ ├── README.md │ ├── squeezenet_1.0_ascend.yaml │ ├── squeezenet_1.0_gpu.yaml │ ├── squeezenet_1.1_ascend.yaml │ └── squeezenet_1.1_gpu.yaml ├── swintransformer │ ├── README.md │ └── swin_tiny_ascend.yaml ├── swintransformerv2 │ ├── README.md │ └── swinv2_tiny_window8_ascend.yaml ├── vgg │ ├── README.md │ ├── vgg11_ascend.yaml │ ├── vgg13_ascend.yaml │ ├── vgg16_ascend.yaml │ └── vgg19_ascend.yaml ├── visformer │ ├── README.md │ ├── visformer_small_ascend.yaml │ ├── visformer_small_v2_ascend.yaml │ ├── visformer_tiny_ascend.yaml │ └── visformer_tiny_v2_ascend.yaml ├── vit │ ├── README.md │ ├── vit_b32_224_ascend.yaml │ ├── vit_l16_224_ascend.yaml │ └── vit_l32_224_ascend.yaml ├── volo │ ├── README.md │ ├── volo_d1_ascend.yaml │ ├── volo_d2_ascend.yaml │ ├── volo_d3_ascend.yaml │ └── volo_d4_ascend.yaml ├── xception │ ├── README.md │ └── xception_ascend.yaml └── xcit │ ├── README.md │ └── xcit_tiny_12_p16_ascend.yaml ├── docs ├── en │ ├── how_to_guides │ │ ├── feature_extraction.md │ │ ├── finetune_with_a_custom_dataset.md │ │ └── write_a_new_model.md │ ├── index.md │ ├── installation.md │ ├── modelzoo.md │ ├── notes │ │ ├── changelog.md │ │ ├── code_of_conduct.md │ │ ├── contributing.md │ │ └── faq.md │ ├── reference │ │ ├── data.md │ │ ├── loss.md │ │ ├── models.layers.md │ │ ├── optim.md │ │ ├── scheduler.md │ │ └── utils.md │ └── tutorials │ │ ├── configuration.md │ │ ├── finetune.md │ │ ├── inference.md │ │ └── quick_start.md ├── gen_ref_pages.py └── zh │ ├── how_to_guides │ ├── feature_extraction.md │ ├── finetune_with_a_custom_dataset.md │ └── write_a_new_model.md │ ├── index.md │ ├── installation.md │ ├── modelzoo.md │ ├── notes │ ├── changelog.md │ ├── code_of_conduct.md │ ├── contributing.md │ └── faq.md │ ├── reference │ ├── data.md │ ├── loss.md │ ├── models.layers.md │ ├── optim.md │ ├── scheduler.md │ └── utils.md │ └── tutorials │ ├── configuration.md │ ├── finetune.md │ ├── inference.md │ └── quick_start.md ├── examples ├── README.md ├── clip │ ├── CLIP.png │ ├── MANIFEST.in │ ├── README.md │ ├── ckpt_transform.py │ ├── clip │ │ ├── __init__.py │ │ ├── bpe_simple_vocab_16e6.txt.gz │ │ ├── clip.py │ │ ├── model.py │ │ └── simple_tokenizer.py │ ├── data │ │ ├── country211.md │ │ ├── prompts.md │ │ ├── rendered-sst2.md │ │ └── yfcc100m.md │ ├── model-card.md │ ├── requirements.txt │ └── tests │ │ └── test_consistency.py ├── data │ └── imagenet1000_clsidx_to_labels.txt ├── det │ └── ssd │ │ ├── README.md │ │ ├── callbacks.py │ │ ├── create_data.py │ │ ├── data.py │ │ ├── eval.py │ │ ├── model.py │ │ ├── ssd_mobilenetv2.yaml │ │ ├── ssd_mobilenetv2_gpu.yaml │ │ ├── ssd_mobilenetv3.yaml │ │ ├── ssd_mobilenetv3_gpu.yaml │ │ ├── ssd_resnet50_fpn.yaml │ │ ├── ssd_resnet50_fpn_gpu.yaml │ │ ├── train.py │ │ └── utils.py ├── finetune │ ├── README.md │ ├── finetune.py │ ├── read_images_online.py │ └── split_files.py ├── open_clip │ ├── difference.py │ ├── requirements-test.txt │ ├── requirements-training.txt │ ├── requirements.txt │ ├── src │ │ └── open_clip │ │ │ ├── __init__.py │ │ │ ├── bpe_simple_vocab_16e6.txt.gz │ │ │ ├── constants.py │ │ │ ├── factory.py │ │ │ ├── loss.py │ │ │ ├── model.py │ │ │ ├── model_configs │ │ │ ├── RN101-quickgelu.json │ │ │ ├── RN101.json │ │ │ ├── RN50-quickgelu.json │ │ │ ├── RN50.json │ │ │ ├── RN50x16.json │ │ │ ├── RN50x4.json │ │ │ ├── RN50x64.json │ │ │ ├── ViT-B-16.json │ │ │ ├── ViT-B-32-quickgelu.json │ │ │ ├── ViT-B-32.json │ │ │ ├── ViT-H-14.json │ │ │ ├── ViT-L-14-336.json │ │ │ ├── ViT-L-14.json │ │ │ └── ViT-bigG-14.json │ │ │ ├── modified_resnet.py │ │ │ ├── openai.py │ │ │ ├── pretrained.py │ │ │ ├── tokenizer.py │ │ │ ├── transform.py │ │ │ ├── transformer.py │ │ │ ├── utils.py │ │ │ ├── zero_shot_classifier.py │ │ │ └── zero_shot_metadata.py │ └── test.py └── seg │ └── deeplabv3 │ ├── README.md │ ├── callbacks.py │ ├── config │ ├── deeplabv3_s16_dilated_resnet101.yaml │ ├── deeplabv3_s8_dilated_resnet101.yaml │ ├── deeplabv3plus_s16_dilated_resnet101.yaml │ └── deeplabv3plus_s8_dilated_resnet101.yaml │ ├── data.py │ ├── deeplabv3.py │ ├── dilated_resnet.py │ ├── eval.py │ ├── loss.py │ ├── postprocess.py │ ├── preprocess │ ├── build_seg_data.py │ └── get_data_list.py │ └── train.py ├── infer.py ├── mindcv ├── __init__.py ├── data │ ├── __init__.py │ ├── auto_augment.py │ ├── constants.py │ ├── dataset_download.py │ ├── dataset_factory.py │ ├── distributed_sampler.py │ ├── loader.py │ ├── mixup.py │ └── transforms_factory.py ├── loss │ ├── __init__.py │ ├── asymmetric.py │ ├── binary_cross_entropy_smooth.py │ ├── cross_entropy_smooth.py │ ├── jsd.py │ └── loss_factory.py ├── models │ ├── __init__.py │ ├── bit.py │ ├── cait.py │ ├── cmt.py │ ├── coat.py │ ├── convit.py │ ├── convnext.py │ ├── crossvit.py │ ├── densenet.py │ ├── dpn.py │ ├── edgenext.py │ ├── efficientnet.py │ ├── features.py │ ├── ghostnet.py │ ├── googlenet.py │ ├── halonet.py │ ├── helpers.py │ ├── hrnet.py │ ├── inceptionv3.py │ ├── inceptionv4.py │ ├── layers │ │ ├── __init__.py │ │ ├── activation.py │ │ ├── compatibility.py │ │ ├── conv_norm_act.py │ │ ├── drop_path.py │ │ ├── format.py │ │ ├── helpers.py │ │ ├── identity.py │ │ ├── mlp.py │ │ ├── patch_dropout.py │ │ ├── patch_embed.py │ │ ├── pooling.py │ │ ├── pos_embed.py │ │ ├── selective_kernel.py │ │ └── squeeze_excite.py │ ├── mae.py │ ├── mixnet.py │ ├── mlpmixer.py │ ├── mnasnet.py │ ├── mobilenetv1.py │ ├── mobilenetv2.py │ ├── mobilenetv3.py │ ├── mobilevit.py │ ├── model_factory.py │ ├── nasnet.py │ ├── pit.py │ ├── pnasnet.py │ ├── poolformer.py │ ├── pvt.py │ ├── pvtv2.py │ ├── registry.py │ ├── regnet.py │ ├── repmlp.py │ ├── repvgg.py │ ├── res2net.py │ ├── resnest.py │ ├── resnet.py │ ├── resnetv2.py │ ├── rexnet.py │ ├── senet.py │ ├── shufflenetv1.py │ ├── shufflenetv2.py │ ├── sknet.py │ ├── squeezenet.py │ ├── swintransformer.py │ ├── swintransformerv2.py │ ├── vgg.py │ ├── visformer.py │ ├── vit.py │ ├── volo.py │ ├── xception.py │ └── xcit.py ├── optim │ ├── __init__.py │ ├── adamw.py │ ├── adan.py │ ├── lion.py │ ├── nadam.py │ └── optim_factory.py ├── scheduler │ ├── __init__.py │ ├── dynamic_lr.py │ └── scheduler_factory.py ├── utils │ ├── __init__.py │ ├── amp.py │ ├── callbacks.py │ ├── checkpoint_manager.py │ ├── download.py │ ├── logger.py │ ├── path.py │ ├── random.py │ ├── reduce_manager.py │ ├── train_step.py │ └── trainer_factory.py └── version.py ├── mkdocs.yml ├── pyproject.toml ├── requirements.txt ├── requirements ├── dev.txt └── docs.txt ├── scripts ├── README.md ├── gen_benchmark.py ├── launch_dist.py ├── launch_dist.sh └── package.sh ├── setup.py ├── tests ├── README.md ├── modules │ ├── non_cpu │ │ └── test_utils.py │ ├── parallel │ │ ├── test_parallel_dataset.py │ │ ├── test_parallel_loader.py │ │ ├── test_parallel_model_factory.py │ │ ├── test_parallel_optim.py │ │ └── test_parallel_transforms.py │ ├── test_config.py │ ├── test_dataset.py │ ├── test_feature_extraction.py │ ├── test_loader.py │ ├── test_loss.py │ ├── test_models.py │ ├── test_optim.py │ ├── test_scheduler.py │ ├── test_transforms.py │ └── test_utils.py └── tasks │ ├── non_cpu │ └── test_train_val_imagenet_subset.py │ └── test_train_val_imagenet_subset.py ├── train.py ├── train_with_func.py ├── validate.py └── validate_with_func.py /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 120 3 | extend-exclude = 4 | docs/*, 5 | setup.py 6 | extend-ignore = E203 7 | per-file-ignores = 8 | */__init__.py:F401,F403 9 | examples/*,tests/*:E402 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.c text 7 | *.h text 8 | *.py text 9 | *.md text 10 | 11 | # Declare files that will always have CRLF line endings on checkout. 12 | *.sln text eol=crlf 13 | 14 | # Denote all files that are truly binary and should not be modified. 15 | *.png binary 16 | *.jpg binary 17 | *.svg binary 18 | *.jpeg binary 19 | *.gif binary 20 | *.ico binary 21 | *.mov binary 22 | *.mp4 binary 23 | *.mp3 binary 24 | *.flv binary 25 | *.fla binary 26 | *.swf binary 27 | *.gz binary 28 | *.zip binary 29 | *.7z binary 30 | *.ttf binary 31 | *.eot binary 32 | *.woff binary 33 | *.pyc binary 34 | *.pdf binary 35 | *.ez binary 36 | *.bz2 binary 37 | *.swp binary 38 | *.webp binary 39 | *.jar binary 40 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: 需求特性反馈 4 | title: '' 5 | labels: priority/primary, STATUS/TODO 6 | assignees: '' 7 | 8 | --- 9 | 10 | If this is your first time, please read our contributor guidelines: https://gitee.com/mindspore/mindspore/blob/master/CONTRIBUTING.md 11 | 12 | **Is your feature request related to a problem? Please describe.** 13 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 14 | 15 | **Describe the solution you'd like** 16 | A clear and concise description of what you want to happen. 17 | 18 | **Describe alternatives you've considered** 19 | A clear and concise description of any alternative solutions or features you've considered. 20 | 21 | **Additional context** 22 | Add any other context or screenshots about the feature request here. 23 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thank you for your contribution to the MindCV repo. 2 | Before submitting this PR, please make sure: 3 | 4 | - [ ] You have read the [Contributing Guidelines on pull requests](https://github.com/mindspore-lab/mindcv/blob/main/CONTRIBUTING.md) 5 | - [ ] Your code builds clean without any errors or warnings 6 | - [ ] You are using approved terminology 7 | - [ ] You have added unit tests 8 | 9 | ## Motivation 10 | 11 | (Write your motivation for proposed changes here.) 12 | 13 | ## Test Plan 14 | 15 | (How should this PR be tested? Do you require special setup to run the test or repro the fixed bug?) 16 | 17 | ## Related Issues and PRs 18 | 19 | (Is this PR part of a group of changes? Link the other relevant PRs and Issues here. Use https://help.github.com/en/articles/closing-issues-using-keywords for help on GitHub syntax) 20 | -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- 1 | name: docs 2 | on: 3 | push: 4 | branches: 5 | - main 6 | pull_request: 7 | 8 | permissions: 9 | contents: write 10 | 11 | jobs: 12 | deploy: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v3 16 | - name: Set up Python 3.8 17 | uses: actions/setup-python@v4 18 | with: 19 | python-version: 3.8 20 | - name: Install dependencies 21 | run: | 22 | python -m pip install --upgrade pip 23 | pip install -r requirements/docs.txt 24 | pip install "Pillow==9.1.1" 25 | pip install "mindspore>=1.8,<=1.10" 26 | - name: Build site 27 | run: mkdocs build 28 | - name: Deploy to gh-pages 29 | if: github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'mindspore-lab/mindcv' 30 | run: mkdocs gh-deploy --force 31 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | # This workflows will upload a Python Package using Twine when a release is created 2 | # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries 3 | 4 | name: Upload Python Package 5 | 6 | on: 7 | release: 8 | types: [published] 9 | 10 | 11 | jobs: 12 | deploy: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v3 17 | 18 | - name: Set up Python 19 | uses: actions/setup-python@v4 20 | with: 21 | python-version: "3.9" 22 | 23 | - name: Install dependencies 24 | run: | 25 | python -m pip install --upgrade pip 26 | pip install -r requirements/dev.txt 27 | pip install build twine 28 | - name: Build package 29 | run: | 30 | python -m build 31 | - name: Publish package 32 | env: 33 | TWINE_USERNAME: __token__ 34 | TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} 35 | run: | 36 | twine upload dist/* 37 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/pre-commit/pre-commit-hooks 3 | rev: v4.3.0 4 | hooks: 5 | # list of supported hooks: https://pre-commit.com/hooks.html 6 | - id: check-yaml 7 | - id: debug-statements 8 | - id: end-of-file-fixer 9 | - id: mixed-line-ending 10 | args: ["--fix=lf"] 11 | - id: trailing-whitespace 12 | 13 | - repo: https://github.com/PyCQA/isort 14 | rev: 5.11.5 15 | hooks: 16 | - id: isort 17 | 18 | - repo: https://github.com/psf/black 19 | rev: 23.1.0 20 | hooks: 21 | - id: black 22 | 23 | - repo: https://github.com/PyCQA/flake8 24 | rev: 5.0.4 25 | hooks: 26 | - id: flake8 27 | -------------------------------------------------------------------------------- /configs/bit/bit_resnet101_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 16 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | crop_pct: 0.875 19 | 20 | # model 21 | model: 'BiT_resnet101' 22 | num_classes: 1000 23 | pretrained: False 24 | ckpt_path: '' 25 | keep_checkpoint_max: 10 26 | ckpt_save_dir: './ckpt' 27 | epoch_size: 90 28 | dataset_sink_mode: True 29 | amp_level: 'O0' 30 | 31 | # loss 32 | loss: 'CE' 33 | label_smoothing: 0.1 34 | 35 | # lr scheduler 36 | scheduler: 'multi_step_decay' 37 | lr: 0.06 38 | decay_rate: 0.5 39 | multi_step_decay_milestones: [30, 40, 50, 60, 70, 80, 85] 40 | 41 | 42 | # optimizer 43 | opt: 'sgd' 44 | weight_decay_filter: 'auto' 45 | momentum: 0.9 46 | weight_decay: 0.0001 47 | loss_scale: 1024 48 | -------------------------------------------------------------------------------- /configs/bit/bit_resnet50_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | crop_pct: 0.875 19 | 20 | # model 21 | model: 'BiT_resnet50' 22 | num_classes: 1000 23 | pretrained: False 24 | ckpt_path: '' 25 | keep_checkpoint_max: 10 26 | ckpt_save_dir: './ckpt' 27 | epoch_size: 90 28 | dataset_sink_mode: True 29 | amp_level: 'O0' 30 | 31 | # loss 32 | loss: 'CE' 33 | label_smoothing: 0.1 34 | 35 | # lr scheduler 36 | scheduler: 'multi_step_decay' 37 | lr: 0.06 38 | decay_rate: 0.5 39 | multi_step_decay_milestones: [30, 40, 50, 60, 70, 80, 85] 40 | 41 | # optimizer 42 | opt: 'sgd' 43 | weight_decay_filter: 'auto' 44 | momentum: 0.9 45 | weight_decay: 0.0001 46 | loss_scale: 1024 47 | -------------------------------------------------------------------------------- /configs/bit/bit_resnet50x3_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | mixup: 0.2 19 | crop_pct: 0.875 20 | auto_augment: "randaug-m7-mstd0.5" 21 | 22 | # model 23 | model: 'BiT_resnet50x3' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 90 30 | dataset_sink_mode: True 31 | amp_level: 'O0' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler config 38 | warmup_epochs: 1 39 | scheduler: 'multi_step_decay' 40 | lr: 0.09 41 | decay_rate: 0.4 42 | multi_step_decay_milestones: [30, 40, 50, 60, 70, 80, 85] 43 | 44 | # optimizer 45 | opt: 'sgd' 46 | weight_decay_filter: 'auto' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | -------------------------------------------------------------------------------- /configs/coat/coat_lite_mini_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bicubic' 21 | auto_augment: 'randaug-m7-mstd0.5-inc1' 22 | re_prob: 0.1 23 | mixup: 0.2 24 | cutmix: 1.0 25 | cutmix_prob: 1.0 26 | crop_pct: 0.9 27 | color_jitter: 0.4 28 | 29 | # model 30 | model: 'coat_lite_mini' 31 | num_classes: 1000 32 | pretrained: False 33 | ckpt_path: '' 34 | ckpt_save_policy: 'top_k' 35 | keep_checkpoint_max: 10 36 | ckpt_save_dir: './ckpt/' 37 | dataset_sink_mode: True 38 | amp_level: 'O2' 39 | 40 | # loss 41 | loss: 'CE' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.0017 47 | min_lr: 0.000005 48 | warmup_epochs: 20 49 | decay_epochs: 280 50 | epoch_size: 1200 51 | num_cycles: 4 52 | cycle_decay: 1.0 53 | 54 | # optimizer 55 | opt: 'adamw' 56 | weight_decay: 0.025 57 | loss_scale: 1024 58 | use_nesterov: False 59 | -------------------------------------------------------------------------------- /configs/coat/coat_lite_tiny_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet/' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bicubic' 21 | auto_augment: 'randaug-m7-mstd0.5-inc1' 22 | re_prob: 0.1 23 | mixup: 0.2 24 | cutmix: 1.0 25 | cutmix_prob: 1.0 26 | crop_pct: 0.9 27 | color_jitter: 0.4 28 | 29 | # model 30 | model: 'coat_lite_tiny' 31 | num_classes: 1000 32 | pretrained: False 33 | ckpt_path: '' 34 | ckpt_save_policy: 'top_k' 35 | keep_checkpoint_max: 10 36 | ckpt_save_dir: './ckpt/' 37 | dataset_sink_mode: True 38 | amp_level: 'O2' 39 | 40 | # loss 41 | loss: 'CE' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.0008 47 | min_lr: 0.000005 48 | warmup_epochs: 20 49 | decay_epochs: 280 50 | epoch_size: 900 51 | num_cycles: 3 52 | cycle_decay: 1.0 53 | 54 | # optimizer 55 | opt: 'adamw' 56 | weight_decay: 0.025 57 | loss_scale: 1024 58 | use_nesterov: False 59 | -------------------------------------------------------------------------------- /configs/convit/convit_base_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'autoaug-mstd0.5' 21 | re_prob: 0.1 22 | mixup: 0.2 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.93 26 | color_jitter: 0.4 27 | 28 | # model 29 | model: 'convit_base' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | 39 | # loss 40 | loss: 'CE' 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: 'warmup_cosine_decay' 45 | lr: 0.0007 46 | min_lr: 0.000001 47 | warmup_epochs: 40 48 | decay_epochs: 260 49 | 50 | # optimizer 51 | opt: 'adamw' 52 | weight_decay: 0.1 53 | loss_scale: 1024 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/convit/convit_base_plus_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'autoaug-mstd0.5' 21 | re_prob: 0.1 22 | mixup: 0.2 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.925 26 | color_jitter: 0.4 27 | 28 | # model 29 | model: 'convit_base_plus' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | 39 | # loss 40 | loss: 'CE' 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: 'warmup_cosine_decay' 45 | lr: 0.0007 46 | min_lr: 0.000001 47 | warmup_epochs: 40 48 | decay_epochs: 260 49 | 50 | # optimizer 51 | opt: 'adamw' 52 | weight_decay: 0.1 53 | loss_scale: 1024 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/convit/convit_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 192 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'autoaug-mstd0.5' 21 | re_prob: 0.1 22 | mixup: 0.2 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.915 26 | color_jitter: 0.4 27 | 28 | # model 29 | model: 'convit_small' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | 39 | # loss 40 | loss: 'CE' 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: 'warmup_cosine_decay' 45 | lr: 0.0007 46 | min_lr: 0.000001 47 | warmup_epochs: 40 48 | decay_epochs: 260 49 | 50 | # optimizer 51 | opt: 'adamw' 52 | weight_decay: 0.05 53 | loss_scale: 1024 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/convit/convit_small_plus_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 192 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'autoaug-mstd0.5' 21 | re_prob: 0.1 22 | mixup: 0.2 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.93 26 | color_jitter: 0.4 27 | 28 | # model 29 | model: 'convit_small_plus' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | 39 | # loss 40 | loss: 'CE' 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: 'warmup_cosine_decay' 45 | lr: 0.0007 46 | min_lr: 0.000001 47 | warmup_epochs: 40 48 | decay_epochs: 260 49 | 50 | # optimizer 51 | opt: 'adamw' 52 | weight_decay: 0.05 53 | loss_scale: 1024 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/convit/convit_tiny_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 256 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | re_prob: 0.25 21 | mixup: 0.2 22 | cutmix: 1.0 23 | cutmix_prob: 1.0 24 | crop_pct: 0.875 25 | color_jitter: 0.4 26 | 27 | # model 28 | model: 'convit_tiny' 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: '' 32 | keep_checkpoint_max: 10 33 | ckpt_save_dir: './ckpt' 34 | epoch_size: 300 35 | dataset_sink_mode: True 36 | amp_level: 'O2' 37 | 38 | # loss 39 | loss: 'CE' 40 | label_smoothing: 0.1 41 | 42 | # lr scheduler 43 | scheduler: 'cosine_decay' 44 | lr: 0.00072 45 | min_lr: 0.000001 46 | warmup_epochs: 5 47 | decay_epochs: 295 48 | 49 | # optimizer 50 | opt: 'adamw' 51 | weight_decay: 0.0001 52 | loss_scale: 1024 53 | use_nesterov: False 54 | -------------------------------------------------------------------------------- /configs/convit/convit_tiny_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | re_prob: 0.25 21 | mixup: 0.8 22 | crop_pct: 0.875 23 | color_jitter: [0.4, 0.4, 0.4] 24 | 25 | # model 26 | model: 'convit_tiny' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 300 33 | dataset_sink_mode: True 34 | amp_level: 'O2' 35 | 36 | # loss 37 | loss: 'CE' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | lr: 0.0005 43 | min_lr: 0.00001 44 | warmup_epochs: 10 45 | decay_epochs: 200 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | weight_decay: 0.025 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/convit/convit_tiny_plus_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 256 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | re_prob: 0.25 21 | mixup: 0.2 22 | cutmix: 1.0 23 | cutmix_prob: 1.0 24 | crop_pct: 0.87 25 | color_jitter: 0.4 26 | 27 | # model 28 | model: 'convit_tiny_plus' 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: '' 32 | keep_checkpoint_max: 10 33 | ckpt_save_dir: './ckpt' 34 | epoch_size: 300 35 | dataset_sink_mode: True 36 | amp_level: 'O2' 37 | 38 | # loss 39 | loss: 'CE' 40 | label_smoothing: 0.1 41 | 42 | # lr scheduler 43 | scheduler: 'cosine_decay' 44 | lr: 0.00072 45 | min_lr: 0.000001 46 | warmup_epochs: 40 47 | decay_epochs: 260 48 | 49 | # optimizer 50 | opt: 'adamw' 51 | weight_decay: 0.0001 52 | loss_scale: 1024 53 | use_nesterov: False 54 | -------------------------------------------------------------------------------- /configs/convnext/convnext_base_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 16 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: 'random' 20 | hflip: 0.5 21 | interpolation: 'bicubic' 22 | auto_augment: 'randaug-m9-mstd0.5-inc1' 23 | re_prob: 0.25 24 | crop_pct: 0.95 25 | mixup: 0.8 26 | cutmix: 1.0 27 | 28 | # model 29 | model: 'convnext_base' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 450 36 | drop_path_rate: 0.5 37 | dataset_sink_mode: True 38 | amp_level: 'O2' 39 | 40 | # loss 41 | loss: 'ce' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.002 47 | min_lr: 0.0000003 48 | decay_epochs: 430 49 | warmup_factor: 0.0000175 50 | warmup_epochs: 20 51 | 52 | # optimizer 53 | opt: 'adamw' 54 | momentum: 0.9 55 | weight_decay: 0.05 56 | loss_scale_type: 'auto' 57 | use_nesterov: False 58 | -------------------------------------------------------------------------------- /configs/convnext/convnext_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 16 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: 'random' 20 | hflip: 0.5 21 | interpolation: 'bicubic' 22 | auto_augment: 'randaug-m9-mstd0.5-inc1' 23 | re_prob: 0.25 24 | crop_pct: 0.95 25 | mixup: 0.8 26 | cutmix: 1.0 27 | 28 | # model 29 | model: 'convnext_small' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 450 36 | drop_path_rate: 0.4 37 | dataset_sink_mode: True 38 | amp_level: 'O2' 39 | 40 | # loss 41 | loss: 'ce' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.002 47 | min_lr: 0.0000003 48 | decay_epochs: 430 49 | warmup_factor: 0.0000175 50 | warmup_epochs: 20 51 | 52 | # optimizer 53 | opt: 'adamw' 54 | momentum: 0.9 55 | weight_decay: 0.05 56 | loss_scale_type: 'auto' 57 | use_nesterov: False 58 | -------------------------------------------------------------------------------- /configs/densenet/densenet_121_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | val_split: val 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'densenet121' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/densenet/densenet_121_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | distribute: True 3 | num_parallel_workers: 8 4 | 5 | # dataset 6 | dataset: 'imagenet' 7 | data_dir: '/path/to/imagenet' 8 | shuffle: True 9 | dataset_download: False 10 | batch_size: 32 11 | drop_remainder: True 12 | val_split: val 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'densenet121' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/densenet/densenet_161_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | val_split: val 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'densenet161' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/densenet/densenet_161_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | val_split: val 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'densenet161' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/densenet/densenet_169_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | val_split: val 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'densenet169' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/densenet/densenet_169_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | val_split: val 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'densenet169' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/densenet/densenet_201_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | val_split: val 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'densenet201' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/densenet/densenet_201_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | val_split: val 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'densenet201' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/dpn/dpn107_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'dpn107' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 10 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O2' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 1e-6 42 | lr: 0.05 43 | warmup_epochs: 0 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'SGD' 48 | momentum: 0.9 49 | weight_decay: 0.0001 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/dpn/dpn131_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'dpn131' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 10 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O2' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 1e-6 42 | lr: 0.05 43 | warmup_epochs: 0 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'SGD' 48 | momentum: 0.9 49 | weight_decay: 0.0001 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/dpn/dpn92_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'dpn92' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 30 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O2' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 1e-6 42 | lr: 0.05 43 | warmup_epochs: 0 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'SGD' 48 | momentum: 0.9 49 | weight_decay: 0.0001 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/dpn/dpn98_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'dpn98' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 10 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O2' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 1e-6 42 | lr: 0.05 43 | warmup_epochs: 0 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'SGD' 48 | momentum: 0.9 49 | weight_decay: 0.0001 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/efficientnet/efficientnet_b0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bicubic' 21 | crop_pct: 0.875 22 | color_jitter: [0.4, 0.4, 0.4] 23 | auto_augment: 'autoaug' 24 | 25 | # model 26 | model: 'efficientnet_b0' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 450 33 | dataset_sink_mode: True 34 | amp_level: 'O2' 35 | 36 | # loss 37 | loss: 'CE' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | min_lr: 1e-10 43 | lr: 0.128 44 | warmup_epochs: 5 45 | decay_epochs: 445 46 | 47 | # optimizer 48 | opt: 'rmsprop' 49 | momentum: 0.9 50 | weight_decay: 1e-5 51 | loss_scale_type: 'dynamic' 52 | drop_overflow_update: True 53 | use_nesterov: False 54 | eps: 1e-3 55 | -------------------------------------------------------------------------------- /configs/efficientnet/efficientnet_b1_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 240 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bicubic' 21 | crop_pct: 0.875 22 | color_jitter: [0.4, 0.4, 0.4] 23 | auto_augment: 'autoaug' 24 | 25 | # model 26 | model: 'efficientnet_b1' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 450 33 | dataset_sink_mode: True 34 | amp_level: 'O2' 35 | 36 | # loss 37 | loss: 'CE' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | min_lr: 1e-10 43 | lr: 0.3 44 | warmup_epochs: 20 45 | decay_epochs: 430 46 | 47 | # optimizer 48 | opt: 'rmsprop' 49 | momentum: 0.9 50 | weight_decay: 1e-5 51 | loss_scale_type: 'dynamic' 52 | drop_overflow_update: True 53 | use_nesterov: False 54 | eps: 1e-3 55 | -------------------------------------------------------------------------------- /configs/ghostnet/ghostnet_050_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | re_prob: 0.25 23 | auto_augment: "randaug-m9-mstd0.5" 24 | 25 | # model 26 | model: "ghostnet_050" 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: "" 30 | keep_checkpoint_max: 30 31 | ckpt_save_dir: "./ckpt" 32 | epoch_size: 600 33 | dataset_sink_mode: True 34 | amp_level: "O3" 35 | 36 | # loss 37 | loss: "CE" 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: "cosine_decay" 42 | min_lr: 0.0000001 43 | lr: 0.4 44 | warmup_epochs: 20 45 | decay_epochs: 580 46 | 47 | # optimizer 48 | opt: "momentum" 49 | momentum: 0.9 50 | weight_decay: 0.00002 51 | loss_scale_type: "dynamic" 52 | drop_overflow_update: True 53 | loss_scale: 16777216 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/ghostnet/ghostnet_100_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | re_prob: 0.25 23 | auto_augment: "randaug-m9-mstd0.5" 24 | 25 | # model 26 | model: "ghostnet_100" 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: "" 30 | keep_checkpoint_max: 30 31 | ckpt_save_dir: "./ckpt" 32 | epoch_size: 600 33 | dataset_sink_mode: True 34 | amp_level: "O3" 35 | 36 | # loss 37 | loss: "CE" 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: "cosine_decay" 42 | min_lr: 0.0000001 43 | lr: 0.4 44 | warmup_epochs: 20 45 | decay_epochs: 580 46 | 47 | # optimizer 48 | opt: "momentum" 49 | momentum: 0.9 50 | weight_decay: 0.00002 51 | loss_scale_type: "dynamic" 52 | drop_overflow_update: True 53 | loss_scale: 16777216 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/ghostnet/ghostnet_130_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | re_prob: 0.25 23 | auto_augment: "randaug-m9-mstd0.5" 24 | aug_repeats: 3 25 | 26 | # model 27 | model: "ghostnet_130" 28 | num_classes: 1000 29 | pretrained: False 30 | ckpt_path: "" 31 | keep_checkpoint_max: 30 32 | ckpt_save_dir: "./ckpt" 33 | epoch_size: 600 34 | dataset_sink_mode: True 35 | amp_level: "O3" 36 | 37 | # loss 38 | loss: "CE" 39 | label_smoothing: 0.1 40 | 41 | # lr scheduler 42 | scheduler: "cosine_decay" 43 | min_lr: 0.0000001 44 | lr: 0.4 45 | warmup_epochs: 20 46 | decay_epochs: 580 47 | 48 | # optimizer 49 | opt: "momentum" 50 | momentum: 0.9 51 | weight_decay: 0.00002 52 | loss_scale_type: "dynamic" 53 | drop_overflow_update: True 54 | loss_scale: 16777216 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/googlenet/googlenet_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'googlenet' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: 'O0' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | lr: 0.045 41 | min_lr: 0.0 42 | decay_epochs: 145 43 | warmup_epochs: 5 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.00004 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/hrnet/hrnet_w32_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 128 14 | drop_remainder: True 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | auto_augment: "randaug-m7-mstd0.5" 23 | re_prob: 0.1 24 | mixup: 0.2 25 | cutmix: 1.0 26 | cutmix_prob: 1.0 27 | 28 | # model 29 | model: "hrnet_w32" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 5 34 | ckpt_save_policy: "top_k" 35 | ckpt_save_dir: "./ckpt" 36 | epoch_size: 300 37 | dataset_sink_mode: True 38 | amp_level: "O2" 39 | 40 | # loss 41 | loss: "CE" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | min_lr: 0.00001 47 | lr: 0.001 48 | warmup_epochs: 20 49 | decay_epochs: 280 50 | 51 | # optimizer 52 | opt: 'adamw' 53 | weight_decay: 0.05 54 | loss_scale: 1024 55 | -------------------------------------------------------------------------------- /configs/hrnet/hrnet_w48_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 128 14 | drop_remainder: True 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | auto_augment: "randaug-m7-mstd0.5" 23 | re_prob: 0.1 24 | mixup: 0.2 25 | cutmix: 1.0 26 | cutmix_prob: 1.0 27 | 28 | # model 29 | model: "hrnet_w48" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 5 34 | ckpt_save_policy: "top_k" 35 | ckpt_save_dir: "./ckpt" 36 | epoch_size: 300 37 | dataset_sink_mode: True 38 | amp_level: "O2" 39 | 40 | # loss 41 | loss: "CE" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | min_lr: 0.00001 47 | lr: 0.001 48 | warmup_epochs: 20 49 | decay_epochs: 280 50 | 51 | # optimizer 52 | opt: 'adamw' 53 | weight_decay: 0.05 54 | loss_scale: 1024 55 | -------------------------------------------------------------------------------- /configs/inceptionv3/inception_v3_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 299 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | auto_augment: 'autoaug' 22 | re_prob: 0.25 23 | crop_pct: 0.875 24 | 25 | # model 26 | model: 'inception_v3' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 200 33 | dataset_sink_mode: True 34 | amp_level: 'O0' 35 | aux_factor: 0.1 36 | 37 | # loss config 38 | loss: 'CE' 39 | label_smoothing: 0.1 40 | 41 | # lr scheduler 42 | scheduler: 'warmup_cosine_decay' 43 | lr: 0.045 44 | min_lr: 0.0 45 | decay_epochs: 195 46 | warmup_epochs: 5 47 | 48 | # optimizer 49 | opt: 'momentum' 50 | momentum: 0.9 51 | weight_decay: 0.00004 52 | loss_scale: 1024 53 | use_nesterov: False 54 | -------------------------------------------------------------------------------- /configs/inceptionv4/inception_v4_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 299 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | auto_augment: 'autoaug' 22 | re_prob: 0.25 23 | crop_pct: 0.875 24 | 25 | # model 26 | model: 'inception_v4' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 200 33 | dataset_sink_mode: True 34 | amp_level: 'O2' 35 | 36 | # loss 37 | loss: 'CE' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'warmup_cosine_decay' 42 | lr: 0.045 43 | min_lr: 0.0 44 | decay_epochs: 195 45 | warmup_epochs: 5 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 0.00004 51 | loss_scale: 1024 52 | use_nesterov: False 53 | -------------------------------------------------------------------------------- /configs/mixnet/mixnet_l_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | auto_augment: "randaug-m9-mstd0.5-inc1" 22 | re_prob: 0.25 23 | crop_pct: 0.875 24 | mixup: 0.2 25 | cutmix: 1.0 26 | 27 | # model 28 | model: "mixnet_l" 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 10 33 | ckpt_save_dir: "./ckpt" 34 | epoch_size: 600 35 | dataset_sink_mode: True 36 | amp_level: "O3" 37 | 38 | # loss 39 | loss: "CE" 40 | label_smoothing: 0.1 41 | 42 | # lr scheduler 43 | scheduler: "cosine_decay" 44 | lr: 0.25 45 | min_lr: 0.00001 46 | decay_epochs: 580 47 | warmup_epochs: 20 48 | 49 | # optimizer 50 | opt: "momentum" 51 | momentum: 0.9 52 | weight_decay: 0.00002 53 | loss_scale_type: "dynamic" 54 | drop_overflow_update: True 55 | loss_scale: 16777216 56 | use_nesterov: False 57 | -------------------------------------------------------------------------------- /configs/mixnet/mixnet_m_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | auto_augment: "randaug-m9-mstd0.5" 22 | re_prob: 0.25 23 | crop_pct: 0.875 24 | mixup: 0.2 25 | cutmix: 1.0 26 | cutmix_prob: 0.0 27 | 28 | # model 29 | model: "mixnet_m" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 600 36 | dataset_sink_mode: True 37 | amp_level: "O3" 38 | drop_rate: 0.25 39 | 40 | # loss 41 | loss: "CE" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | lr: 0.2 47 | min_lr: 0.00001 48 | decay_epochs: 585 49 | warmup_epochs: 15 50 | 51 | # optimizer 52 | opt: "momentum" 53 | momentum: 0.9 54 | weight_decay: 0.00002 55 | loss_scale: 1024 56 | use_nesterov: False 57 | -------------------------------------------------------------------------------- /configs/mixnet/mixnet_s_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | auto_augment: "randaug-m9-mstd0.5" 22 | re_prob: 0.25 23 | crop_pct: 0.875 24 | mixup: 0.2 25 | cutmix: 1.0 26 | cutmix_prob: 0.0 27 | 28 | # model 29 | model: "mixnet_s" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 600 36 | dataset_sink_mode: True 37 | amp_level: "O3" 38 | 39 | # loss 40 | loss: "CE" 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: "cosine_decay" 45 | lr: 0.2 46 | min_lr: 0.00001 47 | decay_epochs: 585 48 | warmup_epochs: 15 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.00002 54 | loss_scale: 256 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_0.5_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 512 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bicubic' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'mnasnet_050' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 5e-6 41 | lr: 0.1 42 | warmup_epochs: 5 43 | decay_epochs: 395 44 | 45 | # optimizer 46 | opt: 'rmsprop' 47 | momentum: 0.9 48 | weight_decay: 1e-5 49 | loss_scale: 256 50 | use_nesterov: False 51 | eps: 1e-3 52 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_0.75_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 256 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mnasnet_075' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 350 30 | dataset_sink_mode: True 31 | amp_level: 'O0' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 1e-10 40 | lr: 0.016 41 | warmup_epochs: 5 42 | decay_epochs: 345 43 | 44 | # optimizer 45 | opt: 'rmsprop' 46 | momentum: 0.9 47 | weight_decay: 1e-5 48 | loss_scale: 256 49 | use_nesterov: False 50 | eps: 1e-3 51 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_0.75_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mnasnet_075' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 350 30 | dataset_sink_mode: True 31 | amp_level: 'O0' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 1e-10 40 | lr: 0.012 41 | warmup_epochs: 5 42 | decay_epochs: 345 43 | 44 | # optimizer 45 | opt: 'rmsprop' 46 | momentum: 0.9 47 | weight_decay: 1e-5 48 | loss_scale: 256 49 | use_nesterov: False 50 | eps: 1e-3 51 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_1.0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 256 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mnasnet_100' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 450 30 | dataset_sink_mode: True 31 | amp_level: 'O0' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 1e-10 40 | lr: 0.016 41 | warmup_epochs: 5 42 | decay_epochs: 445 43 | 44 | # optimizer 45 | opt: 'rmsprop' 46 | momentum: 0.9 47 | weight_decay: 1e-5 48 | loss_scale: 256 49 | use_nesterov: False 50 | eps: 1e-3 51 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_1.0_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mnasnet_100' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 450 30 | dataset_sink_mode: True 31 | amp_level: 'O0' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 1e-10 40 | lr: 0.012 41 | warmup_epochs: 5 42 | decay_epochs: 445 43 | 44 | # optimizer 45 | opt: 'rmsprop' 46 | momentum: 0.9 47 | weight_decay: 1e-5 48 | loss_scale: 256 49 | use_nesterov: False 50 | eps: 1e-3 51 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_1.3_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bicubic' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'mnasnet_130' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 1e-10 41 | lr: 0.032 42 | warmup_epochs: 5 43 | decay_epochs: 395 44 | 45 | # optimizer 46 | opt: 'rmsprop' 47 | momentum: 0.9 48 | weight_decay: 1e-5 49 | loss_scale: 256 50 | use_nesterov: False 51 | eps: 1e-3 52 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_1.4_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 256 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mnasnet_140' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 400 30 | dataset_sink_mode: True 31 | amp_level: 'O0' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 1e-10 40 | lr: 0.016 41 | warmup_epochs: 5 42 | decay_epochs: 395 43 | 44 | # optimizer 45 | opt: 'rmsprop' 46 | momentum: 0.9 47 | weight_decay: 1e-5 48 | loss_scale: 256 49 | use_nesterov: False 50 | eps: 1e-3 51 | -------------------------------------------------------------------------------- /configs/mnasnet/mnasnet_1.4_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mnasnet_140' 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 400 30 | dataset_sink_mode: True 31 | amp_level: 'O0' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 1e-10 40 | lr: 0.008 41 | warmup_epochs: 5 42 | decay_epochs: 395 43 | 44 | # optimizer 45 | opt: 'rmsprop' 46 | momentum: 0.9 47 | weight_decay: 1e-5 48 | loss_scale: 256 49 | use_nesterov: False 50 | eps: 1e-3 51 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_0.25_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mobilenet_v1_025' 24 | num_classes: 1001 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 80 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 200 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.4 41 | warmup_epochs: 2 42 | decay_epochs: 198 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.00003 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_0.25_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mobilenet_v1_025' 24 | num_classes: 1001 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 80 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 200 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.4 41 | warmup_epochs: 2 42 | decay_epochs: 198 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.00003 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_0.5_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mobilenet_v1_050' 24 | num_classes: 1001 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 80 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 200 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.4 41 | warmup_epochs: 2 42 | decay_epochs: 198 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.00003 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_0.5_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mobilenet_v1_050' 24 | num_classes: 1001 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 80 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 200 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.4 41 | warmup_epochs: 2 42 | decay_epochs: 198 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.00003 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_0.75_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mobilenet_v1_075' 24 | num_classes: 1001 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 80 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 200 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.4 41 | warmup_epochs: 2 42 | decay_epochs: 198 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.00003 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_0.75_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mobilenet_v1_075' 24 | num_classes: 1001 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 80 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 200 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.4 41 | warmup_epochs: 2 42 | decay_epochs: 198 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.00003 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_1.0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: 'mobilenet_v1_100' 24 | num_classes: 1001 25 | pretrained: False 26 | ckpt_path: '' 27 | keep_checkpoint_max: 80 28 | ckpt_save_dir: './ckpt' 29 | epoch_size: 200 30 | dataset_sink_mode: True 31 | amp_level: 'O2' 32 | 33 | # loss 34 | loss: 'CE' 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: 'cosine_decay' 39 | min_lr: 0.0 40 | lr: 0.4 41 | warmup_epochs: 2 42 | decay_epochs: 198 43 | 44 | # optimizer 45 | opt: 'momentum' 46 | momentum: 0.9 47 | weight_decay: 0.00003 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/mobilenetv1/mobilenet_v1_1.0_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | train_split: 'train' 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'mobilenet_v1_100' 25 | num_classes: 1001 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 80 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 200 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.4 42 | warmup_epochs: 2 43 | decay_epochs: 198 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.00003 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/mobilenetv2/mobilenet_v2_0.75_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 256 13 | drop_remainder: True 14 | train_split: 'train' 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'mobilenet_v2_075' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 50 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 400 32 | dataset_sink_mode: True 33 | amp_level: 'O3' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.3 43 | warmup_epochs: 4 44 | decay_epochs: 396 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | momentum: 0.9 49 | weight_decay: 0.00003 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/mobilenetv2/mobilenet_v2_1.0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 256 13 | drop_remainder: True 14 | train_split: 'train' 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'mobilenet_v2_100' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 100 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 320 32 | dataset_sink_mode: True 33 | amp_level: 'O3' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.4 43 | warmup_epochs: 4 44 | decay_epochs: 316 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | momentum: 0.9 49 | weight_decay: 0.00004 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/mobilenetv2/mobilenet_v2_1.4_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 256 13 | drop_remainder: True 14 | train_split: 'train' 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'mobilenet_v2_140' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 50 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 300 32 | dataset_sink_mode: True 33 | amp_level: 'O3' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.4 43 | warmup_epochs: 4 44 | decay_epochs: 296 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | weight_decay_filter: 'auto' 49 | momentum: 0.9 50 | weight_decay: 0.00004 51 | loss_scale: 1024 52 | use_nesterov: False 53 | -------------------------------------------------------------------------------- /configs/mobilenetv3/mobilenet_v3_large_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 75 13 | drop_remainder: True 14 | train_split: 'train' 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: 'bilinear' 22 | crop_pct: 0.875 23 | 24 | # model 25 | model: 'mobilenet_v3_large_100' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 30 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 420 32 | dataset_sink_mode: True 33 | amp_level: 'O3' 34 | 35 | # loss config 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 1.08 43 | warmup_epochs: 4 44 | decay_epochs: 416 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | weight_decay_filter: 'auto' 49 | momentum: 0.9 50 | weight_decay: 0.00002 51 | loss_scale: 1024 52 | use_nesterov: False 53 | -------------------------------------------------------------------------------- /configs/mobilenetv3/mobilenet_v3_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 75 13 | drop_remainder: True 14 | train_split: 'train' 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | color_jitter: 0.4 22 | interpolation: 'bilinear' 23 | crop_pct: 0.875 24 | 25 | # model 26 | model: 'mobilenet_v3_small_100' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: "" 30 | keep_checkpoint_max: 30 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 470 33 | dataset_sink_mode: True 34 | amp_level: 'O3' 35 | 36 | # loss 37 | loss: 'CE' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | min_lr: 0.0 43 | lr: 0.77 44 | warmup_epochs: 4 45 | decay_epochs: 466 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | weight_decay_filter: 'auto' 50 | momentum: 0.9 51 | weight_decay: 0.00002 52 | loss_scale: 1024 53 | use_nesterov: False 54 | -------------------------------------------------------------------------------- /configs/mobilevit/mobilevit_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 256 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | color_jitter: [0.4, 0.4, 0.4] 23 | re_prob: 1.0 24 | 25 | # model 26 | model: 'mobilevit_small' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 450 33 | dataset_sink_mode: True 34 | amp_level: 'O3' 35 | 36 | # loss 37 | loss: 'ce' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | min_lr: 0.000002 43 | lr: 0.002 44 | warmup_epochs: 20 45 | decay_epochs: 430 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | momentum: 0.9 50 | weight_decay: 0.01 51 | use_nesterov: False 52 | loss_scale_type: 'dynamic' 53 | drop_overflow_update: True 54 | loss_scale: 1024 55 | -------------------------------------------------------------------------------- /configs/mobilevit/mobilevit_x_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 256 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | color_jitter: [0.4, 0.4, 0.4] 23 | re_prob: 1.0 24 | 25 | # model 26 | model: 'mobilevit_x_small' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 450 33 | dataset_sink_mode: True 34 | amp_level: 'O3' 35 | 36 | # loss 37 | loss: 'ce' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | min_lr: 0.000002 43 | lr: 0.002 44 | warmup_epochs: 20 45 | decay_epochs: 430 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | momentum: 0.9 50 | weight_decay: 0.01 51 | use_nesterov: False 52 | loss_scale_type: 'dynamic' 53 | drop_overflow_update: True 54 | loss_scale: 1024 55 | -------------------------------------------------------------------------------- /configs/mobilevit/mobilevit_xx_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 256 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | color_jitter: [0.4, 0.4, 0.4] 23 | re_prob: 1.0 24 | 25 | # model 26 | model: 'mobilevit_xx_small' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 450 33 | dataset_sink_mode: True 34 | amp_level: 'O3' 35 | 36 | # loss 37 | loss: 'ce' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | min_lr: 0.000002 43 | lr: 0.002 44 | warmup_epochs: 40 45 | decay_epochs: 410 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | momentum: 0.9 50 | weight_decay: 0.01 51 | use_nesterov: False 52 | loss_scale_type: 'dynamic' 53 | drop_overflow_update: True 54 | loss_scale: 1024 55 | -------------------------------------------------------------------------------- /configs/nasnet/nasnet_a_4x1056_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 256 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'nasnet_a_4x1056' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 450 31 | dataset_sink_mode: True 32 | amp_level: 'O0' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 1e-10 41 | lr: 0.016 42 | warmup_epochs: 5 43 | decay_epochs: 445 44 | 45 | # optimizer 46 | opt: 'rmsprop' 47 | momentum: 0.9 48 | weight_decay: 1e-5 49 | loss_scale_type: 'dynamic' 50 | drop_overflow_update: True 51 | use_nesterov: False 52 | eps: 1e-3 53 | -------------------------------------------------------------------------------- /configs/pit/pit_b_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: "random" 20 | hflip: 0.5 21 | interpolation: "bicubic" 22 | auto_augment: "randaug-m9-mstd0.5-inc1" 23 | re_prob: 0.25 24 | crop_pct: 0.9 25 | mixup: 0.8 26 | cutmix: 1.0 27 | aug_repeats: 3 28 | 29 | # model 30 | model: "pit_b" 31 | num_classes: 1000 32 | pretrained: False 33 | ckpt_path: "" 34 | keep_checkpoint_max: 10 35 | ckpt_save_dir: "./ckpt" 36 | epoch_size: 600 37 | drop_path_rate: 0.2 38 | dataset_sink_mode: True 39 | amp_level: "O2" 40 | 41 | # loss 42 | loss: "ce" 43 | label_smoothing: 0.1 44 | 45 | # lr scheduler 46 | scheduler: "cosine_decay" 47 | lr: 0.001 48 | min_lr: 0.00001 49 | lr_epoch_stair: True 50 | decay_epochs: 590 51 | warmup_epochs: 10 52 | warmup_factor: 0.002 53 | 54 | # optimizer 55 | opt: "adamw" 56 | momentum: 0.9 57 | weight_decay: 0.05 58 | loss_scale_type: "auto" 59 | use_nesterov: False 60 | -------------------------------------------------------------------------------- /configs/pit/pit_ti_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: "random" 20 | hflip: 0.5 21 | interpolation: "bicubic" 22 | auto_augment: "randaug-m9-mstd0.5-inc1" 23 | re_prob: 0.25 24 | crop_pct: 0.875 25 | mixup: 0.8 26 | cutmix: 1.0 27 | 28 | # model 29 | model: "pit_ti" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 500 36 | drop_path_rate: 0.1 37 | dataset_sink_mode: True 38 | amp_level: "O2" 39 | 40 | # loss 41 | loss: "ce" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | lr: 0.002 47 | min_lr: 0.00001 48 | decay_epochs: 490 49 | warmup_epochs: 10 50 | 51 | # optimizer 52 | opt: "adamw" 53 | momentum: 0.9 54 | weight_decay: 0.05 55 | loss_scale_type: "auto" 56 | use_nesterov: False 57 | -------------------------------------------------------------------------------- /configs/pvt/pvt_large_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'randaug-m9-mstd0.5-inc1' 21 | re_prob: 0.25 22 | mixup: 0.8 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.9 26 | color_jitter: 0.0 27 | 28 | # model 29 | model: 'pvt_large' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 400 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | drop_path_rate: 0.3 39 | 40 | # loss 41 | loss: 'CE' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.001 47 | min_lr: 0.000001 48 | warmup_epochs: 10 49 | decay_epochs: 390 50 | 51 | # optimizer 52 | opt: 'adamw' 53 | weight_decay: 0.05 54 | loss_scale: 300 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/pvt/pvt_medium_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'randaug-m9-mstd0.5-inc1' 21 | re_prob: 0.25 22 | mixup: 0.8 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.9 26 | color_jitter: 0.0 27 | 28 | # model 29 | model: 'pvt_medium' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 400 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | drop_path_rate: 0.3 39 | 40 | # loss 41 | loss: 'CE' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.001 47 | min_lr: 0.000001 48 | warmup_epochs: 10 49 | decay_epochs: 390 50 | 51 | # optimizer 52 | opt: 'adamw' 53 | weight_decay: 0.05 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/pvt/pvt_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'randaug-m9-mstd0.5-inc1' 21 | re_prob: 0.25 22 | mixup: 0.8 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.9 26 | color_jitter: 0.0 27 | 28 | # model 29 | model: 'pvt_small' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 500 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | drop_path_rate: 0.1 39 | 40 | # loss 41 | loss: 'CE' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.0005 47 | min_lr: 0.000001 48 | warmup_epochs: 10 49 | decay_epochs: 390 50 | 51 | # optimizer 52 | opt: 'adamw' 53 | weight_decay: 0.05 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/pvt/pvt_tiny_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 128 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bicubic' 20 | auto_augment: 'randaug-m9-mstd0.5-inc1' 21 | re_prob: 0.25 22 | mixup: 0.8 23 | cutmix: 1.0 24 | cutmix_prob: 1.0 25 | crop_pct: 0.9 26 | color_jitter: 0.0 27 | 28 | # model 29 | model: 'pvt_tiny' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: '' 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 450 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | drop_path_rate: 0.1 39 | 40 | # loss 41 | loss: 'CE' 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: 'cosine_decay' 46 | lr: 0.0005 47 | min_lr: 0.000001 48 | warmup_epochs: 10 49 | decay_epochs: 440 50 | 51 | # optimizer 52 | opt: 'adamw' 53 | weight_decay: 0.05 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/pvtv2/pvt_v2_b0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: "random" 20 | hflip: 0.5 21 | interpolation: "bicubic" 22 | auto_augment: randaug-m9-mstd0.5-inc1 23 | re_prob: 0.25 24 | crop_pct: 0.9 25 | mixup: 0.8 26 | cutmix: 1.0 27 | 28 | # model 29 | model: "pvt_v2_b0" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 500 36 | drop_path_rate: 0.1 37 | dataset_sink_mode: True 38 | amp_level: "O2" 39 | 40 | # loss 41 | loss: "ce" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | lr: 0.001 47 | min_lr: 0.00001 48 | lr_epoch_stair: True 49 | decay_epochs: 490 50 | warmup_epochs: 10 51 | 52 | # optimizer 53 | opt: "adamw" 54 | momentum: 0.9 55 | weight_decay: 0.05 56 | use_nesterov: False 57 | loss_scale: 1024 58 | -------------------------------------------------------------------------------- /configs/pvtv2/pvt_v2_b2_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: "random" 20 | hflip: 0.5 21 | interpolation: "bicubic" 22 | auto_augment: "randaug-m9-mstd0.5-inc1" 23 | re_prob: 0.25 24 | crop_pct: 0.9 25 | mixup: 0.8 26 | cutmix: 1.0 27 | 28 | # model 29 | model: "pvt_v2_b2" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 550 36 | drop_path_rate: 0.2 37 | dataset_sink_mode: True 38 | amp_level: "O2" 39 | 40 | # loss 41 | loss: "ce" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | lr: 0.001 47 | min_lr: 0.000001 48 | decay_epochs: 530 49 | warmup_epochs: 20 50 | 51 | # optimizer 52 | opt: "adamw" 53 | momentum: 0.9 54 | weight_decay: 0.05 55 | loss_scale_type: "dynamic" 56 | drop_overflow_update: True 57 | use_nesterov: False 58 | -------------------------------------------------------------------------------- /configs/pvtv2/pvt_v2_b3_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: "random" 20 | hflip: 0.5 21 | interpolation: "bicubic" 22 | auto_augment: "randaug-m9-mstd0.5-inc1" 23 | re_prob: 0.25 24 | crop_pct: 0.9 25 | mixup: 0.8 26 | cutmix: 1.0 27 | 28 | # model 29 | model: "pvt_v2_b3" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 550 36 | drop_path_rate: 0.3 37 | dataset_sink_mode: True 38 | amp_level: "O2" 39 | 40 | # loss 41 | loss: "ce" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | lr: 0.002 47 | min_lr: 0.000001 48 | decay_epochs: 530 49 | warmup_epochs: 20 50 | 51 | # optimizer 52 | opt: "adamw" 53 | momentum: 0.9 54 | weight_decay: 0.05 55 | loss_scale_type: "auto" 56 | use_nesterov: False 57 | -------------------------------------------------------------------------------- /configs/pvtv2/pvt_v2_b4_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | re_value: "random" 20 | hflip: 0.5 21 | interpolation: "bicubic" 22 | auto_augment: "randaug-m9-mstd0.5-inc1" 23 | re_prob: 0.25 24 | crop_pct: 0.9 25 | mixup: 0.8 26 | cutmix: 1.0 27 | 28 | # model 29 | model: "pvt_v2_b4" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 10 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 550 36 | drop_path_rate: 0.3 37 | dataset_sink_mode: True 38 | amp_level: "O2" 39 | 40 | # loss 41 | loss: "ce" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | lr: 0.002 47 | min_lr: 0.000001 48 | decay_epochs: 530 49 | warmup_epochs: 20 50 | 51 | # optimizer 52 | opt: "adamw" 53 | momentum: 0.9 54 | weight_decay: 0.05 55 | loss_scale_type: "auto" 56 | use_nesterov: False 57 | -------------------------------------------------------------------------------- /configs/regnet/regnet_x_200mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bicubic' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_x_200mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 150 33 | dataset_sink_mode: True 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | warmup_factor: 0.01 45 | decay_epochs: 145 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 5e-5 51 | use_nesterov: False 52 | 53 | # amp 54 | amp_level: 'O2' 55 | loss_scale_type: 'auto' 56 | -------------------------------------------------------------------------------- /configs/regnet/regnet_x_400mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bicubic' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_x_400mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 150 33 | dataset_sink_mode: True 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | warmup_factor: 0.01 45 | decay_epochs: 145 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 5e-5 51 | use_nesterov: False 52 | 53 | # amp 54 | amp_level: 'O2' 55 | loss_scale_type: 'auto' 56 | -------------------------------------------------------------------------------- /configs/regnet/regnet_x_600mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bicubic' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_x_600mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 150 33 | dataset_sink_mode: True 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | warmup_factor: 0.01 45 | decay_epochs: 145 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 5e-5 51 | use_nesterov: False 52 | 53 | # amp 54 | amp_level: 'O2' 55 | loss_scale_type: 'auto' 56 | -------------------------------------------------------------------------------- /configs/regnet/regnet_x_800mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bilinear' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_x_800mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 200 33 | dataset_sink_mode: True 34 | amp_level: 'O3' 35 | 36 | # loss 37 | loss: 'CE' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'cosine_decay' 42 | min_lr: 0.0 43 | lr: 0.1 44 | warmup_epochs: 5 45 | warmup_factor: 0.01 46 | decay_epochs: 195 47 | lr_epoch_stair: True 48 | 49 | # optimizer 50 | opt: 'momentum' 51 | momentum: 0.9 52 | weight_decay: 0.0001 53 | loss_scale: 128 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/regnet/regnet_y_200mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bicubic' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_y_200mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 150 33 | dataset_sink_mode: True 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | warmup_factor: 0.01 45 | decay_epochs: 145 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 5e-5 51 | use_nesterov: False 52 | 53 | # amp 54 | amp_level: 'O2' 55 | loss_scale_type: 'auto' 56 | -------------------------------------------------------------------------------- /configs/regnet/regnet_y_400mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bicubic' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_y_400mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 150 33 | dataset_sink_mode: True 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | warmup_factor: 0.01 45 | decay_epochs: 145 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 5e-5 51 | use_nesterov: False 52 | 53 | # amp 54 | amp_level: 'O2' 55 | loss_scale_type: 'auto' 56 | -------------------------------------------------------------------------------- /configs/regnet/regnet_y_600mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bicubic' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_y_600mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 150 33 | dataset_sink_mode: True 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | warmup_factor: 0.01 45 | decay_epochs: 145 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 5e-5 51 | use_nesterov: False 52 | 53 | # amp 54 | amp_level: 'O2' 55 | loss_scale_type: 'auto' 56 | -------------------------------------------------------------------------------- /configs/regnet/regnet_y_800mf_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | val_while_train: True 5 | val_interval: 1 6 | log_interval: 100 7 | 8 | # dataset 9 | dataset: 'imagenet' 10 | data_dir: '/path/to/imagenet' 11 | shuffle: True 12 | num_parallel_workers: 8 13 | batch_size: 64 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | vflip: 0.0 21 | interpolation: 'bicubic' 22 | color_jitter: 0.4 23 | re_prob: 0.1 24 | 25 | # model 26 | model: 'regnet_y_800mf' 27 | num_classes: 1000 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | ckpt_save_interval: 1 31 | ckpt_save_policy: 'latest_k' 32 | epoch_size: 150 33 | dataset_sink_mode: True 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | warmup_factor: 0.01 45 | decay_epochs: 145 46 | 47 | # optimizer 48 | opt: 'momentum' 49 | momentum: 0.9 50 | weight_decay: 5e-5 51 | use_nesterov: False 52 | 53 | # amp 54 | amp_level: 'O2' 55 | loss_scale_type: 'auto' 56 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_a0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_a0" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: "O0" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 10 42 | decay_epochs: 390 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | eps: 0.00000001 51 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_a1_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_a1" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O0" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | eps: 0.00000001 51 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_a2_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_a2" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O0" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale_type: "dynamic" 49 | drop_overflow_update: True 50 | use_nesterov: False 51 | eps: 0.00000001 52 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_b0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_b0" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O0" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale_type: "dynamic" 49 | drop_overflow_update: True 50 | use_nesterov: False 51 | eps: 0.00000001 52 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_b1_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_b1" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O0" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale_type: "dynamic" 49 | drop_overflow_update: True 50 | use_nesterov: False 51 | eps: 0.00000001 52 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_b1g2_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_b1g2" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "warmup_cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale_type: "dynamic" 49 | drop_overflow_update: True 50 | use_nesterov: False 51 | eps: 0.00000001 52 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_b1g4_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_b1g4" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale_type: "dynamic" 49 | drop_overflow_update: True 50 | use_nesterov: False 51 | eps: 0.00000001 52 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_b2_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_b2" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O0" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.4 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale_type: "dynamic" 49 | drop_overflow_update: True 50 | use_nesterov: False 51 | eps: 0.00000001 52 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_b2g4_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "repvgg_b2g4" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 240 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | lr: 0.05 41 | warmup_epochs: 5 42 | decay_epochs: 235 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale_type: "dynamic" 49 | drop_overflow_update: True 50 | use_nesterov: False 51 | eps: 0.00000001 52 | -------------------------------------------------------------------------------- /configs/repvgg/repvgg_b3_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | auto_augment: "autoaug" 23 | mixup: 0.8 24 | cutmix: 1.0 25 | 26 | # model 27 | model: "repvgg_b3" 28 | num_classes: 1000 29 | pretrained: False 30 | ckpt_path: "" 31 | keep_checkpoint_max: 10 32 | ckpt_save_dir: "./ckpt" 33 | epoch_size: 240 34 | dataset_sink_mode: True 35 | amp_level: "O0" 36 | 37 | # loss 38 | loss: "CE" 39 | label_smoothing: 0.1 40 | 41 | # lr scheduler 42 | scheduler: "cosine_decay" 43 | lr: 0.4 44 | warmup_epochs: 5 45 | decay_epochs: 235 46 | 47 | # optimizer 48 | opt: "momentum" 49 | momentum: 0.9 50 | weight_decay: 0.0001 51 | loss_scale_type: "dynamic" 52 | drop_overflow_update: True 53 | use_nesterov: False 54 | eps: 0.00000001 55 | -------------------------------------------------------------------------------- /configs/res2net/res2net_101_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | 26 | # model 27 | model: "res2net101" 28 | num_classes: 1000 29 | pretrained: False 30 | ckpt_path: "" 31 | keep_checkpoint_max: 10 32 | val_interval: 5 33 | ckpt_save_dir: "./ckpt" 34 | epoch_size: 140 35 | dataset_sink_mode: True 36 | amp_level: "O3" 37 | 38 | # loss 39 | loss: "CE" 40 | label_smoothing: 0.1 41 | 42 | # lr scheduler 43 | scheduler: "step_decay" 44 | min_lr: 0.0 45 | lr: 0.1 46 | warmup_epochs: 0 47 | decay_rate: 0.1 48 | decay_epochs: 30 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.0001 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/res2net/res2net_101_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | mixup: 0.2 26 | 27 | # model 28 | model: "res2net101" 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 10 33 | val_interval: 5 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: "O2" 38 | 39 | # loss 40 | loss: "CE" 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: "cosine_decay" 45 | min_lr: 0.0 46 | lr: 0.1 47 | warmup_epochs: 5 48 | decay_epochs: 295 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.0001 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/res2net/res2net_101_v1b_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | 26 | # model 27 | model: "res2net101_v1b" 28 | num_classes: 1000 29 | pretrained: False 30 | ckpt_path: "" 31 | keep_checkpoint_max: 10 32 | val_interval: 5 33 | ckpt_save_dir: "./ckpt" 34 | epoch_size: 200 35 | dataset_sink_mode: True 36 | amp_level: "O3" 37 | 38 | # loss 39 | loss: "CE" 40 | label_smoothing: 0.1 41 | 42 | # lr scheduler 43 | scheduler: "cosine_decay" 44 | min_lr: 0.0 45 | lr: 0.1 46 | warmup_epochs: 4 47 | decay_epochs: 196 48 | 49 | # optimizer 50 | opt: "momentum" 51 | momentum: 0.9 52 | weight_decay: 0.0001 53 | loss_scale: 1024 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/res2net/res2net_101_v1b_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | mixup: 0.2 26 | 27 | # model 28 | model: "res2net101_v1b" 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 10 33 | val_interval: 5 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: "O2" 38 | 39 | # loss 40 | loss: "CE" 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: "cosine_decay" 45 | min_lr: 0.0 46 | lr: 0.1 47 | warmup_epochs: 5 48 | decay_epochs: 295 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.0001 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/res2net/res2net_50_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | 26 | # model 27 | model: "res2net50" 28 | num_classes: 1000 29 | pretrained: False 30 | ckpt_path: "" 31 | keep_checkpoint_max: 10 32 | val_interval: 5 33 | ckpt_save_dir: "./ckpt" 34 | epoch_size: 200 35 | dataset_sink_mode: True 36 | amp_level: "O3" 37 | 38 | # loss 39 | loss: "CE" 40 | label_smoothing: 0.1 41 | 42 | # lr scheduler 43 | scheduler: "cosine_decay" 44 | min_lr: 0.0 45 | lr: 0.1 46 | warmup_epochs: 4 47 | decay_epochs: 196 48 | 49 | # optimizer 50 | opt: "momentum" 51 | momentum: 0.9 52 | weight_decay: 0.0001 53 | loss_scale: 1024 54 | use_nesterov: False 55 | -------------------------------------------------------------------------------- /configs/res2net/res2net_50_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | mixup: 0.2 26 | 27 | # model 28 | model: "res2net50" 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 10 33 | val_interval: 5 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: "O2" 38 | 39 | # loss 40 | loss: "CE" 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: "cosine_decay" 45 | min_lr: 0.0 46 | lr: 0.1 47 | warmup_epochs: 5 48 | decay_epochs: 295 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.0001 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/res2net/res2net_50_v1b_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | mixup: 0.2 26 | 27 | # model 28 | model: "res2net50_v1b" 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 10 33 | val_interval: 5 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: "O3" 38 | 39 | # loss 40 | loss: "CE" 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: "cosine_decay" 45 | min_lr: 0.0 46 | lr: 0.1 47 | warmup_epochs: 5 48 | decay_epochs: 295 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.0001 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/res2net/res2net_50_v1b_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | val_split: val 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | color_jitter: 0.4 24 | re_prob: 0.5 25 | mixup: 0.2 26 | 27 | # model 28 | model: "res2net50_v1b" 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 10 33 | val_interval: 5 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 300 36 | dataset_sink_mode: True 37 | amp_level: "O2" 38 | 39 | # loss 40 | loss: "CE" 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: "cosine_decay" 45 | min_lr: 0.0 46 | lr: 0.1 47 | warmup_epochs: 5 48 | decay_epochs: 295 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.0001 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/resnest/resnest101_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 256 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | auto_augment: "randaug-m9-mstd0.5-inc1" 22 | re_prob: 0.25 23 | crop_pct: 0.9 24 | mixup: 0.8 25 | cutmix: 1.0 26 | aug_repeats: 3 27 | 28 | # model 29 | model: "resnest101" 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 30 34 | ckpt_save_dir: "./ckpt" 35 | epoch_size: 360 36 | dataset_sink_mode: True 37 | amp_level: "O2" 38 | drop_rate: 0.2 39 | 40 | # loss 41 | loss: "CE" 42 | label_smoothing: 0.1 43 | 44 | # lr scheduler 45 | scheduler: "cosine_decay" 46 | min_lr: 0.0 47 | lr: 0.1 48 | warmup_epochs: 15 49 | decay_epochs: 345 50 | 51 | # optimizer 52 | opt: "momentum" 53 | momentum: 0.9 54 | weight_decay: 0.00009 55 | loss_scale_type: "auto" 56 | use_nesterov: False 57 | -------------------------------------------------------------------------------- /configs/resnest/resnest50_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | auto_augment: "randaug-m9-mstd0.5-inc1" 22 | re_prob: 0.25 23 | crop_pct: 0.875 24 | mixup: 0.8 25 | cutmix: 1.0 26 | 27 | # model 28 | model: "resnest50" 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 30 33 | ckpt_save_dir: "./ckpt" 34 | epoch_size: 350 35 | dataset_sink_mode: True 36 | amp_level: "O2" 37 | drop_rate: 0.2 38 | 39 | # loss 40 | loss: "CE" 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: "cosine_decay" 45 | min_lr: 0.0 46 | lr: 0.06 47 | warmup_epochs: 5 48 | decay_epochs: 345 49 | 50 | # optimizer 51 | opt: "momentum" 52 | momentum: 0.9 53 | weight_decay: 0.0001 54 | loss_scale_type: "dynamic" 55 | drop_overflow_update: True 56 | use_nesterov: False 57 | -------------------------------------------------------------------------------- /configs/resnet/resnet_101_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet101" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_101_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet101" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_152_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet152" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_152_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet152" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_18_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet18" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_18_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet18" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_34_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet34" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_34_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet34" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_50_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet50" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnet/resnet_50_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bilinear" 20 | crop_pct: 0.875 21 | 22 | # model 23 | model: "resnet50" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 30 28 | ckpt_save_dir: "./ckpt" 29 | epoch_size: 120 30 | dataset_sink_mode: True 31 | amp_level: "O2" 32 | 33 | # loss 34 | loss: "CE" 35 | label_smoothing: 0.1 36 | 37 | # lr scheduler 38 | scheduler: "cosine_decay" 39 | min_lr: 0.0 40 | lr: 0.1 41 | warmup_epochs: 0 42 | decay_epochs: 120 43 | 44 | # optimizer 45 | opt: "momentum" 46 | momentum: 0.9 47 | weight_decay: 0.0001 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/resnetv2/resnetv2_101_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "resnetv2_101" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/resnetv2/resnetv2_50_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "resnetv2_50" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 120 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 120 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/resnext/resnext101_32x4d_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "resnext101_32x4d" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/resnext/resnext101_64x4d_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "resnext101_64x4d" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/resnext/resnext152_64x4d_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "resnext152_64x4d" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/resnext/resnext50_32x4d_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bilinear" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "resnext50_32x4d" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/rexnet/rexnet_x09_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 64 14 | drop_remainder: True 15 | 16 | # augmentation 17 | interpolation: "bicubic" 18 | re_prob: 0.2 19 | auto_augment: "randaug-m9-mstd0.5" 20 | re_value: "random" 21 | 22 | # model 23 | model: "rexnet_09" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: "./ckpt" 29 | ckpt_save_policy: "top_k" 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | drop_rate: 0.2 34 | 35 | # loss 36 | loss: "CE" 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: "cosine_decay" 41 | min_lr: 1.0e-6 42 | lr: 0.5 43 | warmup_epochs: 5 44 | decay_epochs: 395 45 | 46 | # optimizer 47 | opt: "sgd" 48 | momentum: 0.9 49 | weight_decay: 1.0e-5 50 | loss_scale: 1024 51 | use_nesterov: True 52 | -------------------------------------------------------------------------------- /configs/rexnet/rexnet_x10_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 64 14 | drop_remainder: True 15 | 16 | # augmentation 17 | interpolation: "bicubic" 18 | re_prob: 0.2 19 | auto_augment: "randaug-m9-mstd0.5" 20 | re_value: "random" 21 | 22 | # model 23 | model: "rexnet_10" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: "./ckpt" 29 | ckpt_save_policy: "top_k" 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | drop_rate: 0.2 34 | 35 | # loss 36 | loss: "CE" 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: "cosine_decay" 41 | min_lr: 1.0e-6 42 | lr: 0.5 43 | warmup_epochs: 5 44 | decay_epochs: 395 45 | 46 | # optimizer 47 | opt: "sgd" 48 | momentum: 0.9 49 | weight_decay: 1.0e-5 50 | loss_scale: 1024 51 | use_nesterov: True 52 | -------------------------------------------------------------------------------- /configs/rexnet/rexnet_x13_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 64 14 | drop_remainder: True 15 | 16 | # augmentation 17 | interpolation: "bicubic" 18 | re_prob: 0.2 19 | auto_augment: "randaug-m9-mstd0.5" 20 | re_value: "random" 21 | 22 | # model 23 | model: "rexnet_13" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: "./ckpt" 29 | ckpt_save_policy: "top_k" 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | drop_rate: 0.2 34 | 35 | # loss 36 | loss: "CE" 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: "cosine_decay" 41 | min_lr: 1.0e-6 42 | lr: 0.5 43 | warmup_epochs: 5 44 | decay_epochs: 395 45 | 46 | # optimizer 47 | opt: "sgd" 48 | momentum: 0.9 49 | weight_decay: 1.0e-5 50 | loss_scale: 1024 51 | use_nesterov: True 52 | -------------------------------------------------------------------------------- /configs/rexnet/rexnet_x15_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 64 14 | drop_remainder: True 15 | 16 | # augmentation 17 | interpolation: "bicubic" 18 | re_prob: 0.2 19 | auto_augment: "randaug-m9-mstd0.5" 20 | re_value: "random" 21 | 22 | # model 23 | model: "rexnet_15" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: "./ckpt" 29 | ckpt_save_policy: "top_k" 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | drop_rate: 0.2 34 | drop_path_rate: 0.1 35 | 36 | # loss 37 | loss: "CE" 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: "cosine_decay" 42 | min_lr: 1.0e-6 43 | lr: 0.5 44 | warmup_epochs: 30 45 | decay_epochs: 370 46 | 47 | # optimizer 48 | opt: "sgd" 49 | momentum: 0.9 50 | weight_decay: 1.0e-5 51 | loss_scale: 1024 52 | use_nesterov: True 53 | -------------------------------------------------------------------------------- /configs/rexnet/rexnet_x20_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 64 14 | drop_remainder: True 15 | 16 | # augmentation 17 | interpolation: "bicubic" 18 | re_prob: 0.2 19 | auto_augment: "randaug-m9-mstd0.5" 20 | re_value: "random" 21 | 22 | # model 23 | model: "rexnet_20" 24 | num_classes: 1000 25 | pretrained: False 26 | ckpt_path: "" 27 | keep_checkpoint_max: 10 28 | ckpt_save_dir: "./ckpt" 29 | ckpt_save_policy: "top_k" 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | drop_rate: 0.2 34 | drop_path_rate: 0.1 35 | 36 | # loss 37 | loss: "CE" 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: "cosine_decay" 42 | min_lr: 1.0e-6 43 | lr: 0.5 44 | warmup_epochs: 30 45 | decay_epochs: 370 46 | 47 | # optimizer 48 | opt: "sgd" 49 | momentum: 0.9 50 | weight_decay: 1.0e-5 51 | loss_scale: 1024 52 | use_nesterov: True 53 | -------------------------------------------------------------------------------- /configs/senet/seresnet18_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "seresnet18" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "warmup_cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.075 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/senet/seresnet34_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "seresnet34" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "warmup_cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.075 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/senet/seresnet50_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "seresnet50" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "warmup_cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.075 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/senet/seresnext26_32x4d_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "seresnext26_32x4d" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "warmup_cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.075 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/senet/seresnext50_32x4d_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "seresnext50_32x4d" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 150 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "warmup_cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.075 42 | warmup_epochs: 0 43 | decay_epochs: 150 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/shufflenetv1/shufflenet_v1_0.5_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | hflip: 0.5 17 | color_jitter: 0.4 18 | interpolation: "bilinear" 19 | crop_pct: 0.875 20 | 21 | # model 22 | model: "shufflenet_v1_g3_05" 23 | num_classes: 1000 24 | pretrained: False 25 | ckpt_path: "" 26 | keep_checkpoint_max: 30 27 | ckpt_save_dir: "./ckpt" 28 | epoch_size: 250 29 | dataset_sink_mode: True 30 | amp_level: "O0" 31 | 32 | # loss 33 | loss: "CE" 34 | label_smoothing: 0.1 35 | 36 | # lr scheduler 37 | scheduler: "cosine_decay" 38 | min_lr: 0.0 39 | lr: 0.35 40 | warmup_epochs: 4 41 | decay_epochs: 246 42 | 43 | # optimizer 44 | opt: "momentum" 45 | weight_decay_filter: 'auto' 46 | momentum: 0.9 47 | weight_decay: 0.00004 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/shufflenetv1/shufflenet_v1_1.0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: "imagenet" 8 | data_dir: "/path/to/imagenet" 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 64 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | hflip: 0.5 17 | color_jitter: 0.4 18 | interpolation: "bilinear" 19 | crop_pct: 0.875 20 | 21 | # model 22 | model: "shufflenet_v1_g3_10" 23 | num_classes: 1000 24 | pretrained: False 25 | ckpt_path: "" 26 | keep_checkpoint_max: 30 27 | ckpt_save_dir: "./ckpt" 28 | epoch_size: 250 29 | dataset_sink_mode: True 30 | amp_level: "O0" 31 | 32 | # loss 33 | loss: "CE" 34 | label_smoothing: 0.1 35 | 36 | # lr scheduler 37 | scheduler: "cosine_decay" 38 | min_lr: 0.0 39 | lr: 0.4 40 | warmup_epochs: 4 41 | decay_epochs: 246 42 | 43 | # optimizer 44 | opt: "momentum" 45 | weight_decay_filter: 'auto' 46 | momentum: 0.9 47 | weight_decay: 0.00004 48 | loss_scale: 1024 49 | use_nesterov: False 50 | -------------------------------------------------------------------------------- /configs/shufflenetv2/shufflenet_v2_0.5_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | color_jitter: 0.4 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | # re_prob: 0.5 22 | 23 | # model 24 | model: 'shufflenet_v2_x0_5' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 250 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.35 42 | warmup_epochs: 4 43 | decay_epochs: 246 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | weight_decay_filter: 'auto' 48 | momentum: 0.9 49 | weight_decay: 0.00004 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/shufflenetv2/shufflenet_v2_1.0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/data/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | color_jitter: 0.4 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | re_prob: 0.5 22 | 23 | # model 24 | model: 'shufflenet_v2_x1_0' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 300 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.4 42 | warmup_epochs: 5 43 | decay_epochs: 295 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | weight_decay_filter: 'auto' 48 | momentum: 0.9 49 | weight_decay: 0.00004 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/shufflenetv2/shufflenet_v2_1.5_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/data/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | color_jitter: 0.4 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | re_prob: 0.5 22 | 23 | # model 24 | model: 'shufflenet_v2_x1_5' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 300 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.5 42 | warmup_epochs: 5 43 | decay_epochs: 295 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | weight_decay_filter: 'auto' 48 | momentum: 0.9 49 | weight_decay: 0.00004 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/shufflenetv2/shufflenet_v2_2.0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/data/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | color_jitter: 0.4 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | re_prob: 0.25 22 | 23 | # model 24 | model: 'shufflenet_v2_x2_0' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 300 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | min_lr: 0.0 41 | lr: 0.5 42 | warmup_epochs: 5 43 | decay_epochs: 295 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | weight_decay_filter: 'auto' 48 | momentum: 0.9 49 | weight_decay: 0.00004 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/sknet/skresnet18_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_interval: 1 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: "bicubic" 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: "skresnet18" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 200 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 5 43 | decay_epochs: 195 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.00004 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/sknet/skresnet34_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | val_interval: 1 7 | 8 | # dataset 9 | dataset: "imagenet" 10 | data_dir: "/path/to/imagenet" 11 | shuffle: True 12 | dataset_download: False 13 | batch_size: 32 14 | drop_remainder: True 15 | 16 | # augmentation 17 | image_resize: 224 18 | scale: [0.08, 1.0] 19 | ratio: [0.75, 1.333] 20 | hflip: 0.5 21 | interpolation: "bilinear" 22 | crop_pct: 0.875 23 | re_prob: 0.25 24 | 25 | # model 26 | model: "skresnet34" 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: "" 30 | keep_checkpoint_max: 30 31 | ckpt_save_dir: "./ckpt" 32 | epoch_size: 250 33 | dataset_sink_mode: True 34 | amp_level: "O2" 35 | 36 | # loss 37 | loss: "CE" 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: "cosine_decay" 42 | min_lr: 0.0 43 | lr: 0.1 44 | warmup_epochs: 5 45 | decay_epochs: 245 46 | warmup_factor: 0.01 47 | 48 | # optimizer 49 | opt: "momentum" 50 | momentum: 0.9 51 | weight_decay: 0.00004 52 | loss_scale: 128 53 | use_nesterov: False 54 | -------------------------------------------------------------------------------- /configs/sknet/skresnext50_32x4d_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_interval: 1 6 | 7 | # dataset 8 | dataset: "imagenet" 9 | data_dir: "/path/to/imagenet" 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: "bicubic" 20 | crop_pct: 0.875 21 | re_prob: 0.1 22 | 23 | # model 24 | model: "skresnext50_32x4d" 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: "" 28 | keep_checkpoint_max: 30 29 | ckpt_save_dir: "./ckpt" 30 | epoch_size: 200 31 | dataset_sink_mode: True 32 | amp_level: "O2" 33 | 34 | # loss 35 | loss: "CE" 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: "cosine_decay" 40 | min_lr: 0.0 41 | lr: 0.1 42 | warmup_epochs: 5 43 | decay_epochs: 195 44 | 45 | # optimizer 46 | opt: "momentum" 47 | momentum: 0.9 48 | weight_decay: 0.0001 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/squeezenet/squeezenet_1.0_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | re_prob: 0.25 23 | 24 | # model 25 | model: 'squeezenet1_0' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 10 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O0' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'warmup_cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 5 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | momentum: 0.9 49 | weight_decay: 0.0001 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/squeezenet/squeezenet_1.0_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | color_jitter: [0.4, 0.4, 0.4] 22 | re_prob: 0.5 23 | 24 | # model 25 | model: 'squeezenet1_0' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 10 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O0' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.01 43 | warmup_epochs: 0 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | momentum: 0.9 49 | weight_decay: 0.00007 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/squeezenet/squeezenet_1.1_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | re_prob: 0.25 23 | 24 | # model 25 | model: 'squeezenet1_1' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 10 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O2' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'warmup_cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.1 43 | warmup_epochs: 0 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | momentum: 0.9 49 | weight_decay: 0.0002 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/squeezenet/squeezenet_1.1_gpu.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | 6 | # dataset 7 | dataset: 'imagenet' 8 | data_dir: '/path/to/imagenet' 9 | shuffle: True 10 | dataset_download: False 11 | batch_size: 32 12 | drop_remainder: True 13 | 14 | # augmentation 15 | image_resize: 224 16 | scale: [0.08, 1.0] 17 | ratio: [0.75, 1.333] 18 | hflip: 0.5 19 | interpolation: 'bilinear' 20 | crop_pct: 0.875 21 | color_jitter: [0.4, 0.4, 0.4] 22 | re_prob: 0.5 23 | 24 | # model 25 | model: 'squeezenet1_1' 26 | num_classes: 1000 27 | pretrained: False 28 | ckpt_path: '' 29 | keep_checkpoint_max: 10 30 | ckpt_save_dir: './ckpt' 31 | epoch_size: 200 32 | dataset_sink_mode: True 33 | amp_level: 'O0' 34 | 35 | # loss 36 | loss: 'CE' 37 | label_smoothing: 0.1 38 | 39 | # lr scheduler 40 | scheduler: 'cosine_decay' 41 | min_lr: 0.0 42 | lr: 0.01 43 | warmup_epochs: 0 44 | decay_epochs: 200 45 | 46 | # optimizer 47 | opt: 'momentum' 48 | momentum: 0.9 49 | weight_decay: 0.00007 50 | loss_scale: 1024 51 | use_nesterov: False 52 | -------------------------------------------------------------------------------- /configs/swintransformerv2/swinv2_tiny_window8_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 256 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bicubic' 21 | auto_augment: 'randaug-m9-mstd0.5-inc1' 22 | re_prob: 0.25 23 | crop_pct: 0.9 24 | mixup: 0.8 25 | cutmix: 1.0 26 | 27 | # model 28 | model: 'swinv2_tiny_window8' 29 | num_classes: 1000 30 | pretrained: False 31 | ckpt_path: "" 32 | keep_checkpoint_max: 10 33 | ckpt_save_dir: './ckpt' 34 | epoch_size: 450 35 | drop_path_rate: 0.2 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | 39 | # loss 40 | loss: 'ce' 41 | label_smoothing: 0.1 42 | 43 | # lr scheduler 44 | scheduler: 'cosine_decay' 45 | lr: 0.001 46 | min_lr: 0.000001 47 | decay_epochs: 430 48 | warmup_epochs: 20 49 | 50 | # optimizer 51 | opt: 'adamw' 52 | momentum: 0.9 53 | weight_decay: 0.05 54 | loss_scale: 1024 55 | use_nesterov: False 56 | -------------------------------------------------------------------------------- /configs/vgg/vgg11_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'vgg11' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 200 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'warmup_cosine_decay' 40 | lr: 0.01 41 | min_lr: 0.0001 42 | decay_epochs: 198 43 | warmup_epochs: 2 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.00004 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/vgg/vgg13_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'vgg13' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 200 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'warmup_cosine_decay' 40 | lr: 0.01 41 | min_lr: 0.0001 42 | decay_epochs: 198 43 | warmup_epochs: 2 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.00004 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/vgg/vgg16_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'vgg16' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 200 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'warmup_cosine_decay' 40 | lr: 0.01 41 | min_lr: 0.0001 42 | decay_epochs: 198 43 | warmup_epochs: 2 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.00004 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/vgg/vgg19_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: 'path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | crop_pct: 0.875 22 | 23 | # model 24 | model: 'vgg19' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 200 31 | dataset_sink_mode: True 32 | amp_level: 'O2' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'warmup_cosine_decay' 40 | lr: 0.01 41 | min_lr: 0.0001 42 | decay_epochs: 198 43 | warmup_epochs: 2 44 | 45 | # optimizer 46 | opt: 'momentum' 47 | momentum: 0.9 48 | weight_decay: 0.00004 49 | loss_scale: 1024 50 | use_nesterov: False 51 | -------------------------------------------------------------------------------- /configs/visformer/visformer_small_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | interpolation: 'bicubic' 17 | re_prob: 0.25 18 | mixup: 0.8 19 | cutmix: 1.0 20 | cutmix_prob: 1.0 21 | auto_augment: autoaug 22 | 23 | # model 24 | model: 'visformer_small' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 300 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | lr_epoch_stair: True 41 | lr: 0.0005 42 | min_lr: 0.00001 43 | warmup_factor: 0.002 44 | warmup_epochs: 5 45 | decay_epochs: 295 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | momentum: 0.9 50 | weight_decay: 0.05 51 | loss_scale: 1024 52 | -------------------------------------------------------------------------------- /configs/visformer/visformer_small_v2_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 64 13 | drop_remainder: True 14 | 15 | # augmentation 16 | interpolation: 'bicubic' 17 | re_prob: 0.25 18 | mixup: 0.8 19 | cutmix: 1.0 20 | cutmix_prob: 1.0 21 | auto_augment: autoaug 22 | 23 | # model 24 | model: 'visformer_small_v2' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 300 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | lr_epoch_stair: True 41 | lr: 0.0005 42 | min_lr: 0.00001 43 | warmup_factor: 0.002 44 | warmup_epochs: 5 45 | decay_epochs: 295 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | momentum: 0.9 50 | weight_decay: 0.05 51 | loss_scale: 1024 52 | -------------------------------------------------------------------------------- /configs/visformer/visformer_tiny_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | interpolation: 'bicubic' 17 | re_prob: 0.25 18 | mixup: 0.8 19 | cutmix: 1.0 20 | cutmix_prob: 1.0 21 | auto_augment: autoaug 22 | 23 | # model 24 | model: 'visformer_tiny' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 300 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | lr_epoch_stair: True 41 | lr: 0.0005 42 | min_lr: 0.00001 43 | warmup_factor: 0.002 44 | warmup_epochs: 5 45 | decay_epochs: 295 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | momentum: 0.9 50 | weight_decay: 0.05 51 | loss_scale: 1024 52 | -------------------------------------------------------------------------------- /configs/visformer/visformer_tiny_v2_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 256 13 | drop_remainder: True 14 | 15 | # augmentation 16 | interpolation: 'bicubic' 17 | re_prob: 0.25 18 | mixup: 0.8 19 | cutmix: 1.0 20 | cutmix_prob: 1.0 21 | auto_augment: autoaug 22 | 23 | # model 24 | model: 'visformer_tiny_v2' 25 | num_classes: 1000 26 | pretrained: False 27 | ckpt_path: '' 28 | keep_checkpoint_max: 10 29 | ckpt_save_dir: './ckpt' 30 | epoch_size: 400 31 | dataset_sink_mode: True 32 | amp_level: 'O3' 33 | 34 | # loss 35 | loss: 'CE' 36 | label_smoothing: 0.1 37 | 38 | # lr scheduler 39 | scheduler: 'cosine_decay' 40 | lr_epoch_stair: True 41 | lr: 0.001 42 | min_lr: 0.00002 43 | warmup_factor: 0.002 44 | warmup_epochs: 5 45 | decay_epochs: 295 46 | 47 | # optimizer 48 | opt: 'adamw' 49 | momentum: 0.9 50 | weight_decay: 0.05 51 | loss_scale: 1024 52 | -------------------------------------------------------------------------------- /configs/xception/xception_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 8 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 32 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 299 17 | scale: [0.08, 1.0] 18 | ratio: [0.75, 1.333] 19 | hflip: 0.5 20 | interpolation: 'bilinear' 21 | auto_augment: 'autoaug' 22 | re_prob: 0.25 23 | crop_pct: 0.875 24 | 25 | # model 26 | model: 'xception' 27 | num_classes: 1000 28 | pretrained: False 29 | ckpt_path: '' 30 | keep_checkpoint_max: 10 31 | ckpt_save_dir: './ckpt' 32 | epoch_size: 200 33 | dataset_sink_mode: True 34 | amp_level: 'O2' 35 | 36 | # loss 37 | loss: 'CE' 38 | label_smoothing: 0.1 39 | 40 | # lr scheduler 41 | scheduler: 'warmup_cosine_decay' 42 | lr: 0.045 43 | min_lr: 0.0 44 | decay_epochs: 195 45 | warmup_epochs: 5 46 | 47 | # optimizer 48 | opt: 'sgd' 49 | momentum: 0.9 50 | weight_decay: 0.00001 51 | loss_scale: 1024 52 | use_nesterov: False 53 | -------------------------------------------------------------------------------- /configs/xcit/xcit_tiny_12_p16_ascend.yaml: -------------------------------------------------------------------------------- 1 | # system 2 | mode: 0 3 | distribute: True 4 | num_parallel_workers: 16 5 | val_while_train: True 6 | 7 | # dataset 8 | dataset: 'imagenet' 9 | data_dir: '/path/to/imagenet' 10 | shuffle: True 11 | dataset_download: False 12 | batch_size: 128 13 | drop_remainder: True 14 | 15 | # augmentation 16 | image_resize: 224 17 | hflip: 0.5 18 | color_jitter: 0.4 19 | interpolation: 'bicubic' 20 | crop_pct: 0.875 21 | re_prob: 0.25 22 | mixup: 0.8 23 | cutmix: 1.0 24 | auto_augment: 'randaug-m9-mstd0.5-inc1' 25 | ema: True 26 | ema_decay: 0.99996 27 | 28 | # model 29 | model: 'xcit_tiny_12_p16_224' 30 | num_classes: 1000 31 | pretrained: False 32 | ckpt_path: "" 33 | keep_checkpoint_max: 30 34 | ckpt_save_dir: './ckpt' 35 | epoch_size: 500 36 | dataset_sink_mode: True 37 | amp_level: 'O2' 38 | drop_rate: 0.0 39 | drop_path_rate: 0.0 40 | 41 | # loss 42 | loss: 'CE' 43 | label_smoothing: 0.1 44 | 45 | # lr scheduler 46 | scheduler: 'cosine_decay' 47 | min_lr: 0.00001 48 | lr: 0.0005 49 | warmup_epochs: 40 50 | decay_epochs: 460 51 | decay_rate: 0.1 52 | 53 | # optimizer 54 | opt: 'adamw' 55 | weight_decay: 0.05 56 | loss_scale: 1024 57 | use_nesterov: False 58 | -------------------------------------------------------------------------------- /docs/en/modelzoo.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide: 3 | - navigation 4 | - toc 5 | --- 6 | 7 | # Model Zoo 8 | 9 | {% include-markdown "../../benchmark_results.md" %} 10 | -------------------------------------------------------------------------------- /docs/en/notes/changelog.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | Coming soon. 4 | -------------------------------------------------------------------------------- /docs/en/notes/code_of_conduct.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | Coming soon. 4 | -------------------------------------------------------------------------------- /docs/en/notes/contributing.md: -------------------------------------------------------------------------------- 1 | {% include-markdown "../../../CONTRIBUTING.md" %} 2 | -------------------------------------------------------------------------------- /docs/en/notes/faq.md: -------------------------------------------------------------------------------- 1 | # FAQ 2 | 3 | Coming soon. 4 | -------------------------------------------------------------------------------- /docs/en/reference/data.md: -------------------------------------------------------------------------------- 1 | # Data 2 | 3 | 4 | ## Auto Augmentation 5 | 6 | ### ::: mindcv.data.auto_augment.auto_augment_transform 7 | 8 | ### ::: mindcv.data.auto_augment.rand_augment_transform 9 | 10 | ### ::: mindcv.data.auto_augment.trivial_augment_wide_transform 11 | 12 | ### ::: mindcv.data.auto_augment.augment_and_mix_transform 13 | 14 | 15 | ## Dataset Factory 16 | 17 | ### ::: mindcv.data.dataset_factory.create_dataset 18 | 19 | 20 | ## Sampler 21 | 22 | ### ::: mindcv.data.distributed_sampler.RepeatAugSampler 23 | 24 | 25 | ## DataLoader 26 | 27 | ### ::: mindcv.data.loader.create_loader 28 | 29 | 30 | ## MixUp 31 | 32 | ### ::: mindcv.data.mixup.Mixup 33 | options: 34 | members: false 35 | 36 | 37 | ## Transform Factory 38 | 39 | ### ::: mindcv.data.transforms_factory.create_transforms 40 | -------------------------------------------------------------------------------- /docs/en/reference/loss.md: -------------------------------------------------------------------------------- 1 | # Loss 2 | 3 | 4 | ## Loss Factory 5 | 6 | ### ::: mindcv.loss.loss_factory.create_loss 7 | 8 | 9 | ## Cross Entropy 10 | 11 | ### ::: mindcv.loss.cross_entropy_smooth.CrossEntropySmooth 12 | 13 | 14 | ## Binary Cross Entropy 15 | 16 | ### ::: mindcv.loss.binary_cross_entropy_smooth.BinaryCrossEntropySmooth 17 | -------------------------------------------------------------------------------- /docs/en/reference/models.layers.md: -------------------------------------------------------------------------------- 1 | # Common Layers in Model 2 | 3 | 4 | ## Activation 5 | 6 | ### ::: mindcv.models.layers.activation.Swish 7 | 8 | 9 | ## DropPath 10 | 11 | ### ::: mindcv.models.layers.drop_path.DropPath 12 | 13 | 14 | ## Identity 15 | 16 | ### ::: mindcv.models.layers.identity.Identity 17 | 18 | 19 | ## MLP 20 | 21 | ### ::: mindcv.models.layers.mlp.Mlp 22 | 23 | 24 | ## Patch Embedding 25 | 26 | ### ::: mindcv.models.layers.patch_embed.PatchEmbed 27 | 28 | 29 | ## Pooling 30 | 31 | ### ::: mindcv.models.layers.pooling.GlobalAvgPooling 32 | 33 | 34 | ## Selective Kernel 35 | 36 | ### ::: mindcv.models.layers.selective_kernel.SelectiveKernelAttn 37 | 38 | ### ::: mindcv.models.layers.selective_kernel.SelectiveKernel 39 | 40 | 41 | ## Squeeze and Excite 42 | 43 | ### ::: mindcv.models.layers.squeeze_excite.SqueezeExcite 44 | 45 | ### ::: mindcv.models.layers.squeeze_excite.SqueezeExciteV2 46 | -------------------------------------------------------------------------------- /docs/en/reference/optim.md: -------------------------------------------------------------------------------- 1 | # Optimizer 2 | 3 | 4 | ## Optimizer Factory 5 | 6 | ### ::: mindcv.optim.optim_factory.create_optimizer 7 | 8 | 9 | ## AdamW 10 | 11 | ### ::: mindcv.optim.adamw.AdamW 12 | 13 | 14 | ## Adan 15 | 16 | ### ::: mindcv.optim.adan.Adan 17 | 18 | 19 | ## Lion 20 | 21 | ### ::: mindcv.optim.lion.Lion 22 | 23 | 24 | ## NAdam 25 | 26 | ### ::: mindcv.optim.nadam.NAdam 27 | -------------------------------------------------------------------------------- /docs/en/reference/scheduler.md: -------------------------------------------------------------------------------- 1 | # Learning Rate Scheduler 2 | 3 | 4 | ## Scheduler Factory 5 | 6 | ### ::: mindcv.scheduler.scheduler_factory.create_scheduler 7 | 8 | 9 | ## ::: mindcv.scheduler.dynamic_lr 10 | -------------------------------------------------------------------------------- /docs/en/reference/utils.md: -------------------------------------------------------------------------------- 1 | # Utility 2 | 3 | 4 | ## Logger 5 | 6 | ### ::: mindcv.utils.logger.set_logger 7 | 8 | 9 | ## Callbacks 10 | 11 | ### ::: mindcv.utils.callbacks.StateMonitor 12 | 13 | ### ::: mindcv.utils.callbacks.ValCallback 14 | 15 | 16 | ## Train Step 17 | 18 | ### ::: mindcv.utils.train_step.TrainStep 19 | 20 | 21 | ## Trainer Factory 22 | 23 | ### ::: mindcv.utils.trainer_factory.create_trainer 24 | -------------------------------------------------------------------------------- /docs/zh/modelzoo.md: -------------------------------------------------------------------------------- 1 | --- 2 | hide: 3 | - navigation 4 | - toc 5 | --- 6 | 7 | # 模型仓库 8 | 9 | {% include-markdown "../../benchmark_results.md" %} 10 | -------------------------------------------------------------------------------- /docs/zh/notes/changelog.md: -------------------------------------------------------------------------------- 1 | # 更新日志 2 | 3 | 即将到来 4 | -------------------------------------------------------------------------------- /docs/zh/notes/code_of_conduct.md: -------------------------------------------------------------------------------- 1 | # 行为准则 2 | 3 | 即将到来 4 | -------------------------------------------------------------------------------- /docs/zh/notes/contributing.md: -------------------------------------------------------------------------------- 1 | {% include-markdown "../../../CONTRIBUTING.md" %} 2 | -------------------------------------------------------------------------------- /docs/zh/notes/faq.md: -------------------------------------------------------------------------------- 1 | # 常见问题 2 | 3 | 即将到来 4 | -------------------------------------------------------------------------------- /docs/zh/reference/data.md: -------------------------------------------------------------------------------- 1 | # Data 2 | 3 | 4 | ## Auto Augmentation 5 | 6 | ### ::: mindcv.data.auto_augment.auto_augment_transform 7 | 8 | ### ::: mindcv.data.auto_augment.rand_augment_transform 9 | 10 | ### ::: mindcv.data.auto_augment.trivial_augment_wide_transform 11 | 12 | ### ::: mindcv.data.auto_augment.augment_and_mix_transform 13 | 14 | 15 | ## Dataset Factory 16 | 17 | ### ::: mindcv.data.dataset_factory.create_dataset 18 | 19 | 20 | ## Sampler 21 | 22 | ### ::: mindcv.data.distributed_sampler.RepeatAugSampler 23 | 24 | 25 | ## DataLoader 26 | 27 | ### ::: mindcv.data.loader.create_loader 28 | 29 | 30 | ## MixUp 31 | 32 | ### ::: mindcv.data.mixup.Mixup 33 | options: 34 | members: false 35 | 36 | 37 | ## Transform Factory 38 | 39 | ### ::: mindcv.data.transforms_factory.create_transforms 40 | -------------------------------------------------------------------------------- /docs/zh/reference/loss.md: -------------------------------------------------------------------------------- 1 | # Loss 2 | 3 | 4 | ## Loss Factory 5 | 6 | ### ::: mindcv.loss.loss_factory.create_loss 7 | 8 | 9 | ## Cross Entropy 10 | 11 | ### ::: mindcv.loss.cross_entropy_smooth.CrossEntropySmooth 12 | 13 | 14 | ## Binary Cross Entropy 15 | 16 | ### ::: mindcv.loss.binary_cross_entropy_smooth.BinaryCrossEntropySmooth 17 | -------------------------------------------------------------------------------- /docs/zh/reference/models.layers.md: -------------------------------------------------------------------------------- 1 | # Common Layers in Model 2 | 3 | 4 | ## Activation 5 | 6 | ### ::: mindcv.models.layers.activation.Swish 7 | 8 | 9 | ## DropPath 10 | 11 | ### ::: mindcv.models.layers.drop_path.DropPath 12 | 13 | 14 | ## Identity 15 | 16 | ### ::: mindcv.models.layers.identity.Identity 17 | 18 | 19 | ## MLP 20 | 21 | ### ::: mindcv.models.layers.mlp.Mlp 22 | 23 | 24 | ## Patch Embedding 25 | 26 | ### ::: mindcv.models.layers.patch_embed.PatchEmbed 27 | 28 | 29 | ## Pooling 30 | 31 | ### ::: mindcv.models.layers.pooling.GlobalAvgPooling 32 | 33 | 34 | ## Selective Kernel 35 | 36 | ### ::: mindcv.models.layers.selective_kernel.SelectiveKernelAttn 37 | 38 | ### ::: mindcv.models.layers.selective_kernel.SelectiveKernel 39 | 40 | 41 | ## Squeeze and Excite 42 | 43 | ### ::: mindcv.models.layers.squeeze_excite.SqueezeExcite 44 | 45 | ### ::: mindcv.models.layers.squeeze_excite.SqueezeExciteV2 46 | -------------------------------------------------------------------------------- /docs/zh/reference/optim.md: -------------------------------------------------------------------------------- 1 | # Optimizer 2 | 3 | 4 | ## Optimizer Factory 5 | 6 | ### ::: mindcv.optim.optim_factory.create_optimizer 7 | 8 | 9 | ## AdamW 10 | 11 | ### ::: mindcv.optim.adamw.AdamW 12 | 13 | 14 | ## Adan 15 | 16 | ### ::: mindcv.optim.adan.Adan 17 | 18 | 19 | ## Lion 20 | 21 | ### ::: mindcv.optim.lion.Lion 22 | 23 | 24 | ## NAdam 25 | 26 | ### ::: mindcv.optim.nadam.NAdam 27 | -------------------------------------------------------------------------------- /docs/zh/reference/scheduler.md: -------------------------------------------------------------------------------- 1 | # Learning Rate Scheduler 2 | 3 | 4 | ## Scheduler Factory 5 | 6 | ### ::: mindcv.scheduler.scheduler_factory.create_scheduler 7 | 8 | 9 | ## ::: mindcv.scheduler.dynamic_lr 10 | -------------------------------------------------------------------------------- /docs/zh/reference/utils.md: -------------------------------------------------------------------------------- 1 | # Utility 2 | 3 | 4 | ## Logger 5 | 6 | ### ::: mindcv.utils.logger.set_logger 7 | 8 | 9 | ## Callbacks 10 | 11 | ### ::: mindcv.utils.callbacks.StateMonitor 12 | 13 | ### ::: mindcv.utils.callbacks.ValCallback 14 | 15 | 16 | ## Train Step 17 | 18 | ### ::: mindcv.utils.train_step.TrainStep 19 | 20 | 21 | ## Trainer Factory 22 | 23 | ### ::: mindcv.utils.trainer_factory.create_trainer 24 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # Examples based on MindCV 2 | 3 | This folder contains examples for various downstream tasks, which users can run easily. 4 | 5 | ## Finetune 6 | 7 | - A detailed [sample](./finetune), aimed to easily adapt pretrained models to customized datasets. 8 | 9 | ## Detection 10 | 11 | - [SSD](./det/ssd) 12 | 13 | ## Segmentation 14 | 15 | - [DeepLabV3 & DeepLabV3+](./seg/deeplabv3) 16 | 17 | ## Vision Foundation Models 18 | 19 | - coming soon. 20 | -------------------------------------------------------------------------------- /examples/clip/CLIP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mindspore-lab/mindcv/d845ef98d4f730da5cc175ecf11cd3f841ba5fe0/examples/clip/CLIP.png -------------------------------------------------------------------------------- /examples/clip/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include clip/bpe_simple_vocab_16e6.txt.gz 2 | -------------------------------------------------------------------------------- /examples/clip/clip/__init__.py: -------------------------------------------------------------------------------- 1 | from .clip import * 2 | -------------------------------------------------------------------------------- /examples/clip/clip/bpe_simple_vocab_16e6.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mindspore-lab/mindcv/d845ef98d4f730da5cc175ecf11cd3f841ba5fe0/examples/clip/clip/bpe_simple_vocab_16e6.txt.gz -------------------------------------------------------------------------------- /examples/clip/data/country211.md: -------------------------------------------------------------------------------- 1 | # The Country211 Dataset 2 | 3 | In the paper, we used an image classification dataset called Country211, to evaluate the model's capability on geolocation. To do so, we filtered the YFCC100m dataset that have GPS coordinate corresponding to a [ISO-3166 country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) and created a balanced dataset by sampling 150 train images, 50 validation images, and 100 test images images for each country. 4 | 5 | The following command will download an 11GB archive countaining the images and extract into a subdirectory `country211`: 6 | 7 | ```bash 8 | wget https://openaipublic.azureedge.net/clip/data/country211.tgz 9 | tar zxvf country211.tgz 10 | ``` 11 | 12 | These images are a subset of the YFCC100m dataset. Use of the underlying media files is subject to the Creative Commons licenses chosen by their creators/uploaders. For more information about the YFCC100M dataset, visit [the official website](https://multimediacommons.wordpress.com/yfcc100m-core-dataset/). 13 | -------------------------------------------------------------------------------- /examples/clip/data/rendered-sst2.md: -------------------------------------------------------------------------------- 1 | # The Rendered SST2 Dataset 2 | 3 | In the paper, we used an image classification dataset called Rendered SST2, to evaluate the model's capability on optical character recognition. To do so, we rendered the sentences in the [Standford Sentiment Treebank v2](https://nlp.stanford.edu/sentiment/treebank.html) dataset and used those as the input to the CLIP image encoder. 4 | 5 | The following command will download a 131MB archive countaining the images and extract into a subdirectory `rendered-sst2`: 6 | 7 | ```bash 8 | wget https://openaipublic.azureedge.net/clip/data/rendered-sst2.tgz 9 | tar zxvf rendered-sst2.tgz 10 | ``` 11 | -------------------------------------------------------------------------------- /examples/clip/data/yfcc100m.md: -------------------------------------------------------------------------------- 1 | # The YFCC100M Subset 2 | 3 | In the paper, we performed a dataset ablation using a subset of the YFCC100M dataset and showed that the performance remained largely similar. 4 | 5 | The subset contains 14,829,396 images, about 15% of the full dataset, which have been filtered to only keep those with natural languag titles and/or descriptions in English. 6 | 7 | We provide the list of (line number, photo identifier, photo hash) of each image contained in this subset. These correspond to the first three columns in the dataset's metadata TSV file. 8 | 9 | ```bash 10 | wget https://openaipublic.azureedge.net/clip/data/yfcc100m_subset_data.tsv.bz2 11 | bunzip2 yfcc100m_subset_data.tsv.bz2 12 | ``` 13 | 14 | Use of the underlying media files is subject to the Creative Commons licenses chosen by their creators/uploaders. For more information about the YFCC100M dataset, visit [the official website](https://multimediacommons.wordpress.com/yfcc100m-core-dataset/). 15 | -------------------------------------------------------------------------------- /examples/clip/requirements.txt: -------------------------------------------------------------------------------- 1 | ftfy 2 | regex 3 | tqdm 4 | -------------------------------------------------------------------------------- /examples/clip/tests/test_consistency.py: -------------------------------------------------------------------------------- 1 | import clip 2 | import numpy as np 3 | import pytest 4 | from PIL import Image 5 | 6 | from mindspore.ops import softmax 7 | 8 | 9 | @pytest.mark.parametrize("model_name", clip.available_models()) 10 | def test_consistency(model_name): 11 | device = "cpu" 12 | model, transform = clip.load(model_name, device=device) 13 | py_model, _ = clip.load(model_name, device=device) 14 | 15 | image = transform(Image.open("CLIP.png")).unsqueeze(0) 16 | text = clip.tokenize(["a diagram", "a dog", "a cat"]) 17 | 18 | logits_per_image, _ = model(image, text) 19 | probs = softmax(logits_per_image, axis=-1).asnumpy() 20 | 21 | logits_per_image, _ = py_model(image, text) 22 | py_probs = softmax(logits_per_image, axis=-1).asnumpy() 23 | 24 | assert np.allclose(probs, py_probs, atol=0.01, rtol=0.1) 25 | -------------------------------------------------------------------------------- /examples/finetune/README.md: -------------------------------------------------------------------------------- 1 | This folder contains scripts for fine-tuning on your own custom dataset, do refer to [tutorials](https://mindspore-lab.github.io/mindcv/how_to_guides/finetune_with_a_custom_dataset/) for details. 2 | 3 | ### split_files.py 4 | ```shell 5 | python examples/finetune/split_files.py 6 | ``` 7 | This file taking Aircraft dataset as an example, shows how to manually reorganize data into a tree-structure directory according to an annotation file. Note that it's only for Aircraft dataset but not a general one, you'd better check the content before running it. 8 | 9 | ### read_images_online.py 10 | 11 | This is an example demonstrating how to read the raw images as well as the labels into a `GeneratorDataset` object, which is a `MappableDataset` class that can be read directly by models. You are recommended to insert this part into your data preprocessing script or training script, but not run it alone. 12 | 13 | ### finetune.py 14 | ```shell 15 | python examples/finetune/finetune.py --config=./configs/mobilenetv3/mobilnet_v3_small_ascend.yaml 16 | ``` 17 | A script for fine-tuning with some example code of fine-tuning methods in it (refer to the tutorial mentioned above). 18 | -------------------------------------------------------------------------------- /examples/open_clip/requirements-test.txt: -------------------------------------------------------------------------------- 1 | pytest-split==0.8.0 2 | pytest==7.2.0 3 | -------------------------------------------------------------------------------- /examples/open_clip/requirements-training.txt: -------------------------------------------------------------------------------- 1 | webdataset>=0.2.5 2 | regex 3 | ftfy 4 | tqdm 5 | pandas 6 | braceexpand 7 | fsspec 8 | -------------------------------------------------------------------------------- /examples/open_clip/requirements.txt: -------------------------------------------------------------------------------- 1 | regex 2 | ftfy 3 | tqdm 4 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/bpe_simple_vocab_16e6.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mindspore-lab/mindcv/d845ef98d4f730da5cc175ecf11cd3f841ba5fe0/examples/open_clip/src/open_clip/bpe_simple_vocab_16e6.txt.gz -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/constants.py: -------------------------------------------------------------------------------- 1 | OPENAI_DATASET_MEAN = (0.48145466, 0.4578275, 0.40821073) 2 | OPENAI_DATASET_STD = (0.26862954, 0.26130258, 0.27577711) 3 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/RN101-quickgelu.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 512, 3 | "quick_gelu": true, 4 | "vision_cfg": { 5 | "image_size": 224, 6 | "layers": [ 7 | 3, 8 | 4, 9 | 23, 10 | 3 11 | ], 12 | "width": 64, 13 | "patch_size": null 14 | }, 15 | "text_cfg": { 16 | "context_length": 77, 17 | "vocab_size": 49408, 18 | "width": 512, 19 | "heads": 8, 20 | "layers": 12 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/RN101.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 512, 3 | "vision_cfg": { 4 | "image_size": 224, 5 | "layers": [ 6 | 3, 7 | 4, 8 | 23, 9 | 3 10 | ], 11 | "width": 64, 12 | "patch_size": null 13 | }, 14 | "text_cfg": { 15 | "context_length": 77, 16 | "vocab_size": 49408, 17 | "width": 512, 18 | "heads": 8, 19 | "layers": 12 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/RN50-quickgelu.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 1024, 3 | "quick_gelu": true, 4 | "vision_cfg": { 5 | "image_size": 224, 6 | "layers": [ 7 | 3, 8 | 4, 9 | 6, 10 | 3 11 | ], 12 | "width": 64, 13 | "patch_size": null 14 | }, 15 | "text_cfg": { 16 | "context_length": 77, 17 | "vocab_size": 49408, 18 | "width": 512, 19 | "heads": 8, 20 | "layers": 12 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/RN50.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 1024, 3 | "vision_cfg": { 4 | "image_size": 224, 5 | "layers": [ 6 | 3, 7 | 4, 8 | 6, 9 | 3 10 | ], 11 | "width": 64, 12 | "patch_size": null 13 | }, 14 | "text_cfg": { 15 | "context_length": 77, 16 | "vocab_size": 49408, 17 | "width": 512, 18 | "heads": 8, 19 | "layers": 12 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/RN50x16.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 768, 3 | "vision_cfg": { 4 | "image_size": 384, 5 | "layers": [ 6 | 6, 7 | 8, 8 | 18, 9 | 8 10 | ], 11 | "width": 96, 12 | "patch_size": null 13 | }, 14 | "text_cfg": { 15 | "context_length": 77, 16 | "vocab_size": 49408, 17 | "width": 768, 18 | "heads": 12, 19 | "layers": 12 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/RN50x4.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 640, 3 | "vision_cfg": { 4 | "image_size": 288, 5 | "layers": [ 6 | 4, 7 | 6, 8 | 10, 9 | 6 10 | ], 11 | "width": 80, 12 | "patch_size": null 13 | }, 14 | "text_cfg": { 15 | "context_length": 77, 16 | "vocab_size": 49408, 17 | "width": 640, 18 | "heads": 10, 19 | "layers": 12 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/RN50x64.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 1024, 3 | "vision_cfg": { 4 | "image_size": 448, 5 | "layers": [ 6 | 3, 7 | 15, 8 | 36, 9 | 10 10 | ], 11 | "width": 128, 12 | "patch_size": null 13 | }, 14 | "text_cfg": { 15 | "context_length": 77, 16 | "vocab_size": 49408, 17 | "width": 1024, 18 | "heads": 16, 19 | "layers": 12 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/ViT-B-16.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 512, 3 | "vision_cfg": { 4 | "image_size": 224, 5 | "layers": 12, 6 | "width": 768, 7 | "patch_size": 16 8 | }, 9 | "text_cfg": { 10 | "context_length": 77, 11 | "vocab_size": 49408, 12 | "width": 512, 13 | "heads": 8, 14 | "layers": 12 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/ViT-B-32-quickgelu.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 512, 3 | "quick_gelu": true, 4 | "vision_cfg": { 5 | "image_size": 224, 6 | "layers": 12, 7 | "width": 768, 8 | "patch_size": 32 9 | }, 10 | "text_cfg": { 11 | "context_length": 77, 12 | "vocab_size": 49408, 13 | "width": 512, 14 | "heads": 8, 15 | "layers": 12 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/ViT-B-32.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 512, 3 | "vision_cfg": { 4 | "image_size": 224, 5 | "layers": 12, 6 | "width": 768, 7 | "patch_size": 32 8 | }, 9 | "text_cfg": { 10 | "context_length": 77, 11 | "vocab_size": 49408, 12 | "width": 512, 13 | "heads": 8, 14 | "layers": 12 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/ViT-H-14.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 1024, 3 | "vision_cfg": { 4 | "image_size": 224, 5 | "layers": 32, 6 | "width": 1280, 7 | "head_width": 80, 8 | "patch_size": 14 9 | }, 10 | "text_cfg": { 11 | "context_length": 77, 12 | "vocab_size": 49408, 13 | "width": 1024, 14 | "heads": 16, 15 | "layers": 24 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/ViT-L-14-336.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 768, 3 | "vision_cfg": { 4 | "image_size": 336, 5 | "layers": 24, 6 | "width": 1024, 7 | "patch_size": 14 8 | }, 9 | "text_cfg": { 10 | "context_length": 77, 11 | "vocab_size": 49408, 12 | "width": 768, 13 | "heads": 12, 14 | "layers": 12 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/ViT-L-14.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 768, 3 | "vision_cfg": { 4 | "image_size": 224, 5 | "layers": 24, 6 | "width": 1024, 7 | "patch_size": 14 8 | }, 9 | "text_cfg": { 10 | "context_length": 77, 11 | "vocab_size": 49408, 12 | "width": 768, 13 | "heads": 12, 14 | "layers": 12 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/model_configs/ViT-bigG-14.json: -------------------------------------------------------------------------------- 1 | { 2 | "embed_dim": 1280, 3 | "vision_cfg": { 4 | "image_size": 224, 5 | "layers": 48, 6 | "width": 1664, 7 | "head_width": 104, 8 | "mlp_ratio": 4.9231, 9 | "patch_size": 14 10 | }, 11 | "text_cfg": { 12 | "context_length": 77, 13 | "vocab_size": 49408, 14 | "width": 1280, 15 | "heads": 20, 16 | "layers": 32 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/open_clip/src/open_clip/utils.py: -------------------------------------------------------------------------------- 1 | import collections.abc 2 | from itertools import repeat 3 | 4 | 5 | def _ntuple(n): 6 | def parse(x): 7 | if isinstance(x, collections.abc.Iterable): 8 | return x 9 | return tuple(repeat(x, n)) 10 | 11 | return parse 12 | 13 | 14 | to_2tuple = _ntuple(2) 15 | -------------------------------------------------------------------------------- /mindcv/__init__.py: -------------------------------------------------------------------------------- 1 | """mindcv init""" 2 | from . import data, loss, models, optim, scheduler, utils 3 | from .data import * 4 | from .loss import * 5 | from .models import * 6 | from .optim import * 7 | from .scheduler import * 8 | from .utils import * 9 | from .version import __version__ 10 | 11 | __all__ = [] 12 | __all__.extend(data.__all__) 13 | __all__.extend(loss.__all__) 14 | __all__.extend(models.__all__) 15 | __all__.extend(optim.__all__) 16 | __all__.extend(scheduler.__all__) 17 | -------------------------------------------------------------------------------- /mindcv/data/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Data processing 3 | """ 4 | from . import dataset_download, dataset_factory, loader, transforms_factory 5 | from .auto_augment import * 6 | from .constants import * 7 | from .dataset_download import * 8 | from .dataset_factory import * 9 | from .loader import * 10 | from .transforms_factory import * 11 | 12 | __all__ = [] 13 | __all__.extend(dataset_download.__all__) 14 | __all__.extend(dataset_factory.__all__) 15 | __all__.extend(loader.__all__) 16 | __all__.extend(transforms_factory.__all__) 17 | -------------------------------------------------------------------------------- /mindcv/data/constants.py: -------------------------------------------------------------------------------- 1 | """ 2 | Constant data enhancement parameters of Imagenet dataset 3 | """ 4 | 5 | DEFAULT_CROP_PCT = 0.875 6 | IMAGENET_DEFAULT_MEAN = [0.485 * 255, 0.456 * 255, 0.406 * 255] 7 | IMAGENET_DEFAULT_STD = [0.229 * 255, 0.224 * 255, 0.225 * 255] 8 | -------------------------------------------------------------------------------- /mindcv/loss/__init__.py: -------------------------------------------------------------------------------- 1 | """ loss init """ 2 | from . import asymmetric, binary_cross_entropy_smooth, cross_entropy_smooth, jsd, loss_factory 3 | from .asymmetric import AsymmetricLossMultilabel, AsymmetricLossSingleLabel 4 | from .binary_cross_entropy_smooth import BinaryCrossEntropySmooth 5 | from .cross_entropy_smooth import CrossEntropySmooth 6 | from .jsd import JSDCrossEntropy 7 | from .loss_factory import create_loss 8 | 9 | __all__ = [] 10 | __all__.extend(loss_factory.__all__) 11 | -------------------------------------------------------------------------------- /mindcv/models/layers/__init__.py: -------------------------------------------------------------------------------- 1 | """layers init""" 2 | from . import ( 3 | activation, 4 | conv_norm_act, 5 | drop_path, 6 | format, 7 | identity, 8 | patch_dropout, 9 | pooling, 10 | pos_embed, 11 | selective_kernel, 12 | squeeze_excite, 13 | ) 14 | from .activation import * 15 | from .conv_norm_act import * 16 | from .drop_path import * 17 | from .format import * 18 | from .identity import * 19 | from .patch_dropout import * 20 | from .pooling import * 21 | from .pos_embed import * 22 | from .selective_kernel import * 23 | from .squeeze_excite import * 24 | 25 | __all__ = [] 26 | __all__.extend(activation.__all__) 27 | -------------------------------------------------------------------------------- /mindcv/models/layers/activation.py: -------------------------------------------------------------------------------- 1 | """ 2 | Custom operators. 3 | """ 4 | 5 | from mindspore import nn 6 | 7 | __all__ = ["Swish"] 8 | 9 | 10 | class Swish(nn.Cell): 11 | """ 12 | Swish activation function: x * sigmoid(x). 13 | 14 | Args: 15 | None 16 | 17 | Return: 18 | Tensor 19 | 20 | Example: 21 | >>> x = Tensor(((20, 16), (50, 50)), mindspore.float32) 22 | >>> Swish()(x) 23 | """ 24 | 25 | def __init__(self): 26 | super().__init__() 27 | self.result = None 28 | self.sigmoid = nn.Sigmoid() 29 | 30 | def construct(self, x): 31 | result = x * self.sigmoid(x) 32 | return result 33 | -------------------------------------------------------------------------------- /mindcv/models/layers/drop_path.py: -------------------------------------------------------------------------------- 1 | """DropPath 2 | Mindspore implementations of DropPath (Stochastic Depth) regularization layers. 3 | Papers: 4 | Deep Networks with Stochastic Depth (https://arxiv.org/abs/1603.09382) 5 | """ 6 | from mindspore import Tensor, nn, ops 7 | from mindspore.numpy import ones 8 | 9 | from .compatibility import Dropout 10 | 11 | 12 | class DropPath(nn.Cell): 13 | """DropPath (Stochastic Depth) regularization layers""" 14 | 15 | def __init__( 16 | self, 17 | drop_prob: float = 0.0, 18 | scale_by_keep: bool = True, 19 | ) -> None: 20 | super().__init__() 21 | self.keep_prob = 1.0 - drop_prob 22 | self.scale_by_keep = scale_by_keep 23 | self.dropout = Dropout(p=drop_prob) 24 | 25 | def construct(self, x: Tensor) -> Tensor: 26 | if self.keep_prob == 1.0 or not self.training: 27 | return x 28 | shape = (x.shape[0],) + (1,) * (x.ndim - 1) 29 | random_tensor = self.dropout(ones(shape)) 30 | if not self.scale_by_keep: 31 | random_tensor = ops.mul(random_tensor, self.keep_prob) 32 | return x * random_tensor 33 | -------------------------------------------------------------------------------- /mindcv/models/layers/format.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | from typing import Union 3 | 4 | import mindspore 5 | 6 | 7 | class Format(str, Enum): 8 | NCHW = 'NCHW' 9 | NHWC = 'NHWC' 10 | NCL = 'NCL' 11 | NLC = 'NLC' 12 | 13 | 14 | FormatT = Union[str, Format] 15 | 16 | 17 | def nchw_to(x: mindspore.Tensor, fmt: Format): 18 | if fmt == Format.NHWC: 19 | x = x.permute(0, 2, 3, 1) 20 | elif fmt == Format.NLC: 21 | x = x.flatten(start_dim=2).transpose((0, 2, 1)) 22 | elif fmt == Format.NCL: 23 | x = x.flatten(start_dim=2) 24 | return x 25 | 26 | 27 | def nhwc_to(x: mindspore.Tensor, fmt: Format): 28 | if fmt == Format.NCHW: 29 | x = x.permute(0, 3, 1, 2) 30 | elif fmt == Format.NLC: 31 | x = x.flatten(start_dim=1, end_dim=2) 32 | elif fmt == Format.NCL: 33 | x = x.flatten(start_dim=1, end_dim=2).transpose((0, 2, 1)) 34 | return x 35 | -------------------------------------------------------------------------------- /mindcv/models/layers/helpers.py: -------------------------------------------------------------------------------- 1 | """ Layer/Module Helpers 2 | 3 | """ 4 | import collections.abc 5 | from itertools import repeat 6 | 7 | 8 | def _ntuple(n): 9 | def parse(x): 10 | if isinstance(x, collections.abc.Iterable): 11 | return x 12 | return tuple(repeat(x, n)) 13 | 14 | return parse 15 | 16 | 17 | to_1tuple = _ntuple(1) 18 | to_2tuple = _ntuple(2) 19 | to_3tuple = _ntuple(3) 20 | to_4tuple = _ntuple(4) 21 | to_ntuple = _ntuple 22 | -------------------------------------------------------------------------------- /mindcv/models/layers/identity.py: -------------------------------------------------------------------------------- 1 | """Identity Module""" 2 | from mindspore import nn 3 | 4 | 5 | class Identity(nn.Cell): 6 | """Identity""" 7 | 8 | def construct(self, x): 9 | return x 10 | -------------------------------------------------------------------------------- /mindcv/models/layers/mlp.py: -------------------------------------------------------------------------------- 1 | """ MLP module w/ dropout and configurable activation layer 2 | """ 3 | from typing import Optional 4 | 5 | from mindspore import Tensor, nn 6 | 7 | from .compatibility import Dropout 8 | 9 | 10 | class Mlp(nn.Cell): 11 | def __init__( 12 | self, 13 | in_features: int, 14 | hidden_features: Optional[int] = None, 15 | out_features: Optional[int] = None, 16 | act_layer: Optional[nn.Cell] = nn.GELU, 17 | drop: float = 0.0, 18 | ) -> None: 19 | super().__init__() 20 | out_features = out_features or in_features 21 | hidden_features = hidden_features or in_features 22 | self.fc1 = nn.Dense(in_channels=in_features, out_channels=hidden_features, has_bias=True) 23 | self.act = act_layer() 24 | self.fc2 = nn.Dense(in_channels=hidden_features, out_channels=out_features, has_bias=True) 25 | self.drop = Dropout(p=drop) 26 | 27 | def construct(self, x: Tensor) -> Tensor: 28 | x = self.fc1(x) 29 | x = self.act(x) 30 | x = self.drop(x) 31 | x = self.fc2(x) 32 | x = self.drop(x) 33 | return x 34 | -------------------------------------------------------------------------------- /mindcv/models/layers/pooling.py: -------------------------------------------------------------------------------- 1 | """ GlobalAvgPooling Module""" 2 | from mindspore import nn, ops 3 | 4 | 5 | class GlobalAvgPooling(nn.Cell): 6 | """ 7 | GlobalAvgPooling, same as torch.nn.AdaptiveAvgPool2d when output shape is 1 8 | """ 9 | 10 | def __init__(self, keep_dims: bool = False) -> None: 11 | super().__init__() 12 | self.keep_dims = keep_dims 13 | 14 | def construct(self, x): 15 | x = ops.mean(x, axis=(2, 3), keep_dims=self.keep_dims) 16 | return x 17 | -------------------------------------------------------------------------------- /mindcv/optim/__init__.py: -------------------------------------------------------------------------------- 1 | """ optim init """ 2 | from . import optim_factory 3 | from .optim_factory import create_optimizer 4 | 5 | __all__ = [] 6 | __all__.extend(optim_factory.__all__) 7 | -------------------------------------------------------------------------------- /mindcv/scheduler/__init__.py: -------------------------------------------------------------------------------- 1 | """Learning Rate Scheduler""" 2 | from . import scheduler_factory 3 | from .scheduler_factory import create_scheduler 4 | 5 | __all__ = [] 6 | __all__.extend(scheduler_factory.__all__) 7 | -------------------------------------------------------------------------------- /mindcv/utils/__init__.py: -------------------------------------------------------------------------------- 1 | """Utility Tools""" 2 | from .amp import * 3 | from .callbacks import * 4 | from .checkpoint_manager import * 5 | from .download import * 6 | from .logger import * 7 | from .path import * 8 | from .random import * 9 | from .reduce_manager import * 10 | from .train_step import * 11 | from .trainer_factory import * 12 | -------------------------------------------------------------------------------- /mindcv/utils/random.py: -------------------------------------------------------------------------------- 1 | """random seed""" 2 | import random 3 | 4 | import numpy as np 5 | 6 | import mindspore as ms 7 | 8 | 9 | def set_seed(seed=42, rank=0): 10 | """ 11 | seed: seed int 12 | rank: rank id 13 | """ 14 | if rank is None: 15 | rank = 0 16 | random.seed(seed + rank) 17 | ms.set_seed(seed + rank) 18 | np.random.seed(seed + rank) 19 | -------------------------------------------------------------------------------- /mindcv/utils/reduce_manager.py: -------------------------------------------------------------------------------- 1 | """Reduces the tensor data across all devices in such a way that all devices will get the same final result.""" 2 | from mindspore import nn, ops 3 | from mindspore.ops import ReduceOp 4 | 5 | 6 | class AllReduceSum(nn.Cell): 7 | """Reduces the tensor data across all devices in such a way that all devices will get the same final result.""" 8 | 9 | def __init__(self): 10 | super().__init__() 11 | self.allreduce_sum = ops.AllReduce(ReduceOp.SUM) 12 | 13 | def construct(self, x): 14 | return self.allreduce_sum(x) 15 | -------------------------------------------------------------------------------- /mindcv/version.py: -------------------------------------------------------------------------------- 1 | """version init""" 2 | __version__ = "0.5.0" 3 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.isort] 2 | profile = "black" 3 | line_length = 120 4 | known_mindspore = ["mindspore"] 5 | known_first_party = ["mindcv"] 6 | sections = ["FUTURE", "STDLIB", "THIRDPARTY", "MINDSPORE", "FIRSTPARTY", "LOCALFOLDER"] 7 | 8 | [tool.black] 9 | line-length = 120 10 | force-exclude = ''' 11 | ( 12 | docs 13 | | ^/mindcv/models # exclude the models folder where reviewers MUST check the script WORD BY WORD. 14 | ) 15 | ''' 16 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | numpy>=1.17.0 2 | pyyaml>=5.3 3 | tqdm 4 | -------------------------------------------------------------------------------- /requirements/dev.txt: -------------------------------------------------------------------------------- 1 | -r ../requirements.txt 2 | pytest 3 | pre-commit 4 | -------------------------------------------------------------------------------- /requirements/docs.txt: -------------------------------------------------------------------------------- 1 | -r ../requirements.txt 2 | mkdocs>=1.5.2 3 | mkdocs-material>=9.2.6 4 | mkdocstrings[python]>=0.22.0 5 | mkdocs-static-i18n>=1.0.2 6 | mkdocs-include-markdown-plugin>=6.0.1 7 | -------------------------------------------------------------------------------- /scripts/launch_dist.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Usage: 3 | # ./scripts/launch_dist.py script.py --arg1=value1 --arg2=value2 4 | # Example: 5 | # ./scripts/launch_dist.py train.py --config=configs/resnet/resnet_50_ascend.yaml --data_dir=/my/awesome/dataset 6 | 7 | import multiprocessing as mp 8 | import os 9 | import sys 10 | 11 | BIAS = 0 12 | RANK_SIZE = 8 13 | RANK_TABLE_FILE = "/path/to/rank_table.json" 14 | 15 | 16 | def worker(rank_id, script, args): 17 | os.environ["RANK_ID"] = f"{rank_id}" # logical id 18 | os.environ["DEVICE_ID"] = f"{rank_id + BIAS}" # physical id 19 | os.environ["RANK_TABLE_FILE"] = RANK_TABLE_FILE 20 | print(f"Launching rank: {os.getenv('RANK_ID')}, device: {os.getenv('DEVICE_ID')}, pid: {os.getpid()}") 21 | os.system(f"python -u {script} {args}") 22 | 23 | 24 | if __name__ == "__main__": 25 | mp.set_start_method("spawn") 26 | 27 | script_, args_ = sys.argv[1], " ".join(sys.argv[2:]) 28 | print(f"Script: {script_}, Args: {args_}") 29 | processes = [mp.Process(target=worker, args=(i, script_, args_)) for i in range(RANK_SIZE)] 30 | [p.start() for p in processes] 31 | [p.join() for p in processes] 32 | -------------------------------------------------------------------------------- /scripts/launch_dist.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Usage: 3 | # ./scripts/launch_dist.sh script.py --arg1=value1 --arg2=value2 4 | # Example: 5 | # ./scripts/launch_dist.sh train.py --config=configs/resnet/resnet_50_ascend.yaml --data_dir=/my/awesome/dataset 6 | 7 | export RANK_SIZE=8 8 | export RANK_TABLE_FILE="/path/to/rank_table.json" 9 | 10 | 11 | echo "Script: $1, Args: ${@:2}" # ${parameter:offset:length} 12 | 13 | # trap SIGINT to execute kill 0, which will kill all processes 14 | trap 'kill 0' SIGINT 15 | for ((i = 0; i < ${RANK_SIZE}; i++)); do 16 | export RANK_ID=$i 17 | export DEVICE_ID=$i 18 | echo "Launching rank: ${RANK_ID}, device: ${DEVICE_ID}" 19 | python -u $@ & 20 | done 21 | # wait for all processes to finish 22 | wait 23 | -------------------------------------------------------------------------------- /scripts/package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | BASE_PATH=$(cd "$(dirname $0)/.."; pwd) 6 | OUTPUT_PATH="${BASE_PATH}/output" 7 | 8 | 9 | if [[ -d "${OUTPUT_PATH}" ]]; then 10 | rm -rf "${OUTPUT_PATH}" 11 | fi 12 | mkdir -pv "${OUTPUT_PATH}" 13 | 14 | python ${BASE_PATH}/setup.py bdist_wheel 15 | 16 | mv ${BASE_PATH}/dist/*whl ${OUTPUT_PATH} 17 | 18 | cd "${OUTPUT_PATH}" || exit 19 | PACKAGE_LIST=$(ls mindcv-*.whl) || exit 20 | for PACKAGE_NAME in ${PACKAGE_LIST}; do 21 | echo "writing sha256sum of ${PACKAGE_NAME}" 22 | sha256sum -b "${PACKAGE_NAME}" > "${PACKAGE_NAME}.sha256" 23 | done 24 | -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- 1 | - `modules` for unit test (UT): test the main modules including dataset, transform, loader, model, loss, optimizer, and scheduler. 2 | 3 | To test all modules: 4 | ```shell 5 | pytest tests/modules/*.py 6 | ``` 7 | 8 | - `tasks` for system test (ST): test the training and validation pipeline. 9 | 10 | To test the training process (in graph mode and pynative+mindspore.jit mode) and the validation process, run 11 | ```shell 12 | pytest tests/tasks/test_train_val_imagenet_subset.py 13 | ``` 14 | --------------------------------------------------------------------------------