【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!

  • 一、新建图像分类数据集
  • 二、开始标注
    • 第一步:添加标签
    • 第二步:点击批量标注
    • 第三步:开始批量标注
  • 三、新建一个项目
  • 四、导入数据集
  • 五、配置网络
  • 六、配置资源
  • 七、模型部署
  • 八、模型调用
    • 第一步:点击查看详情
    • 第二步:点击控制台,对接口进行赋权
    • 第三步:创建应用
    • 第四步:记录API Key和Secret Key
    • 第五步:使用代码调用API接口
    • 第六步:运行代码
  • 九、温馨提示
  • 十、总结

最近发现了一个全功能AI开发平台,叫做BML(Baidu Machine Learning),这是一个面向企业和个人开发者的机器学习集成开发环境,为经典机器学习和深度学习提供了从数据处理、模型训练、模型管理到模型推理的全生命周期管理服务。

在这里插入图片描述

BML全功能AI开发平台官网链接:https://ai.baidu.com/bml/

一、新建图像分类数据集

第一步:进入BML平台:https://ai.baidu.com/bml/

在这里插入图片描述
第二步:点击“立即使用”,在出现的界面中点击“数据总览”或者是"数据集":

在这里插入图片描述
第三步:在我的数据总览里点击“创建数据集

在这里插入图片描述
第四步:输入"数据集名称"
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第1张图片

第五步:数据集创建完成后,点击完成,可以在数据总览处看到刚刚新建的数据集:
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第2张图片

第六步:点击“导入”,将下载好的数据集导入BML平台:

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第3张图片

第七步:选择"上传方式",将数据上传

这里我们选择无标注信息,用平台进行在线标注。

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第4张图片

在这里插入图片描述
压缩包格式:
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第5张图片

点击"确定并返回"等待数据集导入

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第6张图片

导入成功!

第八步:点击“查看与标注”,可查看数据集的基本概况:
本次数据集总共有100张图片,这里显示为50是因为(我这里先导入猫猫的数据,标注一波,在导入狗狗的数据,在批量标注)

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第7张图片

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第8张图片

二、开始标注

第一步:添加标签

这里我们的数据为猫狗识别,所以添加猫猫跟狗狗~
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第9张图片

第二步:点击批量标注

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第10张图片

第三步:开始批量标注

因为我们先导入的猫咪数据集所以我们直接点击”无标注信息
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第11张图片
选择”每页显示多少数据集
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第12张图片
点击”本页全选“,在点击”猫咪标签

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第13张图片
标注完毕
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第14张图片
接下来狗狗数据集我就不再一步一步展示,直接展示标注完毕的效果
批量标注狗狗数据集
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第15张图片
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第16张图片

标注完毕!

三、新建一个项目

首先打开BML管理页面,在这个界面中可以看到当前支持的深度学习任务类型,也可在左侧目录选择不同深度学习方向。

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第17张图片

在左侧目录中找到“计算机视觉模型”,点击“图像分类-单标签”,写个名称加段描述就能新建一个项目了。

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第18张图片

点击“新建”后,可以在下方找到刚刚创建的项目:
在这里插入图片描述

点击“新建任务”可管理本项目的“基本信息”、“配置任务类型”、“添加数据”、“配置网络”等。

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第19张图片

四、导入数据集

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第20张图片

这里我们直接选择数据集点击添加即可。

五、配置网络

在配置网络的过程中,可以选择使用预训练模型百度超大规模数据集-通用分类预训练模型,公开数据集-常规预训练模型。这里我们选择公开数据集-常规预训练模型进行训练,同时网络也分为很多种,这里就不再一一叙述,我们选择RESNET50进行训练模型:
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第21张图片

平台提供了脚本编辑的工具,点击“立即编辑”进行脚本编辑:
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第22张图片
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第23张图片
一般可以在里面配置一些参数,开发者可以自己修改里面的超参数.

六、配置资源

训练模型需要租用服务器或者用自己的服务器,BML平台直接提供了一个配置好的环境,不需要自己买服务器、自己配置环境了,可以说是非常地方便!
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第24张图片

这里根据自己的需求选择即可。

点击“提交训练任务”就可以开始训练啦:

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第25张图片
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第26张图片

训练过程中可以查看自己的训练日志:
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第27张图片

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第28张图片

当感觉看log枯燥无味的时候,BML也为你提供了可视化展示:
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第29张图片

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第30张图片

为大家清晰的展示我们的训练过程~,真的是太棒了!

"训练结束"后还能出一份评估报告:

在这里插入图片描述

当你有事外出的时候,训练完成之后也可以给你发送短信,这里自己进行选择。

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第31张图片
真的是爱了爱了!

七、模型部署

