Tensor

público final classe Tensor

Uma matriz multidimensional estaticamente tipada cujos elementos são de um tipo descrito por T.

As instâncias de um tensor não são thread-safe.

AVISO: os recursos consumidos pelo objeto Tensor devem ser liberados explicitamente invocando o método close() quando o objeto não for mais necessário. Por exemplo, usando um bloco try-with-resources:

try (Tensor t = Tensor.create(...)) {
   doSomethingWith(t);
 
 }

Métodos Públicos

boleano
booleanValue ()
Retorna o valor em um tensor Boolean escalar.
byte[]
bytesValue ()
Retorna o valor em um tensor de String escalar.
vazio
fechar ()
Libere recursos associados ao Tensor.
<U> U
copyTo (U dst)
Copia o conteúdo do tensor para dst e retorna dst .
Tensor estático <?>
criar (objeto obj)
Cria um tensor a partir de um objeto cuja classe é inspecionada para descobrir qual deve ser o tipo de dados subjacente.
estático <T> Tensor <T>
criar (tipo de classe <T>, forma longa [], dados de ByteBuffer)
Crie um tensor de qualquer tipo com dados do buffer fornecido.
Tensor estático <Duplo>
criar (forma longa [], dados DoubleBuffer)
Crie um tensor Double com dados do buffer fornecido.
Tensor estático <Long>
criar (forma longa [], dados LongBuffer)
Crie um tensor Long com dados do buffer fornecido.
Tensor estático <Integer>
criar (forma longa [], dados IntBuffer)
Crie um tensor Integer com dados do buffer fornecido.
Tensor estático <Float>
criar (forma longa [], dados FloatBuffer)
Crie um Tensor Float com dados do buffer fornecido.
estático <T> Tensor <T>
criar (objeto obj, tipo de classe <T>)
Cria um Tensor a partir de um objeto Java.
Tipo de dados
dataType ()
Retorna o DataType dos elementos armazenados no Tensor.
Duplo
doubleValue ()
Retorna o valor em um tensor Double escalar.
<U> Tensor <U>
esperar (tipo de classe <U>)
Retorna este objeto Tensor com o tipo Tensor<U> .
flutuador
floatValue ()
Retorna o valor em um tensor Float escalar.
int
intValue ()
Retorna o valor em um tensor escalar Integer .
longo
longValue ()
Retorna o valor em um tensor Long escalar.
int
numBytes ()
Retorna o tamanho, em bytes, dos dados do tensor.
int
numDimensions ()
Retorna o número de dimensões (às vezes chamadas de classificação ) do Tensor.
int
numElements ()
Retorna o número de elementos em uma visualização plana (1-D) do tensor.
longo[]
forma ()
Retorna a forma do Tensor, ou seja, os tamanhos de cada dimensão.
Fragmento
toString ()
Retorna uma string que descreve o tipo e a forma do Tensor.
vazio
writeTo (LongBuffer dst)
Escreva os dados de um tensor Long no buffer fornecido.
vazio
writeTo (DoubleBuffer dst)
Escreva os dados de um tensor Double no buffer fornecido.
vazio
writeTo (IntBuffer dst)
Escreva os dados de um tensor Integer no buffer fornecido.
vazio
writeTo (ByteBuffer dst)
Grave os dados do tensor no buffer fornecido.
vazio
writeTo (FloatBuffer dst)
Escreva os dados de um tensor Float no buffer fornecido.

Métodos herdados

Métodos Públicos

public boolean booleanValue ()

Retorna o valor em um tensor Boolean escalar.

Lança
Exceção de argumento ilegal se o tensor não representa um escalar booleano.

public byte [] bytesValue ()

Retorna o valor em um tensor de String escalar.

Lança
Exceção de argumento ilegal se o tensor não representa um escalar booleano.

public void close ()

Libere recursos associados ao Tensor.

AVISO: Deve ser invocado para todos os tensores que não foram produzidos por uma operação rápida ou haverá vazamento de memória.

O objeto Tensor não pode mais ser usado após retornos de close .

public U copyTo (U dst)

Copia o conteúdo do tensor para dst e retorna dst .

Para tensores não escalares, este método copia o conteúdo do tensor subjacente para um array Java. Para tensores escalares, use um de bytesValue() , floatValue() , doubleValue() , intValue() , longValue() ou booleanValue() . O tipo e a forma de dst devem ser compatíveis com o tensor. Por exemplo:

