前言
首先需要知道的是:
①EasyDL和BML平台之间的区别在于BML更专业,训练时的算法、网络以及各种训练参数可选择性更高。而EasyDL可选择性更低,学习成本相对也更低。
②无论是EasyDL还是BML训练出的模型,部署到公有云后均可在百度智能云平台进行管理
③百度智能云平台可以通过百度账号,也可以通过单独的百度智能云账号登录 。注意要保证从训练模型到发布模型,再到调用API,整个过程期间要保证使用的是同一账户进行。
④调用公有云部署的模型时二者均通过百度智能云平台实现,大致步骤如下:
- 部署模型到百度公有云
- 在EasyDL&BML控制台创建应用
- 应用详情页获取AK SK
- 发送POST请求获取access_token
- 获取到模型检验结果
一、BML平台操作逻辑
1.1 在BML平台训练模型
百度搜索进入BML全功能AI开发平台
1.1.1 上传数据集
1.1.2 创建模型
依次找到模型训练->通用模型->计算机视觉模型->物体检测->创建
点击新建任务
配置训练信息进行训练,选择自动发布模型
百度提供了免费额度
1.2 部署模型
训练完成后依次找到模型仓库->模型管理->版本列表
选择在线部署
配置相关信息
部署完成后依次选择公有云部署->在线服务->查看模型
1.3 获取access_token
1.3.1 在BML控制台创建应用
1.3.2 打开鉴权认证文档
阅读以下内容
1.3.3 下载Postman(Windows)
在Postman中新建file
设置请求为POST,并在该栏填入以下内容
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=***client_secret=***
此时Key-Value值中的grant_type已默认输入
找到在百度智能云中创建的应用,分别复制AK、SK,分别粘贴覆盖掉以下命令中的***
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=***client_secret=***
根据文档可知,打开Postman继续在Key栏输入client_id和client_secret,对应的Value值输入复制好的AK、SK。
最后发送POST请求,得到鉴权认证access_token。
1.3.4 调用模型
找到BML控制台,复制模型的接口地址
提前查看文档
Postman中新建file
在header中按如下格式输入对应信息
<接口地址>?access_token=<Postman获取到的access_token>
新建一个Key,输入access_token,新建Value输入获取到的access_token
打开body,进行如下两步设置
在body中输入
{
"image": "<base64数据>"
}
打开base64图片在线转换工具,在左侧上传一张待检测图片,得到右侧base64码
从base64,后面开始选中,复制完整个base64码
用复制好的base64码替换body中的<base64数据>
点击send,得到模型检测结果
注:一定要保证控制台的服务为打开状态,如显示服务停止,则不能得到结果。
二、EasyDL平台操作逻辑
由于大部分操作与BML类似,故只给出部分关键操作。
2.1 EasyDL部署模型到公有云
训练配置选择公有云部署
训练完成后发布模型
查看服务详情
等待发布完成
发布完成后,打开控制台,再次找到应用列表,新建一个应用,在图像识别分区选择对应的服务。
2.2 获取access_token
重复BML操作即可
2.3 调用API
重复BML操作即可
2.4 参考文档
2.5 注意事项
如出现报错信息,根据错误码,对照文档中的错误示例查看即可。