使用数据集上传API导入线下数据
更新时间:2020-11-25
当线下有大规模已经标注好的数据,在上传时有两种方式: 一种是通过在页面以压缩包的形式上传标注文件及原始数据,这种方式对标注文件的格式有一定规范要求,详见不同数据类型的导入和上传方式; 一种为通过调用数据集上传API形式导入线下数据,当线下已有较大规模的已标注数据时,适合用该种方式上传。本文档主要介绍如何用数据集管理API上传数据。
目录
接口鉴权
1、进入BML控制台的公有云服务管理—应用列表——创建应用
2、根据页面提示输入应用名称、应用场景等说明完成应用创建
3、应用详情页获取API Key和Secret Key
数据集创建API接口文档
接口功能描述
调用该接口完成数据集API创建,目前支持图像分类、物体检测、文本分类、短文本匹配四种数据类型创建。
请求说明
请求示例
HTTP 方法:POST
请求URL:https://aip.baidubce.com/rpc/2.0/easydl/pro/dataset/create
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
Body中放置请求参数,参数详情如下:
请求参数
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
dataset_name | 是 | string | 数据集名称,长度不超过100个utf-8字符 |
type | 是 | string | 数据集类型,可包括: IMAGE_CLASSIFICATION, OBJECT_DETECTION, TEXT_MATCHING, TEXT_CLASSIFICATION 分别对应:图像分类、物体检测、短文本匹配、文本分类 |
template_type | 是 | string | 标注模板类型,图像分类-单图单标签传值IMAGE_CLASSIFICATION_ONE_LABEL ;图像分类-单图多标签传值IMAGE_CLASSIFICATION_MUL_LABEL ;矩形框标注传值OBJECT_DETECTION_RECTANGLE 单文本单分类传值:TEXT_CLASSIFICATION_ONE_LABEL 短文本相似度传值:TEXT_SIMILARITY |
例如
{
"type":"TEXT_MATCHING",
"template_type":"TEXT_SIMILARITY",
"dataset_name":"lys_test_api2"
}
返回说明
返回参数
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | int | 唯一的log id,用于问题定位 |
dataset_id | 否 | int | 创建的数据集ID |
例如
{
"dataset_id": 14611,
"log_id": 1928365800
}
数据集上传API接口文档
接口功能描述
该接口可用于对已创建的数据集上传数据内容,目前支持图像分类、物体检测、文本分类、短文本匹配四类数据创建。
请求说明
请求示例
HTTP 方法:POST
请求URL:https://aip.baidubce.com/rpc/2.0/easydl/pro/dataset/addentity
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | application/json |
Body中放置请求参数,参数详情如下:
请求参数
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
dataset_id | 是 | number | 数据集ID |
type | 是 | string | 数据集类型,可包括: IMAGE_CLASSIFICATION, OBJECT_DETECTION, TEXT_MATCHING, TEXT_CLASSIFICATION 分别对应:图像分类、物体检测、短文本匹配、文本分类 |
template_type | 是 | string | 标注模板类型,图像分类-单图单标签传值IMAGE_CLASSIFICATION_ONE_LABEL ;图像分类-单图多标签传值IMAGE_CLASSIFICATION_MUL_LABEL ;矩形框标注传值OBJECT_DETECTION_RECTANGLE 单文本单分类传值:TEXT_CLASSIFICATION_ONE_LABEL 短文本相似度传值:TEXT_SIMILARITY |
entity_content | 是 | string | type为IMAGE_CLASSIFY/OBJECT_DETECT时,填入图片的base64编码;type为TEXT_CLASSIFY/TEXT_MATCHING时,填入utf-8编码的文本。注意:当type为TEXT_MATCHING(即短文本匹配)时,短文本之间用\t分隔。 |
labels | 否 | array(object) | 标签/分类数据 |
+label_name | 否 | string | 标签/分类名称(由数字、字母、中划线、下划线组成),长度限制20B |
+left | 否 | number | 物体检测时需给出,标注框左上角到图片左边界的距离(像素) |
+top | 否 | number | 物体检测时需给出,标注框左上角到图片上边界的距离(像素) |
+width | 否 | number | 物体检测时需给出,标注框的宽度(像素) |
+height | 否 | number | 物体检测时需给出,标注框的高度(像素) |
append_label | 否 | boolean | 确定添加标签/分类的行为:追加(true)、替换(false)。默认为追加(true)。 |
返回说明
返回参数
字段 | 必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | int | 唯一的log id,用于问题定位 |
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码。
- error_msg:错误描述信息,帮助理解和解决发生的错误。
例如Access Token失效返回:
{
"error_code": 110,
"error_msg": "Access token invalid or no longer valid"
}
需要重新获取新的Access Token再次请求即可。
错误码 | 错误信息 | 描述 |
---|---|---|
1 | Unknown error | 服务器内部错误,请再次请求, 如果持续出现此类错误,请通过QQ群(679517246)或工单联系技术支持团队。 |
2 | Service temporarily unavailable | 服务暂不可用,请再次请求, 如果持续出现此类错误,请通过QQ群(679517246)或工单联系技术支持团队。 |
3 | Unsupported openapi method | 调用的API不存在,请检查后重新尝试 |
4 | Open api request limit reached | 集群超限额 |
6 | No permission to access data | 无权限访问该用户数据 |
13 | Get service token failed | 获取token失败 |
14 | IAM Certification failed | IAM鉴权失败 |
15 | app not exsits or create failed | 应用不存在或者创建失败 |
17 | Open api daily request limit reached | 每天请求量超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请通过QQ群(679517246)联系群管手动提额 |
18 | Open api qps request limit reached | QPS超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请通过QQ群(679517246)联系群管手动提额 |
19 | Open api total request limit reached | 请求总量超限额,已上线计费的接口,请直接在控制台开通计费,调用量不受限制,按调用量阶梯计费;未上线计费的接口,请通过QQ群(679517246)联系群管手动提额 |
100 | Invalid parameter | 无效的access_token参数,请检查后重新尝试 |
110 | Access token invalid or no longer valid | access_token无效 |
111 | Access token expired | access token过期 |
406000 | internal server error | 服务错误 |
406001 | param[xx] invalid | 参数xx不合法,请检查相关参数 |
406002 | dataset not exist | 数据集不存在 |
406003 | dataset already exists | 数据集已存在 |
406004 | dataset can not be modified temporarily | 数据集暂不可修改 |
406005 | label not exist | 标签/分类不存在 |
406006 | no permission to modify the dataset | 没有修改数据集的权限 |
406007 | dataset cannot be modified while smart annotation is running | 智能标注期间不可修改数据集 |
406008 | quota exceeded | 配额超限 |