int matrix[2][2] = { {1,2,{3,4} };
 try(Tensor t = Tensor.create(matrix)) {
   // Succeeds and prints "3"
   int[][] copy = new int[2][2];
   System.out.println(t.copyTo(copy)[1][0]);

   // Throws IllegalArgumentException since the shape of dst does not match the shape of t.
   int[][] dst = new int[4][1];
   t.copyTo(dst);
 }
 }

Lança
Exceção de argumento ilegal se o tensor for um escalar ou se dst não for compatível com o tensor (por exemplo, tipos de dados ou formas incompatíveis).

public static Tensor <?> create (Object obj)

Cria um tensor a partir de um objeto cuja classe é inspecionada para descobrir qual deve ser o tipo de dados subjacente.

Lança
Exceção de argumento ilegal if obj não é compatível com o sistema de tipo TensorFlow.

public static Tensor <T> create (classe <T> tipo, long [] shape, ByteBuffer data)

Crie um tensor de qualquer tipo com dados do buffer fornecido.

Cria um tensor com a forma fornecida de qualquer tipo em que os dados do tensor foram codificados em data acordo com a especificação da API TensorFlow C.

Parâmetros
modelo o tipo de elemento tensor, representado como um objeto de classe.
forma a forma do tensor.
dados um buffer contendo os dados do tensor.
Lança
Exceção de argumento ilegal Se o tipo de dados ou forma do tensor não for compatível com o buffer

public static Tensor <Double> create (long [] shape, DoubleBuffer data)

Crie um tensor Double com dados do buffer fornecido.

Cria um tensor com a forma fornecida, copiando elementos do buffer (começando de sua posição atual) para o tensor. Por exemplo, se shape = {2,3 } (que representa uma matriz 2x3), o buffer deve ter 6 elementos restantes, que serão consumidos por este método.

Parâmetros
forma a forma do tensor.
dados um buffer contendo os dados do tensor.
Lança
Exceção de argumento ilegal Se a forma do tensor não for compatível com o buffer

public static Tensor <Long> create (long [] shape, LongBuffer data)

Crie um tensor Long com dados do buffer fornecido.

Cria um tensor com a forma fornecida, copiando elementos do buffer (começando de sua posição atual) para o tensor. Por exemplo, se shape = {2,3 } (que representa uma matriz 2x3), o buffer deve ter 6 elementos restantes, que serão consumidos por este método.

Parâmetros
forma a forma do tensor.
dados um buffer contendo os dados do tensor.
Lança
Exceção de argumento ilegal Se a forma do tensor não for compatível com o buffer

public static Tensor <Integer> create (long [] shape, IntBuffer data)

Crie um tensor Integer com dados do buffer fornecido.

Cria um tensor com a forma fornecida, copiando elementos do buffer (começando de sua posição atual) para o tensor. Por exemplo, se shape = {2,3 } (que representa uma matriz 2x3), o buffer deve ter 6 elementos restantes, que serão consumidos por este método.

Parâmetros
forma a forma do tensor.
dados um buffer contendo os dados do tensor.
Lança
Exceção de argumento ilegal Se a forma do tensor não for compatível com o buffer

public static Tensor <Float> create (long [] shape, FloatBuffer data)

Crie um Tensor Float com dados do buffer fornecido.

Cria um tensor com a forma fornecida, copiando elementos do buffer (começando de sua posição atual) para o tensor. Por exemplo, se shape = {2,3 } (que representa uma matriz 2x3), o buffer deve ter 6 elementos restantes, que serão consumidos por este método.

Parâmetros
forma a forma do tensor.
dados um buffer contendo os dados do tensor.
Lança
Exceção de argumento ilegal Se a forma do tensor não for compatível com o buffer

public static Tensor <T> create (Object obj, Class <T> type)

Cria um Tensor a partir de um objeto Java.

Um Tensor é uma matriz multidimensional de elementos de um conjunto limitado de tipos. Nem todos os objetos Java podem ser convertidos em um Tensor . Em particular, o argumento obj deve ser um primitivo (float, double, int, long, booleano, byte) ou um array multidimensional de um desses primitivos. O type argumento especifica como interpretar o primeiro argumento como um tipo TensorFlow. Por exemplo:

// Valid: A 64-bit integer scalar.
 Tensor<Long> s = Tensor.create(42L, Long.class);

 // Valid: A 3x2 matrix of floats.
 float[][] matrix = new float[3][2];
 Tensor<Float> m = Tensor.create(matrix, Float.class);

 // Invalid: Will throw an IllegalArgumentException as an arbitrary Object
 // does not fit into the TensorFlow type system.
 Tensor<?> o = Tensor.create(new Object())

 // Invalid: Will throw an IllegalArgumentException since there are
 // a differing number of elements in each row of this 2-D array.
 int[][] twoD = new int[2][];
 twoD[0] = new int[1];
 twoD[1] = new int[2];
 Tensor<Integer> x = Tensor.create(twoD, Integer.class);
 
