TensorBuffer

公開抽象類別 TensorBuffer
已知的直接子類別

代表模型輸入或輸出內容的資料緩衝區。

公用方法

靜態 TensorBuffer
createDynamic(DataType資料類型)
建立具有指定 DataType 的空白動態 TensorBuffer
靜態 TensorBuffer
createFixedSize(int[] 形狀、DataType dataType)
使用指定的 shapeDataType 建立 TensorBuffer
靜態 TensorBuffer
createFrom(TensorBuffer 緩衝區、DataType 資料類型)
使用指定的 DataType 從其他來源建立 TensorBuffer 深複製資料。
ByteBuffer
getBuffer()
傳回資料緩衝區。
抽象 DataType
getDataType()
傳回這個緩衝區的資料類型。
攔截
getFlatSize()
取得緩衝區的 smallSize。
抽象 float[]
getFloatArray()
傳回儲存在這個緩衝區中的值的浮點陣列。
抽象 浮點值
getFloatValue(int absIndex)
傳回指定索引的浮點值。
抽象 整數 []
getIntArray()
傳回儲存在這個緩衝區中的值的 int 陣列。
抽象 攔截
getIntValue(int absIndex)
傳回指定索引的 int 值。
整數 []
getShape()
取得目前的形狀。
抽象 攔截
getTypeSize()
傳回陣列中單一元素的位元組數。
布林值
isDynamic()
如果 TensorBuffer 是動態大小,則傳回 (可任意調整大小)。
抽象 void
loadArray(int[] src, int[] Shape)
將特定形狀的 int 陣列載入這個緩衝區。
抽象 void
loadArray(float[] src, int[] Shape)
將浮點陣列載入特定形狀的緩衝區。
void
loadArray(float[] src)
將浮點陣列載入這個緩衝區。
void
loadArray(int[] src)
將 int 陣列載入這個緩衝區。
void
loadBuffer(ByteBuffer 緩衝區)
將位元組緩衝區載入這個 TensorBuffer
void
loadBuffer(ByteBuffer buffer, int[] Shape)
將位元組緩衝區載入特定形狀的 TensorBuffer

繼承的方法

公用方法

公開 靜態 TensorBuffer createDynamic (DataType資料類型)

建立具有指定 DataType 的空白動態 TensorBuffer。形狀的形狀 已建立「TensorBuffer」{0}。

載入陣列或資料緩衝區時,動態 TensorBuffers 會重新分配記憶體 緩衝區大小不同以下列舉幾個例子:

 // Creating a float dynamic TensorBuffer:
 TensorBuffer tensorBuffer = TensorBuffer.createDynamic(DataType.FLOAT32);
 // Loading a float array:
 float[] arr1 = new float[] {1, 2, 3};
 tensorBuffer.loadArray(arr, new int[] {arr1.length});
 // loading another float array:
 float[] arr2 = new float[] {1, 2, 3, 4, 5};
 tensorBuffer.loadArray(arr, new int[] {arr2.length});
 // loading a third float array with the same size as arr2, assuming shape doesn't change:
 float[] arr3 = new float[] {5, 4, 3, 2, 1};
 tensorBuffer.loadArray(arr);
 // loading a forth float array with different size as arr3 and omitting the shape will result
 // in error:
 float[] arr4 = new float[] {3, 2, 1};
 tensorBuffer.loadArray(arr); // Error: The size of byte buffer and the shape do not match.
 

參數
dataType 要建立 TensorBuffer 的資料類型。

公開 靜態 TensorBuffer createFixedSize (int[] 形狀,DataType資料類型)

使用指定的 shapeDataType 建立 TensorBuffer。以下是一些 範例:

 // Creating a float TensorBuffer with shape {2, 3}:
 int[] shape = new int[] {2, 3};
 TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.FLOAT32);
 
 // Creating an uint8 TensorBuffer of a scalar:
 int[] shape = new int[] {};
 TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.UINT8);
 
 // Creating an empty uint8 TensorBuffer:
 int[] shape = new int[] {0};
 TensorBuffer tensorBuffer = TensorBuffer.createFixedSize(shape, DataType.UINT8);
 

固定大小的 TensorBuffer 一經建立即無法變更。

參數
形狀 待建立的 TensorBuffer 形狀。
dataType 要建立 TensorBuffer 的資料類型。
擲回
NullPointerException 如果 shape 為空值。
IllegalArgumentException 如果 shape 含有非正數元素。

公開 靜態 TensorBuffer createFrom (TensorBuffer 緩衝區、DataType資料類型)

使用指定的