TensorBuffer

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
createDynamic(dataType DataType)
Cria um TensorBuffer dinâmico vazio com o DataType especificado.
estática TensorBuffer
createFixedSize(int[] shape, DataType dataType)
Cria um TensorBuffer com os shape e DataType especificados.
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
loadBuffer(buffer ByteBuffer)
Carrega um buffer de bytes nesse TensorBuffer.
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.