作者:刘栩辰 |学校:三峡大学
如今人工智能的发展愈发迅速,从最开始的数字识别到现在的各类大模型,多多少少都涉及到分类的过程。对于零基础的初学者而言,利用现有的工具和框架来快速入门并实现自己的分类任务,是一个高效且实用的方法。本文将介绍如何使用MindCV进行零基础的分类任务实现。
MindCV源码

MindCV简介
MindCV是一个基于昇思 MindSpore AI框架开发的,致力于计算机视觉相关技术研发的开源工具箱。它提供大量的计算机视觉领域的经典模型和SoTA模型以及它们的预训练权重和训练策略。我们可以用这个模型来微调自己想要的分类效果。

读取自己的数据集并处理
根据自己的数据集编写读取和处理数据集的代码。在MindCV套件中,也有创建数据集的函数,比如create_dataset,可以直接调用进行数据集的预处理,但是相应的数据集格式也要仔细的看套件中的说明。
到这里我们就已经准备好自己的数据集啦,接下来就是导入到模型中进行训练,这里一定要注意数据集的格式。
训练及预测 利用MindCV里面的训练模型直接进行训练,这里我们总共要进行三次选择,并且这里所有参数都有详细的说明。
运行上面的代码块,代码就开始训练了!之后我们在训练完之后编写自己所需要查看的训练数据就可以了。
最后我们用VAL数据集来进行进行预测:
这里当然想看看自己呈现的结果,可以用matplotlib这个库来进行预测结果的可视化展现。
扫描二维码查看完整代码

昇思MindSpore实习offer拍了拍你!
昇思MindSpore社区联合多个开源社区为高校学生推出线上实习的机会——开源实习,让你不用出校门就可以拥有在业界顶尖AI开源项目实践的机会。

欢迎投稿 昇思MindSpore诚邀广大开发者投稿,成为社区内容合作伙伴。
投稿内容:可以是昇思MindSpore的基础教程、实战案例、模型复现、趣味案例,又或者是昇思MindSpore与其他第三方框架的对比测评等内容。
投稿激励:成功发布在昇思MindSpore公众号上,社区将赠送昇思MindSpore官方书籍或社区定制伴手礼。
投稿方式:添加小助手微信mindspore_0328
作者:刘栩辰 |学校:三峡大学
如今人工智能的发展愈发迅速,从最开始的数字识别到现在的各类大模型,多多少少都涉及到分类的过程。对于零基础的初学者而言,利用现有的工具和框架来快速入门并实现自己的分类任务,是一个高效且实用的方法。本文将介绍如何使用MindCV进行零基础的分类任务实现。
MindCV源码
MindCV简介
MindCV是一个基于昇思 MindSpore AI框架开发的,致力于计算机视觉相关技术研发的开源工具箱。它提供大量的计算机视觉领域的经典模型和SoTA模型以及它们的预训练权重和训练策略。我们可以用这个模型来微调自己想要的分类效果。
读取自己的数据集并处理
根据自己的数据集编写读取和处理数据集的代码。在MindCV套件中,也有创建数据集的函数,比如create_dataset,可以直接调用进行数据集的预处理,但是相应的数据集格式也要仔细的看套件中的说明。
from mindcv.data import create_dataset, create_transforms, create_loader num_workers = 8 # 数据集加载 data_dir = "dataset_root" # 设置数据集(这里可以分为两个数据集,一个用于训练一个用于预测) dataset_train = create_dataset(root=data_dir, split='train', num_parallel_workers=num_workers) dataset_val = create_dataset(root=data_dir, split='val', num_parallel_workers=num_workers) # 数据处理转换 trans_train = create_transforms(dataset_name='ImageNet', is_training=True) trans_val = create_transforms(dataset_name='ImageNet',is_training=False) # 加载所创建的数据集 loader_train = create_loader( dataset=dataset_train, batch_size=16, is_training=True, num_classes=2, transform=trans_train, num_parallel_workers=num_workers, ) loader_val = create_loader( dataset=dataset_val, batch_size=5, is_training=True, num_classes=2, transform=trans_val, num_parallel_workers=num_workers, ) images, labels= next(loader_train.create_tuple_iterator())到这里我们就已经准备好自己的数据集啦,接下来就是导入到模型中进行训练,这里一定要注意数据集的格式。
训练及预测
利用MindCV里面的训练模型直接进行训练,这里我们总共要进行三次选择,并且这里所有参数都有详细的说明。
from mindcv.models import create_model from mindcv.loss import create_loss from mindcv.optim import create_optimizer from mindspore import Model, LossMonitor, TimeMonitor # 选择自己想运用的模型 network = create_model(model_name='densenet121', num_classes=2, pretrained=True) # 选择你想使用的优化器 opt = create_optimizer(network.trainable_params(), opt='adam', lr=1e-4) # 选择你想使用的loss方法 loss = create_loss(name='CE') # 开始训练! model = Model(network, loss_fn=loss, optimizer=opt, metrics={'accuracy'}) model.train(10, loader_train, callbacks=[LossMonitor(5), TimeMonitor(5)], dataset_sink_mode=False)运行上面的代码块,代码就开始训练了!之后我们在训练完之后编写自己所需要查看的训练数据就可以了。
最后我们用VAL数据集来进行进行预测:
这里当然想看看自己呈现的结果,可以用matplotlib这个库来进行预测结果的可视化展现。
扫描二维码查看完整代码
昇思MindSpore实习offer拍了拍你!
昇思MindSpore社区联合多个开源社区为高校学生推出线上实习的机会——开源实习,让你不用出校门就可以拥有在业界顶尖AI开源项目实践的机会。
你将拥有实习工资、实习证明、亮眼的项目经历、技术大咖1对1指导、社区荣誉等
欢迎投稿
昇思MindSpore诚邀广大开发者投稿,成为社区内容合作伙伴。
投稿内容:可以是昇思MindSpore的基础教程、实战案例、模型复现、趣味案例,又或者是昇思MindSpore与其他第三方框架的对比测评等内容。
投稿激励:成功发布在昇思MindSpore公众号上,社区将赠送昇思MindSpore官方书籍或社区定制伴手礼。
投稿方式:添加小助手微信mindspore_0328