Transformers 文件
影片處理器
並獲得增強的文件體驗
開始使用
影片處理器
影片處理器是一種工具,負責為影片模型準備輸入特徵,並處理其輸出的後處理。它提供諸如調整大小、歸一化和轉換為 PyTorch 等轉換。
影片處理器擴充套件了影像處理器的功能,允許模型處理具有與影像不同的引數集的影片。它充當原始影片資料和模型之間的橋樑,確保輸入特徵針對 VLM 進行了最佳化。
使用 from_pretrained() 從 Hugging Face Hub 或本地目錄中的影片模型載入影片處理器配置(影像大小、是否歸一化和重新縮放等)。每個預訓練模型的配置應儲存到 [video_preprocessor_config.json] 檔案中,但舊模型可能將配置儲存在 preprocessor_config.json 檔案中。請注意,後者不推薦使用,將來會刪除。
用法示例
這是一個使用 llava-hf/llava-onevision-qwen2-0.5b-ov-hf
模型載入影片處理器的示例
from transformers import AutoVideoProcessor
processor = AutoVideoProcessor.from_pretrained("llava-hf/llava-onevision-qwen2-0.5b-ov-hf")
目前,如果將基礎影像處理器用於影片,它會將每幀視為單獨的影像並逐幀應用轉換來處理影片資料。雖然功能正常,但這種方法效率不高。使用 AutoVideoProcessor
允許我們利用快速影片處理器,利用 torchvision 庫。快速處理器可以一次性處理整個影片批次,無需迭代每個影片或幀。這些更新引入了 GPU 加速,顯著提高了處理速度,特別是對於需要高吞吐量的任務。
快速影片處理器適用於所有模型,並在初始化 AutoVideoProcessor
時預設載入。當使用快速影片處理器時,您還可以設定 device
引數以指定進行處理的裝置。預設情況下,如果輸入是張量,則在與輸入相同的裝置上進行處理,否則在 CPU 上進行處理。為了進一步提高速度,在使用“cuda”作為裝置時,我們可以編譯處理器。
import torch
from transformers.video_utils import load_video
from transformers import AutoVideoProcessor
video = load_video("video.mp4")
processor = AutoVideoProcessor.from_pretrained("llava-hf/llava-onevision-qwen2-0.5b-ov-hf", device="cuda")
processor = torch.compile(processor)
processed_video = processor(video, return_tensors="pt")