MindSpore Computer Vision is an open source computer vision research toolbox based on MindSpore in computer vision direction. It is mainly used for the development of image tasks and includes a large number of classic and cutting-edge deep learning classification models, such as ResNet, ViT, and SwinTransformer.
- Various backbones based on CNN and Transformer and pretrained models
- High efficiency, extensibility and compatibility(GPU/CPU/Ascend)
- Easy-to-use API
MindSpore Computer Vision, a MindSpore base Python package, provides high-level features:
- Base backbone of models like resnet and mobilenet series.
- Deep neural networks' workflows which contain loss, optimizers, lr_scheduler.
- Domain oriented rich dataset interface.
- mindspore >= 1.8.1
- numpy >= 1.17.0
- pyyaml >= 5.3
- tqdm
- openmpi 4.0.3 (for distributed mode)
The following instructions assume that you have desired dependency installed and working.
pip install https://github.com/mindlab-ai/mindcv/releases/download/v0.0.1-alpha/mindcv-0.0.1a0-py3-none-any.whl
- From source:
# Clone the mindcv repository.
git clone https://github.com/mindlab-ai/mindcv.git
cd mindcv
# Install
python setup.py install
See Get Started With MindCV to learn about basic usage.
- optim factory
- Add Adan optimizer (experimental), tested in non-dist graph mode.
- dataset factory
- Adjust interface for custom data.
- test
- unit test for optim and models
- test scripts for finetuning and customized dataset
- loss factory
- Remove args param, use detailed loss-related params
- Add BCE loss
- add class weighted loss support, weighted BCE loss and weighted CE loss.
- change arg name
smooth_factor
tolabel_smoothing
- change loss type and param organization structure.
- add test code
- optim factory
- adjust APIs, remove args
- add adam, adamW, lamb, adagrad
- scheduler factory
- reorganize code, remove args
- support Step decay LR, exponential decay LR.
- TODOs:
- test loss computation correctness
- check adamW difference compared to pytorch
- label smoothing support for BCE
- label data type changed to float for using BCE loss
This project is released under the Eclipse Public License 1.0.
The dynamic version is still under development, if you find any issue or have an idea on new features, please don't hesitate to contact us via issue.
MindSpore is an open source project that welcome any contribution and feedback. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible as well as standardized toolkit to reimplement existing methods and develop their own new computer vision methods.
We appreciate all contributions to improve MindSpore Vision. Please refer to CONTRIBUTING.md for the contributing guideline.
If you find this project useful in your research, please consider citing:
@misc{MindSpore Computer Vision 2022,
title={{MindSpore Computer Vision}:MindSpore Computer Vision Toolbox and Benchmark},
author={MindSpore Vision Contributors},
howpublished = {\url{https://github.com/mindlab-ai/mindcv/}},
year={2022}
}