TensorFlow Lite 中使用的已型多維度陣列。
Tensor
的原生控制代碼是由 NativeInterpreterWrapper
管理,用戶端不需要關閉。然而,NativeInterpreterWrapper
關閉後,tensor 控制代碼就會失效。
巢狀類別
類別 | Tensor.QuantizationParams | 與 TFLite Model 結構定義檔案中 資料表 QuantizationParameters 對應的量化參數。 |
公用方法
抽象 ByteBuffer |
asReadOnlyBuffer()
傳回 Tensor 資料的唯讀
ByteBuffer 檢視畫面。 |
抽象 DataType | |
抽象 int |
numBytes()
傳回 Tensor 資料的大小 (以位元組為單位)。
|
抽象 int | |
抽象 int |
numElements()
傳回 Tensor 扁平化 (1-D) 檢視畫面中的元素數量。
|
Tensor.QuantizationParams |
quantizationParams()
傳回所屬解譯器內張量的量化參數。
|
抽象 int[] | |
抽象 int[] |
shapeSignature()
傳回 Tensor 的原始形狀,即每個維度的大小,也就是在執行任何大小調整前。
|
公用方法
public 抽象 ByteBuffer asReadOnlyBuffer ()
傳回 Tensor 資料的唯讀 ByteBuffer
檢視畫面。
一般來說,這個方法最適合用於在執行推論「之後」(例如透過 InterpreterApi.run(Object, Object)
) 取得輸出張量資料的唯讀檢視畫面。特別注意的是,某些圖形具有動態形狀的輸出,因此能將預先定義的輸出緩衝區饋送給解譯器異常。使用方式範例:
interpreter.run(input, null);
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
// Copy or read from outputBuffer.
警告:如果張量尚未分配,例如在執行推論前分配,結果將不會定義。請注意,當張量以任何方式失效時 (例如,執行推論或調整圖形大小),基礎張量指標也可能有所變更,因此「不能」安全保留傳回的緩衝區參照,以供在推論後立即使用。*錯誤* 使用範例:
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
interpreter.run(input, null);
// Copy or read from outputBuffer (which may now be invalid).
擲回
IllegalArgumentException | 表示系統尚未分配 Tensor 資料。 |
---|
public 抽象 int numBytes ()
傳回 Tensor 資料的大小 (以位元組為單位)。
public 抽象化 int numDimensions ()
public 抽象 int numElements ()
傳回 Tensor 扁平化 (1-D) 檢視畫面中的元素數量。
公用 抽象 Tensor.QuantizationParams quantizationParams ()
傳回所屬解譯器內張量的量化參數。
只有量化張量具備有效的 QuantizationParameters
。如果不是量化的張量,則尺度和零點值都會是 0。
public 抽象化 int[] shapeSignature ()
傳回 Tensor 的原始形狀,即每個維度的大小,也就是在執行任何大小調整前。未知的維度 指定的值為 -1。
傳回
- 其中 i-th 元素是張量的 i-th 維度大小的陣列。