从 0 到 1 用华为云 ModelArts 部署一个图像分类服务

举报
yd_242888859 发表于 2026/09/23 18:14:06 2026/09/23
【摘要】 前言很多开发者第一次接触华为云时,会卡在"不知道从哪个产品开始"这一步。本文以一个完整的图像分类小项目为例,带你走通华为云 AI 开发的全流程:数据准备 → 模型训练 → 在线部署 → API 调用。全文可直接跟着操作,预计耗时 30 分钟。适合人群:有 Python 基础、想快速上手华为云 AI 能力的开发者。一、准备工作开始前你需要:一个已完成实名认证的华为云账号(这也是社区里"实名认证...

前言
很多开发者第一次接触华为云时,会卡在"不知道从哪个产品开始"这一步。本文以一个完整的图像分类小项目为例,带你走通华为云 AI 开发的全流程:数据准备 → 模型训练 → 在线部署 → API 调用。全文可直接跟着操作,预计耗时 30 分钟。

适合人群:有 Python 基础、想快速上手华为云 AI 能力的开发者。

一、准备工作
开始前你需要:

一个已完成实名认证的华为云账号(这也是社区里"实名认证"勋章的任务之一);
开通 ModelArts 服务(免费额度足够本文练习);
本地或云端准备一张测试图片。
创建好账号后,进入 ModelArts 控制台 → 全局配置,确认区域选择正确(建议选华北-北京四,产品最全)。

二、准备数据集
我们使用经典的"猫狗分类"作为示例。目录结构建议如下:

TEXT
dataset/
├── train/
│   ├── cat/
│   │   ├── cat_001.jpg
│   │   └── ...
│   └── dog/
│       ├── dog_001.jpg
│       └── ...
└── val/
    ├── cat/
    └── dog/
把数据集上传到 OBS(对象存储服务) 的一个桶里,例如 obs://my-ai-demo/dataset/。

小技巧:OBS 桶名全局唯一,建议加上账号 ID 后缀,避免重名失败。

三、创建训练任务
进入 ModelArts → 自动学习 → 图像分类;
新建项目,选择刚刚的 OBS 数据集路径;
系统会自动帮你标注(也可手动微调);
设置训练参数:
最大训练时长:10 分钟
部署资源:CPU 规格即可(练习够用,省钱)
点击开始训练。
训练过程中可以实时看到准确率曲线。本文示例在 200 张图片上训练后,验证集准确率约为 92%。

四、部署为在线服务
训练完成后点击部署 → 在线服务,关键配置:

配置项    建议值    说明
计算节点    1    练习够用
规格    CPU 2 核 8GB    成本低
自动停止    1 小时后    防止忘记关闭产生费用
部署成功后你会得到一个在线服务 API 地址。

五、调用 API 测试
用 Python 发起请求:

PYTHON
import requests
import base64
# 1. 读取本地图片并 Base64 编码
with open("test.jpg", "rb") as f:
    img_base64 = base64.b64encode(f.read()).decode("utf-8")
# 2. 构造请求
url = "https://你的在线服务地址/v1/infers/xxxx"
headers = {
    "Content-Type": "application/json",
    "X-Auth-Token": "你的Token"
}
data = {"images": [{"data": img_base64}]}
# 3. 发送请求
resp = requests.post(url, json=data, headers=headers, verify=False)
print(resp.json())
返回结果类似:

JSON
{
  "predicted_label": "dog",
  "scores": [0.97, 0.03]
}
说明模型成功识别出图片是"狗",置信度 97%。

六、踩坑记录
Token 过期:X-Auth-Token 有效期较短,正式项目建议用 AK/SK 签名方式;
OBS 权限:数据集路径报错时,优先检查桶的访问权限和区域是否一致;
费用控制:在线服务按小时计费,用完一定记得停止/删除,否则会产生持续费用;
区域不一致:ModelArts 与 OBS 必须在同一区域,跨区域会调用失败。
七、总结
通过本文,你完成了:

✅ 用 OBS 管理数据集
✅ 用 ModelArts 自动学习训练模型
✅ 部署为在线推理服务
✅ 用 Python 调用 REST API
这套流程同样适用于文本分类、物体检测等场景,只需替换数据集即可。后续可以进一步尝试:自定义算法训练、模型压缩、批量推理等进阶能力。

如果这篇文章对你有帮助,欢迎点赞 + 收藏,也欢迎在评论区交流你在华为云上遇到的坑~

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。