Tensores tipo String são matrizes multidimensionais de sequências de bytes arbitrárias, portanto, podem ser inicializados a partir de matrizes de elementos de byte[] . Por exemplo:
// Valid: A String tensor.
 Tensor<String> s = Tensor.create(new byte[]{1, 2, 3, String.class);

 // Java Strings will need to be encoded into a byte-sequence.
 String mystring = "foo";
 Tensor s = Tensor.create(mystring.getBytes("UTF-8"), String.class);

 // Valid: Matrix of String tensors.
 // Each element might have a different length.
 byte[][][] matrix = new byte[2][2][];
 matrix[0][0] = "this".getBytes("UTF-8");
 matrix[0][1] = "is".getBytes("UTF-8");
 matrix[1][0] = "a".getBytes("UTF-8");
 matrix[1][1] = "matrix".getBytes("UTF-8");
 Tensor m = Tensor.create(matrix, String.class);
 }

Parâmetros
obj O objeto a ser convertido em um Tensor<T> . Observe que se é compatível com o tipo T não é verificado pelo sistema de tipos. Para a criação de tensores com segurança de tipo, use Tensors .
modelo O objeto de classe que representa o tipo T.
Lança
Exceção de argumento ilegal if obj não é compatível com o sistema de tipo TensorFlow.

public DataType dataType ()

Retorna o DataType dos elementos armazenados no Tensor.

public double doubleValue ()

Retorna o valor em um tensor Double escalar.

Lança
Exceção de argumento ilegal se o tensor não representa um escalar duplo.

público Tensor <U> expect (tipo de classe <U>)

Retorna este objeto Tensor com o tipo Tensor<U> . Este método é útil quando dado um valor do tipo Tensor<?> .

Parâmetros
modelo qualquer matriz (não nula) do tipo correto.
Lança
Exceção de argumento ilegal se o tipo de dados real deste objeto não corresponder ao tipo U

public float floatValue ()

Retorna o valor em um tensor Float escalar.

Lança
Exceção de argumento ilegal se o tensor não representa um escalar flutuante.

public int intValue ()

Retorna o valor em um tensor escalar Integer .

Lança
Exceção de argumento ilegal se o tensor não representa um escalar interno.

public long longValue ()

Retorna o valor em um tensor Long escalar.

Lança
Exceção de argumento ilegal se o tensor não representa um escalar longo.

public int numBytes ()

Retorna o tamanho, em bytes, dos dados do tensor.

public int numDimensions ()

Retorna o número de dimensões (às vezes chamadas de classificação ) do Tensor.

Será 0 para um escalar, 1 para um vetor, 2 para uma matriz, 3 para um tensor tridimensional etc.

public int numElements ()

Retorna o número de elementos em uma visualização plana (1-D) do tensor.

pública de longo [] forma ()

Retorna a forma do Tensor, ou seja, os tamanhos de cada dimensão.

Devoluções
  • uma matriz onde o i-ésimo elemento é o tamanho da i-ésima dimensão do tensor.

public String toString ()

Retorna uma string que descreve o tipo e a forma do Tensor.

public void writeTo (LongBuffer dst)

Escreva os dados de um tensor Long no buffer fornecido.

Copia os elementos numElements() para o buffer.

Parâmetros
DST o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
Exceção de argumento ilegal Se o tipo de dados tensor não for Long

public void writeTo (DoubleBuffer dst)

Escreva os dados de um tensor Double no buffer fornecido.

Copia elementos numElements() para o buffer.

Parâmetros
DST o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
Exceção de argumento ilegal Se o tipo de dados tensor não for Double

public void writeTo (IntBuffer dst)

Escreva os dados de um tensor Integer no buffer fornecido.

Copia os elementos numElements() para o buffer.

Parâmetros
DST o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
Exceção de argumento ilegal Se o tipo de dados do tensor não for Integer

public void writeTo (ByteBuffer dst)

Escreva os dados do tensor no buffer fornecido.

Copia numBytes() bytes para o buffer na ordem de bytes nativos para tipos primitivos.

Parâmetros
DST o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor

public void writeTo (FloatBuffer dst)

Escreva os dados de um tensor Float no buffer fornecido.

Copia os elementos numElements() para o buffer.

Parâmetros
DST o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
Exceção de argumento ilegal Se o tipo de dados tensor não for Float