Tensor

Tensor da aula final pública

Um array multidimensional estaticamente tipado 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 String escalar.
vazio
fechar ()
Liberar recursos associados ao tensor.
<U>U
copiarPara (U dst)
Copia o conteúdo do tensor para dst e retorna dst .
Tensor estático <?>
criar (objeto obj)
Cria um tensor de um objeto cuja classe é inspecionada para descobrir qual deve ser o tipo de dados subjacente.
estático <T> Tensor <T>
create (tipo Class<T>, forma long[], dados 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 Long Tensor 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>
create (objeto de objeto, tipo Class<T>)
Cria um tensor a partir de um objeto Java.
Tipo de dados
tipo de dados ()
Retorna o DataType dos elementos armazenados no Tensor.
Duplo
doubleValue ()
Retorna o valor em um tensor Double escalar.
<U> Tensor <U>
esperar (tipo Class<U>)
Retorna este objeto Tensor com o tipo Tensor&lt;U&gt; .
flutuador
floatValue ()
Retorna o valor em um tensor Float escalar.
int
intValue ()
Retorna o valor em um tensor Integer escalar.
grandes
LongValue ()
Retorna o valor em um tensor Long escalar.
int
numBytes ()
Retorna o tamanho, em bytes, dos dados do tensor.
int
numDimensões ()
Retorna o número de dimensões (às vezes chamado de rank ) do tensor.
int
numElementos ()
Retorna o número de elementos em uma visualização achatada (1-D) do tensor.
grandes[]
forma ()
Retorna a forma do Tensor, ou seja, os tamanhos de cada dimensão.
Fragmento
toString ()
Retorna uma string descrevendo 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)
Escreva 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 representar um escalar booleano.

byte público[] bytesValue ()

Retorna o valor em um tensor String escalar.

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

vazio público fechar ()

Liberar recursos associados ao tensor.

AVISO: Isso deve ser invocado para todos os tensores que não foram produzidos por uma operação antecipada ou a memória vazará.

O objeto Tensor não é mais utilizável 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, esse método copia o conteúdo do tensor subjacente para uma matriz 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);
 }
 

Parâmetros
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 ou formas de dados incompatíveis).

public static Tensor <?> create (Object obj)

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

Parâmetros
obj
Lança
Exceção de argumento ilegal se obj não for compatível com o sistema do tipo TensorFlow.

public static Tensor <T> create (tipo Class<T>, forma long[], dados ByteBuffer)

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 de acordo com a especificação da API C do TensorFlow.

Parâmetros
tipo 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> criar (forma longa [], dados DoubleBuffer)

Crie um tensor Double com dados do buffer fornecido.

Cria um tensor com a forma dada copiando elementos do buffer (começando de sua posição atual) no tensor. Por exemplo, se shape = {2,3} (que representa uma matriz 2x3) então 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[] forma, dados LongBuffer)

Crie um Long Tensor com dados do buffer fornecido.

Cria um tensor com a forma dada copiando elementos do buffer (começando de sua posição atual) no tensor. Por exemplo, se shape = {2,3} (que representa uma matriz 2x3) então 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> criar (forma longa[], dados IntBuffer)

Crie um tensor Integer com dados do buffer fornecido.

Cria um tensor com a forma dada copiando elementos do buffer (começando de sua posição atual) no tensor. Por exemplo, se shape = {2,3} (que representa uma matriz 2x3) então 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> criar (forma longa[], dados FloatBuffer)

Crie um tensor Float com dados do buffer fornecido.

Cria um tensor com a forma dada copiando elementos do buffer (começando de sua posição atual) no tensor. Por exemplo, se shape = {2,3} (que representa uma matriz 2x3) então 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, boolean, byte) ou um array multidimensional de um desses primitivos. O type argumento especifica como interpretar o primeiro argumento como um tipo de TensorFlow. Por exemplo:

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

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

 // Invalid: Will throw an IllegalArgumentException as an arbitrary Object
 // does not fit into the TensorFlow type system.
 Tensor&lt;?&gt; 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&lt;Integer&gt; x = Tensor.create(twoD, Integer.class);
 
Tensores do tipo String são arrays multidimensionais de seqüências de bytes arbitrárias, então podem ser inicializados a partir de arrays de elementos byte[] . Por exemplo:
// Valid: A String tensor.
 Tensor&lt;String&gt; 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&lt;String&gt; 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&lt;String&gt; m = Tensor.create(matrix, String.class);
 

Parâmetros
obj O objeto a ser convertido em um Tensor&lt;T&gt; . 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 .
tipo O objeto de classe que representa o tipo T.
Lança
Exceção de argumento ilegal se obj não for compatível com o sistema do 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 representar um escalar duplo.

public Tensor <U> expect (tipo Class<U>)

Retorna este objeto Tensor com o tipo Tensor&lt;U&gt; . Este método é útil quando recebe um valor do tipo Tensor&lt;?&gt; .

Parâmetros
tipo qualquer array (não nulo) do tipo correto.
Lança
Exceção de argumento ilegal se o tipo de dados real desse 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 representar um escalar float.

public int intValue ()

Retorna o valor em um tensor Integer escalar.

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

public long longValue ()

Retorna o valor em um tensor Long escalar.

Lança
Exceção de argumento ilegal se o tensor não representar 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 chamado de rank ) do tensor.

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

public int numElementos ()

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

forma pública longa[] ()

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

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

public String toString ()

Retorna uma string descrevendo 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 do tensor não for Long

public void writeTo (DoubleBuffer dst)

Escreva os dados de um tensor Double 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 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 os bytes numBytes() para o buffer na ordem de bytes nativa 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 do tensor não for Float