全部產品
Search
文件中心

Platform For AI:視頻分類訓練

更新時間:Jul 13, 2024

針對原始視頻資料,您可以使用視頻分類訓練演算法組件對其進行模型訓練,從而獲得用於推理的視頻分類模型。本文介紹視頻分類訓練演算法組件的配置方法及使用樣本。

前提條件

已開通OSS並完成授權,詳情請參見開通OSS服務雲產品依賴與授權:Designer

使用限制

  • Designer提供該演算法組件。

  • 僅支援DLC計算引擎。

演算法簡介

視頻分類別模組提供主流的3D卷積神經網路和Transformer模型用於視頻分類任務的訓練,目前已經支援的模型包括X3D系列的X3D-XS、X3D-M及X3D-L和Transformer模型的swin-t、swin-s、swin-b、swin-t-bert,其中swin-t-bert可使用視訊加文本的雙模態輸入。

視頻分類訓練演算法組件位於組件庫視覺演算法檔案夾下的離線訓練模型子檔案夾。

可視化配置組件

  • 輸入樁

    輸入樁(從左至右)

    限制資料類型

    建議上遊組件

    是否必選

    訓練資料

    OSS

    讀OSS資料

    否。如果沒有通過該輸入樁傳入訓練資料,則需要在欄位設定頁簽中的訓練資料檔案oss路徑參數配置訓練資料,詳情請參見下文的組件參數

    評估資料

    OSS

    讀OSS資料

    否。如果沒有通過該輸入樁傳入評估資料,則需要在欄位設定頁簽中的評估資料檔案oss路徑參數配置評估資料,詳情請參見下文的組件參數

  • 組件參數

    頁簽

    參數

    是否必選

    描述

    預設值

    欄位設定

    訓練所用oss目錄

    儲存訓練模型的OSS目錄,例如oss://pai-online-shanghai.oss-cn-shanghai-internal.aliyuncs.com/test/test_video_cls

    資料目錄

    儲存視頻檔案的OSS目錄,若不為空白,則會和標籤檔案中的視頻檔案名稱共同拼接為完整的視頻檔案路徑,例如資料目錄為oss://pai-vision-data-hz/EasyMM/DataSet/kinetics400/,標籤檔案中的視頻檔案名稱為video/1.mp4,則最終的視頻檔案路徑為oss://pai-vision-data-hz/EasyMM/DataSet/kinetics400/video/1.mp4

    訓練資料檔案oss路徑

    如果沒有通過輸入樁配置演算法組件的訓練資料,則需要配置該參數,表示訓練資料檔案所在的OSS路徑,例如oss://pai-vision-data-hz/EasyMM/DataSet/kinetics400/train_pai.txt

    如果同時通過輸入樁和該參數配置了演算法組件的訓練資料,則優先使用輸入樁配置的輸入。

    若標籤檔案中不包含文本,標籤檔案每行的儲存格式為視頻檔案名稱 標籤,元素之間使用空格分隔,若標籤檔案中包含文本,每行的儲存格式為視頻檔案名稱\t文本\t標籤,元素之間使用\t分隔

    評估資料檔案oss路徑

    如果沒有通過輸入樁配置演算法組件的評估資料,則需要配置該參數,表示評估資料檔案所在的OSS路徑,例如oss://pai-vision-data-hz/EasyMM/DataSet/kinetics400/train_pai.txt

    如果同時通過輸入樁和該參數配置了演算法組件的評估資料,則優先使用輸入樁配置的輸入。

    預訓練模型oss路徑

    建議使用預訓練模型,以提高訓練模型的精度。

    參數設定

    視頻分類模型網路

    選擇使用的識別模型網路,支援以下取值:

    • x3d_xs

    • x3d_l

    • x3d_m

    • swin_t

    • swin_s

    • swin_b

    • swin_t_bert

    x3d_xs

    是否多標籤

    任務是否屬於多標籤。

    目前僅swin_t_bert支援多標籤訓練。

    false

    分類類別數目

    分類類別的數量。

    初始學習率

    初始學習率。

    x3d模型推薦使用學習率0.1,swin模型推薦使用學習率0.0001。

    0.1

    訓練迭代輪數

    訓練的迭代輪數。

    x3d模型推薦300,swin模型推薦30。

    10

    warmup迭代輪數

    開始設定較小的學習率進行訓練,直到warmup迭代輪數才使學習率達到初始學習率,從而防止模型梯度爆炸。例如設定warmup迭代輪數為35時,模型訓練的學習率會逐漸增加,到第35 Epoch時增加到初始學習率

    35

    訓練batch_size

    訓練的批大小,即單次模型迭代或訓練過程中使用的樣本數量。

    32

    模型儲存頻率

    儲存Checkpoint的頻率,以Epoch為單位。取值為1表示每完成一次訓練就儲存一次Checkpoint。

    1

    執行調優

    開啟半精度

    選中該參數,表示使用FP16半精度進行模型訓練,用來降低記憶體佔用。

    單機或分布式

    運行模式,支援以下取值:

    • single_dlc:單機DLC。

    • distribute_dlc:分布式DLC。

    single_dlc

    gpu機型選擇

    選擇啟動並執行GPU規格。

    8vCPU+60GB Mem+1xp100-ecs.gn5-c8g1.2xlarge

  • 輸出樁

    輸出樁(從左至右)

    資料類型

    下遊組件

    輸出模型

    OSS路徑。該路徑是您在欄位設定頁簽的訓練所用oss目錄參數配置的OSS路徑,訓練產生的.pth模型儲存在該路徑下。

    通用視頻預測

樣本

您可以使用視頻分類訓練演算法組件構建如下工作流程。視頻分類樣本本樣本中,您需要按照以下流程配置組件:

  1. 使用兩個讀OSS資料組件分別讀取視頻資料檔案作為訓練資料和評估資料,即配置讀OSS資料組件的OSS資料路徑參數為視頻資料檔案的OSS路徑。

    視頻資料檔案的格式如下圖所示。標籤檔案該檔案的每一行為一個視頻存放路徑和分類標籤,二者之間使用空格分隔。

  2. 將訓練資料和評估資料接入視頻分類訓練演算法組件,並配置具體參數,詳情請參見上文的可視化配置組件

相關文檔

  • 關於Designer組件更詳細的內容介紹,請參見Designer概述

  • Designer預置了多種演算法組件,你可以根據不同的使用情境選擇合適的組件進行資料處理,詳情請參見組件參考:所有組件匯總