classe abstrata pública
TensorBuffer
Subclasses diretas conhecidas |
Representa o buffer de dados da entrada ou da saída de um modelo.
Métodos públicos
estática TensorBuffer | |
estática TensorBuffer |
createFixedSize(int[] shape, DataType dataType)
|
estática TensorBuffer |
createFrom(buffer do TensorBuffer, DataType dataType)
Cria um
TensorBuffer de cópia profunda de dados de outro, com o DataType especificado. |
ByteBuffer |
getBuffer()
Retorna o buffer de dados.
|
abstrato DataType |
getDataType()
Retorna o tipo de dados desse buffer.
|
int |
getFlatSize()
Recebe o flatSize do buffer.
|
abstrato float[] |
getFloatArray()
Retorna uma matriz flutuante dos valores armazenados nesse buffer.
|
abstrato flutuar |
getFloatValue(int absIndex)
Retorna um valor flutuante em um determinado índice.
|
abstrato int[] |
getIntArray()
Retorna uma matriz int dos valores armazenados nesse buffer.
|
abstrato int. |
getIntValue(int absIndex)
Retorna um valor int em um determinado índice.
|
int[] |
getShape()
Recebe a forma atual.
|
abstrato int. |
getTypeSize()
Retorna o número de bytes de um único elemento na matriz.
|
booleano |
isDynamic()
Retorna se
TensorBuffer for de tamanho dinâmico (pode ser redimensionado arbitrariamente). |
abstrato anular |
loadArray(int[] src, int[] shape)
Carrega uma matriz int nesse buffer com uma forma específica.
|
abstrato anular |
loadArray(float[] src, int[] shape)
Carrega uma matriz flutuante nesse buffer com um formato específico.
|
void |
loadArray(float[] src)
Carrega uma matriz flutuante nesse buffer.
|
void |
loadArray(int[] src)
Carrega uma matriz int nesse buffer.
|
void | |
void |
loadBuffer(buffer ByteBuffer, formato int[])
Carrega um buffer de bytes nesse
TensorBuffer com uma forma específica. |
Métodos herdados
Métodos públicos
públicas estática TensorBuffer createDynamic (DataType dataType)
Cria um TensorBuffer
dinâmico vazio com o DataType
especificado. A forma
criado em TensorBuffer
é {0}.
Os TensorBuffers dinâmicos realocam a memória ao carregar matrizes ou buffers de dados de tamanhos de buffer diferentes. Veja alguns exemplos:
// 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.
Parâmetros
dataType | O dataType do TensorBuffer a ser criado.
|
---|
públicas estática TensorBuffer createFixedSize (int[] shape, DataType dataType)
Cria um TensorBuffer
com os shape
e DataType
especificados. Confira alguns
exemplos:
// 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);
Não é possível alterar o tamanho de um TensorBuffer de tamanho fixo depois que ele é criado.
Parâmetros
forma | A forma do TensorBuffer a ser criado. |
---|---|
dataType | O dataType do TensorBuffer a ser criado. |
Gera
NullPointerException | se shape for nulo. |
---|---|
IllegalArgumentException | se shape tiver elementos não positivos.
|