使用百度EasyDL定制化图像识别(二)

版权声明:原创文章,未经允许,禁止转载! https://blog.csdn.net/weixin_36512652/article/details/80706971

    上一篇讲述了如何创建模型、训练模型、校验模型、发布模型,接下来我们学习如何在Python下请求我们的接口服务。


    1、进入百度云首页(不是百度云盘),进入控制台,在产品服务中选择图像识别,点击创建应用,然后填写应用名称、类型等信息,创建完成后查看应用信息



    2、点击上图左侧的定制化图像识别,点击AppID权限管理,添加我们先前创建的应用的AppID



    3、获取Access Token,我们在调用API时需要带上该参数才能顺利地请求服务,下面的代码用来获取Access Token,获取Access Token可以用多种语言来实现,详情参考百度云文档中心

import json
import requests

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=b0Xuhn9sZ6hf2u1YcKBP41ii' \
       '&client_secret=jtQqGUrWauLAnwA9wdvMvCmvCTVukPE3'
response = requests.get(host)
content = response.json()
access_token = content["access_token"]

    4、接下来我们要查看调用的服务接口地址,回到百度云模型中心,点击我的模型-->服务详情-->查看接口地址就能看到我们要调用的接口地址了,注意:一定要是审核成功的模型



    5、请求说明和返回说明

(1)请求说明:

HTTP方法:POST

请求URL:上图中的接口地址

URL参数:

    参数名                    参数值

access_token        步骤3中获取的access_token值

Header:

    参数名                   参数值

Content-Type        application/json

Body中请求参数:

    参数名                  参数值

image                    图像数据,base64编码(去掉头部)

top_num                返回分类数量


(2)返回说明如下:

返回参数:

    字段名                   说明

log_id                   唯一的log id,用于问题定位

results                  分类结果数组

name                      分类名称

score                       置信度


6、在代码中请求服务

import json
import requests
import base64

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=b0Xuhn9sZ6hf2u1YcKBP41ii' \
       '&client_secret=jtQqGUrWauLAnwA9wdvMvCmvCTVukPE3'
response = requests.get(host)
content = response.json()
access_token = content["access_token"]

image = open(r'C:\\Users\\pain\\Desktop\\plastic.jpg', 'rb').read()
data = {'image': base64.b64encode(image).decode()}

request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/classification/garbageclassification" + "?access_token=" + access_token
response = requests.post(request_url, data=json.dumps(data))
content = response.json()

print(content)

7、返回的识别结果




猜你喜欢

转载自blog.csdn.net/weixin_36512652/article/details/80706971