图像分类基础与实战(3)

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 图像分类基础与实战

开始进行训练。

训练完成的结果显示如上图,topone的精度是87.75,TOP5的精度是98.97。

训练完成后的工作目录如上图所示。log文件中保存了训练的日志,configuration文件中保存了配置相关信息。best_accuracy_top-1_epoch_1中保存了训练集上精度最好的模型权重,为了后续对模型进行评估,需要将该文件重命名为pytorch_model_pt。

返回模型详情页,复制模型评估相关代码。

复制详情页中的数据集加载相关代码(上图选中部分),替换原代码中“加载用于评估的数据集”部分代码,重新加载数据的校验集。

将model_id修改为工作目录下的vit_base_flower。本次训练的只进行校验,因此训练的数据集设为空,只需填入使用评估的数据集。

执行代码,开始进行评估。

结果如上图,与训练之后的评估完全一直,TOP1是87.75,TOP5是98.97,可正常用。

接下来进行模型推理。

复制详情页代码。

在工作目录下上传一张图片,修改图片路径和模型路径如上图。执行代码。

结果显示如上图,TOP1是向日葵。但top5的概率较为接近,说明训练不够充分。实际训练时,可以将epoch调大,学习率调小,以得到更优化的结果。

在模型页面右上角点击创建创空间,填写相关信息,创建创空间。

创建后的页面如上图所示。

复制上图中git clone代码,将前面训练好的权重与配置文件拷贝过来,上传到的modelscode模型的空间中。

上传完成后页面如上图。

点击右上角,添加版本号,即可使用模型。

接下来测试发布到ModelScope上的模型是否可用。

复制模型页面下的代码并对其进行修改。

代码中的模型ID修改为创建的模型ID(页面左上角),图片地址修改为根目录下的测试图片。

创建创空间时选择了非公开模型,因此此处需要对模型进行授权,代码如下:

from modelscope.hub.api import HubApi
#YOUR_ACCESS_TOKEN =
'请从ModelScope个人中心->访问令牌获取’
#api= HubApi()
#api.login(YOUR_ACCESS_TOKEN)

另外,因为设置了模型的版本,需要重新写版本。最终修改后的代码如上图。

结果显示如上图,证明模型可以正常使用。

回到创空间,打开空间文件下的readme文件,可以直接复制其他模型的readme文件(如上图右侧所示)进行修改后使用。

需要修改模型ID,在创建的模型名称下方复制即可。entry_file指文件入口,本示例中不使用GPU进行推理,因此是GPU为0。

执行代码也可以从其他创空间模型中复制后进行修改使用。新建一个app.py文件,将代码粘贴至文件中。首先需要修改授权码。回调函数为interface,输入的类型为图片,输出为label类型,显示top5的结果,设置默认测试图片的地址。

复制前文的推理代码并进行修改。

输入的类型是图像,因此需要将 result=image_classification()内的参数修改为img。

在空间文件里点击上传文件,将app.py文件上传至创空间。

在设置里点击上线创空间。

至此,创空间搭建完毕。页面如上图所示。

点击图片,提交后会显示结果。

其他模型的训练流程与本文示例基本一致,主要区别在于使用的数据集不同。所有数据、模型、代码均已开源,欢迎进入Modelscope官网搜索使用。

相关文章
|
机器学习/深度学习 算法 自动驾驶
使用机器学习进行图像分类的简介
在现代技术的发展中,图像处理和图像分类一直是一个热门的领域。随着机器学习的兴起,越来越多的人开始使用机器学习算法来解决图像分类问题。本文将介绍如何使用机器学习进行图像分类,并讨论其中的关键步骤和技术。
332 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习:从基础到实战
【9月更文挑战第23天】本文将带你走进深度学习的世界,从基本概念到实际应用,一步步揭示深度学习的神秘面纱。我们将通过实例和代码示例,帮助你理解和掌握深度学习的核心技术和方法。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起探索深度学习的奥秘吧!
41 0
|
3月前
|
机器学习/深度学习 人工智能 算法框架/工具
深入浅出:使用深度学习进行图像分类
【8月更文挑战第31天】在本文中,我们将一起探索如何利用深度学习技术对图像进行分类。通过简明的语言和直观的代码示例,我们将了解构建和训练一个简单卷积神经网络(CNN)模型的过程。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供清晰的指导和启发性的见解,帮助你理解并应用深度学习解决实际问题。
|
6月前
|
机器学习/深度学习 自然语言处理 算法
深度学习算法简介(二)
深度学习算法简介(二)
|
6月前
|
机器学习/深度学习 自然语言处理 算法
深度学习算法简介(一)
深度学习算法简介(一)
130 0
|
6月前
|
机器学习/深度学习 监控 算法
|
6月前
|
机器学习/深度学习 数据采集 测试技术
|
机器学习/深度学习 存储 数据采集
图像分类基础(一)
图像分类基础(一)
203 0
|
机器学习/深度学习 存储 人工智能
图像分类基础(二)
图像分类基础(二)
121 0
|
机器学习/深度学习 资源调度 数据挖掘
深度学习原理篇 第五章:YOLOv8
简要介绍yolov8的原理和代码实现。
2048 0