大家参考我写的另一篇文章,都是通用的换成你现在的模型就行,就不在细讲了,直接展示我部署完成的界面!
【BML全功能AI开发平台初体验】没有服务器也可以实现公有云部署!
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第32张图片
至此,公有云部署就完成啦,完全不用自己的服务器,哈哈!

八、模型调用

第一步:点击查看详情

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第33张图片

记录下你的调用接口地址,在下方代码部分需要修改API调用接口地址。
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第34张图片

第二步:点击控制台,对接口进行赋权

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第35张图片

第三步:创建应用

【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第36张图片

填写你的应用名称、应用归属、公司名称等信息。
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第37张图片
创建完成之后会显示你创建的应用信息,也就是对接口进行赋权的应用。
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第38张图片

第四步:记录API Key和Secret Key

记录好API Key和Secret Key,下方代码调用的时候需要进行输入授权。
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第39张图片

第五步:使用代码调用API接口

图像分类-单图单标签API参考文档

在这里我们使用python3调用进行演示。
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第40张图片

复制代码到自己本地开始进行调用:


"""
BML 图像分类 调用模型公有云API Python3实现
"""

import json
import base64
import requests
"""
使用 requests 库发送请求
使用 pip(或者 pip3)检查我的 python3 环境是否安装了该库,执行命令
  pip freeze | grep requests
若返回值为空,则安装该库
  pip install requests
"""


# 目标图片的 本地文件路径,支持jpg/png/bmp格式
IMAGE_FILEPATH = "【您的测试图片地址,例如:./example.jpg】"

# 可选的请求参数
# top_num: 返回的分类数量,不声明的话默认为 6 个
PARAMS = {"top_num": 2}

# 服务详情 中的 接口地址
MODEL_API_URL = "【您的API地址】"

# 调用 API 需要 ACCESS_TOKEN。若已有 ACCESS_TOKEN 则于下方填入该字符串
# 否则,留空 ACCESS_TOKEN,于下方填入 该模型部署的 API_KEY 以及 SECRET_KEY,会自动申请并显示新 ACCESS_TOKEN
ACCESS_TOKEN = "【您的ACCESS_TOKEN】"
API_KEY = "【您的API_KEY】"
SECRET_KEY = "【您的SECRET_KEY】"


print("1. 读取目标图片 '{}'".format(IMAGE_FILEPATH))
with open(IMAGE_FILEPATH, 'rb') as f:
    base64_data = base64.b64encode(f.read())
    base64_str = base64_data.decode('UTF8')
print("将 BASE64 编码后图片的字符串填入 PARAMS 的 'image' 字段")
PARAMS["image"] = base64_str


if not ACCESS_TOKEN:
    print("2. ACCESS_TOKEN 为空,调用鉴权接口获取TOKEN")
    auth_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials"               "&client_id={}&client_secret={}".format(API_KEY, SECRET_KEY)
    auth_resp = requests.get(auth_url)
    auth_resp_json = auth_resp.json()
    ACCESS_TOKEN = auth_resp_json["access_token"]
    print("新 ACCESS_TOKEN: {}".format(ACCESS_TOKEN))
else:
    print("2. 使用已有 ACCESS_TOKEN")


print("3. 向模型接口 'MODEL_API_URL' 发送请求")
request_url = "{}?access_token={}".format(MODEL_API_URL, ACCESS_TOKEN)
response = requests.post(url=request_url, json=PARAMS)
response_json = response.json()
response_str = json.dumps(response_json, indent=4, ensure_ascii=False)
print("结果:{}".format(response_str))

我们只需要修改五个地方即可完成调用
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第41张图片

  • IMAGE_FILEPATH:设置为自己本地的图片
  • MODEL_API_URL:为API接口的地址
  • ACCESS_TOKEN:留空即可(一定要把他的删除留空,或者是你自己计* 算出了ACCESS_TOKEN,写在这里也行)
  • API_KEY:创建应用的时候产生了,复制过来即可
  • SECRET_KEY:创建应用的时候产生了,复制过来即可

第六步:运行代码

数据集展示:
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第42张图片

修改完毕之后,运行代码,可以看下方图片,已经运行成功,识别出螺丝数据。
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第43张图片

至此,模型的调用也就成功了,大家赶紧自己去试试把

九、温馨提示

模型不用的时候,赶紧停止,毕竟免费额度有限哈哈
【BML全功能AI开发平台初体验】两小时搞定图像分类全流程!_第44张图片

十、总结

体验了BML全功能AI开发平台的图像分类全流程,从数据集标注-新建任务-模型选择-模型训练-模型部署-模型调用,总共用了不到两个小时就完成了,而且没有过多的打代码操作,模型部署阶段也是相当的给力,点击两下就好了,模型调用的时候,实例代码已经给出,只需要简单的改改就行了,真的是太方便了,大家也赶紧去试试把!

你可能感兴趣的:(BML,深度学习)