在Model Gallery中,您可以選擇直接部署開源的預訓練圖片分類模型,或針對定製化情境,使用自己的資料集對預訓練模型進行微調訓練,並使用微調訓練模型將圖片分類成定製化的類別。本文為您介紹如何使用Model Gallery執行圖片分類任務。
前提條件
已建立OSS Bucket儲存空間,具體操作請參見控制台建立儲存空間。
一、進入模型詳情頁面
進入Model Gallery頁面。
登入PAI控制台。
在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應工作空間內。
在左側導覽列單擊快速開始 > Model Gallery,進入Model Gallery頁面。
在Model Gallery首頁,單擊電腦視覺地區下的圖片分類,然後單擊ViT映像分類-通用模型卡片,進入模型詳情頁面。

在模型列表頁面,您可以看到多個來自不同開源社區的主流模型。您也可以自由選擇其他適合您當前業務需求的模型。
一般來說,參數量越大的模型效果會更好,但相應的微調訓練所需要的資料量和模型線上服務運行時產生的費用也會更多。
大多數模型會標註所使用的預訓練資料集。預訓練資料集和實際使用情境越接近,直接部署和微調訓練效果都會越好。您可以在選擇模型後的模型詳情頁面獲得更多關於該模型預訓練資料集的資訊。
二、直接部署模型
Model Gallery提供的cv_vit-base_image-classification_ImageNet-labels模型來源於ModelScope提供的ViT映像分類-通用模型。它是基於Transformer ViT Base架構的圖片分類模型,在ImageNet-1K資料集上完成圖片分類訓練,可以直接用於ImageNet-1K標籤覆蓋到的圖片分類任務。您可以通過Model Gallery將此模型直接部署到EAS,建立一個模型服務,用於圖片分類的推理任務。具體操作步驟如下:
部署服務。
在模型詳情頁面,單擊模型部署。
確認模型服務資訊和資源部署資訊。
Model Gallery已經根據每個模型的特點預置了部署相關的計算資源與服務名稱,本案例使用預設配置。您也可以根據業務需要對部署相關的配置變更。如何配置參數,詳情請參見部署模型和調試模型。
單擊部署,並在計費提醒對話方塊中,單擊確定。
頁面自動跳轉到服務詳情頁面,在基本資料地區查看模型服務部署狀態。當狀態變為運行中時,表明模型服務已部署成功。
調用模型服務。
模型服務部署成功後,您即可通過HTTP API調用模型服務,發送預測請求。模型服務接收通過Base64編碼的圖片,並以JSON形式返回預測的結果。具體操作步驟如下。
在服務詳情頁面的資源資訊地區,單擊查看調用資訊。

在調用資訊對話方塊的公網地址調用頁簽中,查看公網調用的訪問地址和Token,並儲存到本地。
使用Python Requests庫調用模型服務,範例程式碼如下。
import requests import base64 image_path = "<PathToLocalImage>" url = "<PredictionServiceURL>" token = "<PredictionServiceAccessToken>" def encode_file_to_base64(f): with open(f, "rb") as file: encoded_string = base64.b64encode(file.read()) base64_str = str(encoded_string, "utf-8") return base64_str base64_string = encode_file_to_base64(image_path) request_body = { "image": base64_string } headers = {"Authorization": token} resp = requests.post(url=url, headers=headers, json=request_body) print(resp.content.decode()) print("status code:", resp.status_code)其中:
token和url替換為上述步驟中查詢到的Token和訪問地址;image_path替換為本地圖片路徑,圖片格式為.png或.jpg。調用成功,模型服務將返回最有可能的5個圖片分類和每個分類的得分。結果樣本如下。
{ "scores": [ 0.4078965485095978, 0.24673610925674438, 0.1930493414402008, 0.0026617543771862984, 0.0009246605914086103 ], "labels": [ "tiger cat", "tabby, tabby cat", "Egyptian cat", "lynx, catamount", "tiger, Panthera tigris" ] }
三、微調訓練模型
cv_vit-base_image-classification_ImageNet-labels模型適用於ImageNet-1K覆蓋標籤的圖片分類任務。當您需要分類的圖片領域不在ImageNet-1K標籤中時,可以通過提供少量相關的圖片和標籤,通過微調訓練的方式獲得對應領域的圖片分類模型。您可以按照以下操作步驟完成模型的微調訓練以及產出模型的部署。
準備資料。
按照以下目錄結構準備資料集:
模型支援使用OSS上的圖片資料進行訓練。您需要通過目錄結構組織資料集,每一個目錄名是一個類別,相應類別的圖片都存放在類別目錄的一級子目錄下。例如訓練資料集的輸入為
oss://{YourOssBucket}.{OssEndpoint}/{PathToTrainData}/,則該目錄下的資料結構為:├── category-1 │ ├── image1.jpeg │ └── image2.jpeg ├── category-2 │ ├── image3.jpeg │ └── image4.jpeg |... |... └── category-n ├── imagexxx.jpeg └── imageyyy.jpeg為了獲得效能更好的模型,除了提供訓練資料集之外,也推薦您按照以上目錄結構準備一份驗證資料集,用於評估模型的效能以及訓練參數的最佳化調整。
將資料集按照上述目錄結構上傳到OSS儲存空間。如何上傳資料到OSS儲存空間,請參見控制台上傳檔案。
提交訓練作業。
準備好使用的資料集後,您可以在模型詳情頁面單擊訓練,配置訓練資料集、驗證資料集和輸出路徑。
Model Gallery已經預先根據模型特點預置了計算資源、超參數等參數,您可以使用預設參數,也可以根據業務需要進行修改。如何配置參數,請參見訓練模型。
說明cv_vit-base_image-classification_ImageNet-labels的模型預設使用MiniImageNet-100資料集進行微調訓練,方便您進行試用體驗。
單擊訓練。

頁面將自動跳轉至任務詳情頁面。您可以查看訓練任務的執行進度、任務日誌以及模型的評估資訊。當訓練任務成功運行後,訓練作業產生的模型將儲存在上述步驟配置的輸出路徑中。

部署微調模型。
訓練好的模型會自動註冊到AI資產-模型管理中,您可以查看或部署對應的模型,詳情請參見註冊及管理模型。