人工智能-Paddle发布

百度飞桨-EasyDL

需求介绍

本人由于实习需要,需要快速训练完成一个可用的目标检测类模型,了解到百度飞桨的EasyDL具备这样的能力,通过试用发现,EasyDL在图像检测可以实现快速训练、快速部署应用。

简单介绍

EasyDL是百度大脑推出的零门槛AI开发平台,面向各行各业有定制AI需求、零算法基础或者追求高效率开发AI的企业用户。支持包括数据管理与数据标注、模型训练、模型部署的一站式AI开发流程,原始图片、文本、音频、视频等数据,经过EasyDL加工、学习、部署,可通过公有云API调用,或部署在本地服务器、小型设备、软硬一体方案的专项适配硬件上,通过SDK或API进一步集成。

开始训练

进入EasyDL零门槛AI开发平台,直接可以按照使用文档训练模型

  1. 创建模型
  2. 训练模型
  3. 校验模型
  4. 发布模型

image-20210714143409648

可以发现模型的训练和发布全部是可视化,流程化,并且支持自定义训练轮数和自定义数据增广方式,对于入门级使用特别友好。

可以在 使用的过程中体验和加深使用者对于数据本身的思考。

image-20210714143738823

模型发布

在模型训练完成后,能够快速的在联网电脑上进行网络访问和调用,在模型发布前需要参考发布文档做好准备工作。

接口赋权

登录EasyDL版控制台中创建一个应用,获得由appid,然后就可以参考接口文档正式使用.

image-20210714104434931

image-20210714104655180

创建完成

image-20210714144523243

本地应用

在模型发布成功后,就可以在本地电脑利用python端的requests请求服务进行使用,本质是将图片上传云端,云端返回json文件,json文件中包含返回的目标检测得到的类型和位置,可以对打包进行解析.

本处结合官方的参考案例,给出解决样例.

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


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

    # 服务详情 中的 接口地址
    # MODEL_API_URL = "【您的API地址】"
    MODEL_API_URL = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/detection/SketchAI1"

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

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

    # 获取ACCESS_TOKEN
    if not ACCESS_TOKEN:
        print("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("使用已有 ACCESS_TOKEN")

    #  向模型接口 '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(response_str)

    # 将json转化为dict解析返回的数据结果(需要具体情况具体分析)
    # html_json = json.loads(response_str)
    json_out = {}
    labels_list = []
    for j in response_json["results"]:
        _temp = {}
        _temp["name"] = j["name"]
        _temp["x1"] = j["location"]["left"]
        _temp["y1"] = j["location"]["top"]
        _temp["x2"] = j["location"]["left"] + j["location"]["width"]
        _temp["y2"] = j["location"]["top"] + j["location"]["height"]
        labels_list.append(_temp)
    json_out["labels"] = labels_list
    json_out = json.dumps(json_out)
    print(json_out, type(json_out))

最后感谢百度提供的这么好用的平台,如此简单地可以快速实现实用需求,帮助有探索兴趣的群体快速了解图像识别的工作流程,希望国内的人工智能环境发展的越来越好!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

儒雅的钓翁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值