我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
Meta TimeSformer 是一種基於 Transformer 的架構,專為視頻數據設計,它首先將視頻的每一幀轉換為特徵序列,這些特徵序列能夠捕捉畫面中的空間訊息,接著,這些特徵被傳遞到解碼器堆疊,通過模型的多層結構來建模幀與幀之間的時序關係,最後,模型輸出的是原始的 Logits,即對不同標籤的信心分數,這些分數可以通過 Softmax 等技術轉化為具體的分類標籤。TimeSformer 的這種處理方法特別適合用於分析視頻中的動作和場景,其結合空間和時間特徵的能力使其在視頻分類、動作識別等任務中表現出色。
TimeSformer 使用 PyAv 庫將視頻解碼為 NumPy 陣列,此 NumPy 陣列以視頻播放順序保存每一幀的數據,取樣率和內容長度決定了解碼出的幀數,TimeSformer 依據這些取樣幀的序列進行預測。接下來,我們將使用 TimeSformer 模型的輸出作為輸入,結合 Stability AI 的 Stable Diffusion 進行「標籤到圖像」任務,目標是探索如何利用擴散模型來增強標籤預測或完成其他相關任務。
首先安裝相關配件包:
!pip install transformers
!pip install av
from IPython.display import HTML
from base64 import b64encode
from huggingface_hub import hf_hub_download
接著從 HuggingFace 下載影片,並讀取:
file_path = hf_hub_download(repo_id = "nielsr/video-demo", filename = "eating_spaghetti.mp4", repo_type = "dataset")
with open(file_path, 'rb') as f:
video_data = f.read()
HTML("""
""".format(b64encode(video_data).decode()))
























