資料格式與張量語義
本頁說明 InputOptions::format、OutputTensorOptions::format、張量影像中繼資料和樣本酬載標籤所使用的公開格式詞彙。
對於任務層級的使用,請從 張量與樣本 開始。當圖的邊界需要明確的格式合約時,請參考此頁。
格式標籤
FormatTag / FormatSpec 用於命名酬載格式。在 Python 中,請使用 pyneat.Format 或 pyneat.FormatTag 值來設定格式欄位。請勿將原始字串指派給 Python 格式欄位。
Python 公開了常用的使用者可見格式標籤。一些較低層級的 C++ 標籤,例如 BBOX、MLA、ARGMAX 和 DETESSDEQUANT,通常會透過張量語義中繼資料、酬載標籤或診斷資訊來呈現,而不是作為可指派的 pyneat.Format 值。
常見標籤:
| 標籤 | 典型酬載 | 意義 |
|---|---|---|
RGB | 影像 | 封裝的 RGB,每個通道 8 位元。 |
BGR | 影像 | 封裝的 BGR,每 個通道 8 位元。 OpenCV 預設使用此格式。 |
GRAY8 | 影像 | 8 位元灰階。 |
NV12 | 影像/影片 | Y 平面加上交錯的 UV 平面。寬度和高度必須為偶數。 |
I420 | 影像/影片 | Y、U 和 V 平面。寬度和高度必須為偶數。 |
H264 | 編碼 | H.264 存取單元 / NAL 串流。AVC 是一個別名。 |
H265 | 編碼 | H.265 / HEVC 存取單元 / NAL 串流。HEVC 是一個別名。 |
ENCODED | 編碼 | 通用編碼酬載。caps 字串識別不使用專用格式標籤的編解碼器。 |
FP32 | 張量 | Float32 張量酬載。 |
INT8 | 張量 | 帶符號的 INT8 張量酬載。 |
UINT8 | 張量 | 不帶符號的 UINT8 張量酬載。 |
BF16 | 張量 | BF16 張量酬載。 |
BBOX | 偵測 | 封裝的邊界框酬載。 |
ByteStream | 張量語義 | 由下游合約解釋的不透明位元組串流。 |
酬載族群
PayloadType 選擇跨越圖邊界的廣泛族群。
| 酬載族群 | 內部/媒體意義 | 常見中繼資料 |
|---|---|---|
Image | 解碼像素 | 像素格式、寬度、高度、佈局、影像語義中繼資料 |
Tensor | 模型或應用程式張量 | dtype、形狀、佈局、張量語義中繼資料 |
Encoded | 編碼媒體,例如 H.264、H.265 或 JPEG | caps 字串、編解碼器格式、時間戳記 |
Auto | 在可能的情況下推斷 | 僅在張量/樣本中繼資料足夠時使用 |
文字、音訊、位元組串流和不透明位元組酬載使用張量語義或專用的規格。它們不是在本次發布的公開 API 中進行審查的單獨的 PayloadType 列舉值。
原始影像對應
| 格式 | 負載類型 | 張量佈局/形狀 | 備註 |
|---|---|---|---|
RGB | Image | HWC、[H, W, 3] | 緊密排列的像素。 |
BGR | Image | HWC、[H, W, 3] | 用於 cv2.imread 或 OpenCV BGR 幀。 |
GRAY8 | Image | HW、[H, W] | 單通道灰度。 |
NV12 | Image | HW、[H, W],以及平面元資料 | 複合的 Y + UV 平面。 |
I420 | Image | HW、[H, W],以及平面元資料 | 複合的 Y + U + V 平面。 |
對於緊密格式,深度是通道數。對於張量負載,深度來自所選的佈局和形狀。