在Model Gallery中,您可以直接部署预训练图片分类模型,也可以使用自己的数据集进行微调训练,获得定制化类别的分类模型。
前提条件
已创建OSS Bucket存储空间,具体操作请参见控制台创建存储空间。
一、进入模型详情页面
进入Model Gallery页面。
登录PAI控制台。
在顶部左上角根据实际情况选择地域。
在左侧导航栏选择工作空间列表,单击指定工作空间名称,进入对应工作空间内。
在左侧导航栏选择快速开始 > Model Gallery。
在Model Gallery首页,单击计算机视觉区域下的图片分类,然后单击ViT图像分类-通用模型卡片,进入模型详情页面。

模型列表展示了来自多个开源社区的主流模型,可选择适合您业务需求的模型。
参数量越大,模型效果越好,但所需训练数据量和在线服务费用也越高。
大多数模型标注了预训练数据集。数据集与您的使用场景越接近,部署和微调效果越好。选择模型后可在详情页查看预训练数据集信息。
二、直接部署模型
Model Gallery提供的cv_vit-base_image-classification_ImageNet-labels模型来源于ModelScope提供的ViT图像分类-通用模型。它是基于Transformer ViT Base架构的图片分类模型,在ImageNet-1K数据集上完成图片分类训练,可以直接用于ImageNet-1K标签覆盖到的图片分类任务。您可以通过Model Gallery将此模型直接部署到EAS,创建一个模型服务,用于图片分类的推理任务。具体操作步骤如下:
部署服务。
在模型详情页面,单击模型部署。
确认模型服务信息和资源部署信息。
Model Gallery已根据模型特点预置了计算资源和服务名称,本案例使用默认配置。您也可以根据业务需要修改配置。如何配置参数,详情请参见部署模型和调试模型。
单击部署,并在计费提醒对话框中,单击确定。
页面自动跳转到服务详情页面,在基本信息区域查看模型服务部署状态。当状态变为运行中时,表明模型服务已部署成功。
调用模型服务。
部署成功后,通过HTTP API调用模型服务发送预测请求。模型服务接收Base64编码的图片,返回JSON格式的预测结果。
在服务详情页面的资源信息区域,单击查看调用信息。

在调用信息对话框的公网地址调用页签中,查看公网调用的访问地址和Token,并保存到本地。
使用Python Requests库调用模型服务,示例代码如下。
import requests import base64 image_path = "<PathToLocalImage>" url = "<PredictionServiceURL>" token = "<PredictionServiceAccessToken>" def encode_file_to_base64(f): with open(f, "rb") as file: encoded_string = base64.b64encode(file.read()) base64_str = str(encoded_string, "utf-8") return base64_str base64_string = encode_file_to_base64(image_path) request_body = { "image": base64_string } headers = {"Authorization": token} resp = requests.post(url=url, headers=headers, json=request_body) print(resp.content.decode()) print("status code:", resp.status_code)其中:
token和url替换为上述步骤中查询到的Token和访问地址;image_path替换为本地图片路径,图片格式为.png或.jpg。调用成功,模型服务将返回最有可能的5个图片分类和每个分类的得分。结果示例如下。
{ "scores": [ 0.4078965485095978, 0.24673610925674438, 0.1930493414402008, 0.0026617543771862984, 0.0009246605914086103 ], "labels": [ "tiger cat", "tabby, tabby cat", "Egyptian cat", "lynx, catamount", "tiger, Panthera tigris" ] }
三、微调训练模型
cv_vit-base_image-classification_ImageNet-labels模型适用于ImageNet-1K覆盖标签的图片分类任务。当所需分类的图片领域不在ImageNet-1K标签中时,可提供少量标注图片进行微调,获得定制领域的分类模型。
准备数据。
按照以下目录结构准备数据集:
模型支持使用OSS上的图片数据进行训练。您需要通过目录结构组织数据集,每一个目录名是一个类别,相应类别的图片都存放在类别目录的一级子目录下。例如训练数据集的输入为
oss://{YourOssBucket}.{OssEndpoint}/{PathToTrainData}/,则该目录下的数据结构为:├── category-1 │ ├── image1.jpeg │ └── image2.jpeg ├── category-2 │ ├── image3.jpeg │ └── image4.jpeg |... |... └── category-n ├── imagexxx.jpeg └── imageyyy.jpeg为获得更好的模型,建议同时按上述目录结构准备验证数据集,用于评估性能和调整训练参数。
将数据集按照上述目录结构上传到OSS存储空间。如何上传数据到OSS存储空间,请参见上传文件。
提交训练作业。
准备好使用的数据集后,您可以在模型详情页面单击训练,配置训练数据集、验证数据集和输出路径。
Model Gallery已根据模型特点预置了计算资源和超参数,可使用默认值,也可按需修改。如何配置参数,请参见模型部署及训练。
说明cv_vit-base_image-classification_ImageNet-labels的模型默认使用MiniImageNet-100数据集进行微调训练,方便您进行试用体验。
单击训练。

页面将自动跳转至任务详情页面。您可以查看训练任务的执行进度、任务日志以及模型的评估信息。当训练任务成功运行后,训练作业生成的模型将保存在上述步骤配置的输出路径中。

部署微调模型。
训练好的模型会自动注册到AI资产-模型管理中,您可以查看或部署对应的模型,详情请参见注册及管理模型。