MindCV: 基于MindSpore的计算机视觉工具箱

Ray

MindCV简介

MindCV是一个基于MindSpore深度学习框架的开源计算机视觉工具箱。它由MindSpore团队、西安电子科技大学和西安交通大学联合开发,旨在为计算机视觉研究和应用提供丰富的资源和便捷的开发环境。

MindCV具有以下主要特点:

  1. 易用性强。MindCV将视觉框架分解为各种可配置的组件,用户可以轻松自定义数据管道、模型和学习流程:
import mindcv
# 创建数据集
dataset = mindcv.create_dataset('cifar10', download=True)
# 创建模型
network = mindcv.create_model('resnet50', pretrained=True)

用户还可以通过一行命令定制和启动迁移学习或训练任务:

python train.py --model=swin_tiny --pretrained --opt=adamw --lr=0.001 --data_dir=/path/to/data
  1. 包含最先进模型。MindCV提供了各种基于CNN和Transformer的视觉模型,包括SwinTransformer。同时提供预训练权重和性能报告,帮助用户选择和复用合适的模型。

  2. 灵活高效。MindCV基于MindSpore构建,可以在不同硬件平台(GPU/CPU/Ascend)上运行。它同时支持高效的图模式和灵活的动态图模式。

模型库

MindCV提供了丰富的预训练模型,包括:

  • ResNet系列
  • MobileNet系列
  • VGG
  • Inception系列
  • DenseNet
  • EfficientNet系列
  • Swin Transformer
  • Vision Transformer (ViT)
  • 等多种经典和最新的CV模型

这些模型的性能指标、训练配方和预训练权重都可以在模型库页面查看。

Image 1: a yellow labrador standing on the grass

快速上手

安装

MindCV的安装非常简单,详细步骤请参考安装指南

使用示例

下面是几个简单的代码片段,展示了MindCV的基本用法:

import mindcv

# 列出并查找预训练的视觉模型
mindcv.list_models("swin*", pretrained=True)
# ['swin_tiny']

# 创建模型对象
network = mindcv.create_model('swin_tiny', pretrained=True)

# 验证模型精度
!python validate.py --model=swin_tiny --pretrained --dataset=imagenet --val_split=validation
# {'Top_1_Accuracy': 0.80824, 'Top_5_Accuracy': 0.94802, 'loss': 1.7331367141008378}

图像分类演示

以下是使用预训练SoTA模型对图像进行分类的示例:

python infer.py --model=swin_tiny --image_path='./dog.jpg'
# {'Labrador retriever': 0.5700152, 'golden retriever': 0.034551315, 'kelpie': 0.010108651, 'Chesapeake Bay retriever': 0.008229004, 'Walker hound, Walker foxhound': 0.007791956}

top-1预测结果是拉布拉多猎犬,这与图中的品种相符。

训练

MindCV提供了灵活的训练脚本train.py,可以轻松地在标准或自定义数据集上训练模型。训练策略(如数据增强、学习率调度等)可以通过外部参数或yaml配置文件进行配置。

单机训练

python train.py --model=resnet50 --dataset=cifar10 --dataset_download

分布式训练

对于ImageNet等大型数据集,可以使用mpirun在多个设备上进行分布式训练:

mpirun -n 4 python train.py --distribute \
    --model=densenet121 --dataset=imagenet --data_dir=/path/to/imagenet

配置和训练策略

MindCV提供了20多个在ImageNet上实现SoTA结果的训练配方。用户可以通过修改yaml文件轻松地将这些训练策略应用到自己的模型上以提高性能。

验证

使用validate.py评估模型性能:

python validate.py --model=resnet50 --dataset=imagenet --data_dir=/path/to/data --ckpt_path=/path/to/model.ckpt

还可以通过启用--val_while_train选项在训练过程中跟踪验证精度。

支持的算法

MindCV支持多种先进的计算机视觉算法,包括:

  • 数据增强:AutoAugment、RandAugment、Repeated Augmentation等
  • 优化器:Adam、AdamW、Lion等
  • 学习率调度器:Warmup Cosine Decay、Step LR等
  • 正则化:Weight Decay、Label Smoothing等
  • 损失函数:Cross Entropy、Binary Cross Entropy等
  • 集成学习:Warmup EMA

贡献指南

我们欢迎各种形式的贡献,包括问题报告和PR,以使MindCV变得更好。请参考贡献指南了解详细信息。

许可证

本项目遵循Apache License 2.0开源许可证。

MindCV是一个功能强大、易用性高的计算机视觉工具箱,为研究人员和开发者提供了丰富的资源和便捷的开发环境。无论是进行学术研究还是工业应用,MindCV都是一个值得尝试的优秀工具。

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号