百度EasyDL圖像分類的使用

1. 創建模型

瀏覽器打開

https://ai.baidu.com/easydl/image_classification

點擊開始訓練,然後點擊創建模型,選擇公司或個人,填寫對應資料,如下圖:

在這裏插入圖片描述

點擊下一步,可以看到模型已經創建成功

在這裏插入圖片描述


2.創建數據集

點擊我的數據集——>創建數據集

在這裏插入圖片描述

輸入數據集名稱,然後上傳壓縮包,圖片和壓縮包需要遵守右邊的規定。

然後點擊上傳壓縮包——>保存

然後等待數據集處理完成,這個時間非常短。

可以看到上傳了54張圖

在這裏插入圖片描述

3.訓練模型

點擊訓練模型——>選擇剛纔創建好的模型——>勾選雲服務

這裏根據自己的需求選擇算法和訓練方式,對應的算法和訓練方式後面會有詳細的說明。

調參功能需要先申請開通權限才能使用。

還可以勾選離線服務,可以在無網絡的情況下使用模型

在這裏插入圖片描述

然後點擊添加訓練數據,選擇訓練集,添加標籤。

在這裏插入圖片描述

可以看到底部已經顯示:已經選擇1個數據集的2個分類。這裏還可以從其他數據中添加標籤。

添加完成後點擊取消,回到之前的頁面,如果有需要,可以添加識別結果爲其他的分類,當檢測到的結果不在分類標籤中,都會歸爲【其他】分類。從之後的實測檢驗情況來看,建議最好不要勾選。

在這裏插入圖片描述

然後點擊開始訓練,這樣就開始訓練了。

在這裏插入圖片描述

4.校驗

等待訓練結束後,如下圖所示:

在這裏插入圖片描述

點擊校驗——>啓動模型校驗服務

等待一會,進入到如下界面:

在這裏插入圖片描述

點擊添加圖片,然後選擇校驗圖片,可以看到下圖:

在這裏插入圖片描述

分類結果不正確的情況下,點擊糾正識別結果,把圖片放到對應的分類和數據集中,然後提交。

在這裏插入圖片描述

5.上線

當模型經過自測檢驗,能達到預期的識別率的時候,可以點擊申請上線的的按鈕。

在這裏插入圖片描述

填寫服務名稱與接口地址,然後點擊提交申請。

在這裏插入圖片描述

可以看到狀態爲審覈中,等待審覈通過。

期間可以在 我的模型全部版本中進行查看

在這裏插入圖片描述

可以看到申請狀態爲審覈成功

在這裏插入圖片描述

點擊服務詳情,再點擊立即使用

在這裏插入圖片描述

進入到如下頁面

在這裏插入圖片描述

點擊創建應用,然後填入名稱和描述,如下圖:

在這裏插入圖片描述

點擊立即創建,創建成功後再點擊返回應用列表,回到如下界面:

在這裏插入圖片描述

可以看到API Key和Secret Key

6.獲取access_token

使用get請求,通過下面的鏈接可以拿到access_token

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】

返回結果:

{
  "refresh_token": "25.b55fe1d287227ca97aab219bb249b8ab.315360000.1798284651.282335-8574074",
  "expires_in": 2592000,
  "scope": "public wise_adapt",
  "session_key": "9mzdDZXu3dENdFZQurfg0Vz8slgSgvvOAUebNFzyzcpQ5EnbxbF+hfG9DQkpUVQdh4p6HbQcAiz5RmuBAja1JJGgIdJI",
  "access_token": "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074",
  "session_secret": "dfac94a3489fe9fca7c3221cbf7525ff"
}
access_token: 要獲取的Access Token
expires_in: Access Token的有效期(秒爲單位,一般爲1個月)

7.進行圖像分類

import requests
import time
import base64

access_token = "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074"

request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/classification/tools?access_token={0}".format(access_token)

with open('test_dao.jpg', 'rb') as f:
    image_base64 = base64.b64encode(f.read())
    image_base64_data = image_base64.decode()
    data = {
        "image":image_base64_data,
        "top_num":"5"
    }
    start = time.time()
    result = requests.post(request_url, json=data).text
    end = time.time()
    print('耗時====',end - start)
    print(result)

輸出結果如下:

耗時==== 2.406568765640259
{"log_id":8743601095974003063,"results":[{"name":"[default]","score":0.8629010319709778},{"name":"knife","score":0.12168608605861664},{"name":"screwdriver","score":0.015412857756018639}]}

name是圖像分類名稱

score是可信度

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章