公開抽象類別
TensorBuffer
已知的直接子類別 |
代表模型輸入或輸出內容的資料緩衝區。
公用方法
靜態 TensorBuffer | |
靜態 TensorBuffer | |
靜態 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 | |
void |
繼承的方法
公用方法
公開 靜態 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資料類型)
使用指定的 shape
和 DataType
建立 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 含有非正數元素。
|