Tensor

Tensor de classe final pública

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

As instâncias de um tensor não são seguras para threads.

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

booleano
valor booleano ()
Retorna o valor em um tensor Boolean escalar.
byte[]
bytesValor ()
Retorna o valor em um tensor String escalar.
vazio
fechar ()
Libere recursos associados ao Tensor.
<U> Você
copiar para (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.
Tensor estático <T> <T>
criar (tipo Class<T>, formato longo[], dados ByteBuffer)
Crie um Tensor de qualquer tipo com dados do buffer fornecido.
Tensor estático <Duplo>
criar (formato longo[], dados DoubleBuffer)
Crie um Double Tensor com dados do buffer fornecido.
Tensor estático <Longo>
criar (formato longo[], dados LongBuffer)
Crie um Long Tensor com dados do buffer fornecido.
Tensor estático <Inteiro>
criar (formato longo[], dados IntBuffer)
Crie um Tensor Integer com dados do buffer fornecido.
Tensor estático <Float>
criar (formato longo[], dados FloatBuffer)
Crie um tensor Float com dados do buffer fornecido.
Tensor estático <T> <T>
criar (objeto 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.
dobro
valor duplo ()
Retorna o valor em um tensor escalar Double .
<U> Tensor <U>
esperar (tipo Classe<U>)
Retorna este objeto Tensor com o tipo Tensor&lt;U&gt; .
flutuador
floatValor ()
Retorna o valor em um tensor escalar Float .
interno
valorint ()
Retorna o valor em um tensor escalar Integer .
longo
valor longo ()
Retorna o valor em um tensor escalar Long .
interno
numBytes ()
Retorna o tamanho, em bytes, dos dados do tensor.
interno
numDimensões ()
Retorna o número de dimensões (às vezes chamadas de rank ) do Tensor.
interno
numElementos ()
Retorna o número de elementos em uma visualização achatada (1-D) do tensor.
longo[]
forma ()
Retorna a forma do Tensor, ou seja, os tamanhos de cada dimensão.
Corda
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)
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

público booleano booleanValue ()

Retorna o valor em um tensor Boolean escalar.

Lança
IllegalArgumentException se o Tensor não representar um escalar booleano.

byte público[] bytesValue ()

Retorna o valor em um tensor String escalar.

Lança
IllegalArgumentException se o Tensor não representar um escalar booleano.

fechamento de vazio público ()

Libere recursos associados ao Tensor.

AVISO: Isto 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 pode mais ser usado após retornos close .

cópia pública U para (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 dos bytesValue() , floatValue() , doubleValue() , intValue() , longValue() ou booleanValue() . O tipo e formato do 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
horário de verão
Lança
IllegalArgumentException se o tensor for escalar ou se dst não for compatível com o tensor (por exemplo, tipos de dados ou formas incompatíveis).

Tensor estático público <?> criar (objeto obj)

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

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

public static Tensor <T> create (tipo Class<T>, formato longo[], 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
IllegalArgumentException Se o tipo de dados ou forma do tensor não for compatível com o buffer

public static Tensor <Double> create (formato longo[], dados DoubleBuffer)

Crie um Double Tensor com dados do buffer fornecido.

Cria um Tensor com a forma dada, 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) então o buffer deverá 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
IllegalArgumentException Se a forma do tensor não for compatível com o buffer

public static Tensor <Long> create (formato longo[], 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) para o tensor. Por exemplo, se shape = {2,3} (que representa uma matriz 2x3) então o buffer deverá 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
IllegalArgumentException Se a forma do tensor não for compatível com o buffer

public static Tensor <Integer> create (formato longo[], 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) para o tensor. Por exemplo, se shape = {2,3} (que representa uma matriz 2x3) então o buffer deverá 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
IllegalArgumentException Se a forma do tensor não for compatível com o buffer

public static Tensor <Float> create (formato longo[], 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) para o tensor. Por exemplo, se shape = {2,3} (que representa uma matriz 2x3) então o buffer deverá 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
IllegalArgumentException Se a forma do tensor não for compatível com o buffer

Tensor estático público <T> criar (Object obj, tipo Class<T>)

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 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 do 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 matrizes multidimensionais de sequências de bytes arbitrárias, portanto, podem ser inicializadas a partir de matrizes 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 ele é compatível com o tipo T não é verificado pelo sistema de tipos. Para criação de tensores com segurança de tipo, use Tensors .
tipo O objeto de classe que representa o tipo T.
Lança
IllegalArgumentException se obj não for compatível com o sistema do tipo TensorFlow.

tipo de dados público tipo de dados ()

Retorna o DataType dos elementos armazenados no Tensor.

público duplo duploValor ()

Retorna o valor em um tensor escalar Double .

Lança
IllegalArgumentException se o Tensor não representar um escalar duplo.

Tensor público <U> expect (tipo Classe<U>)

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

Parâmetros
tipo qualquer array (não nulo) do tipo correto.
Lança
IllegalArgumentException se o tipo de dados real deste objeto não corresponder ao tipo U .

float público floatValue ()

Retorna o valor em um tensor escalar Float .

Lança
IllegalArgumentException se o Tensor não representar um escalar flutuante.

public int intValue ()

Retorna o valor em um tensor escalar Integer .

Lança
IllegalArgumentException se o Tensor não representar um escalar int.

público longo longoValor ()

Retorna o valor em um tensor escalar Long .

Lança
IllegalArgumentException se o Tensor não representar um escalar longo.

público 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 rank ) 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 achatada (1-D) do tensor.

público longo[] formato ()

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.

String pública paraString ()

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

público void writeTo (LongBuffer dst)

Escreva os dados de um tensor Long no buffer fornecido.

Copia elementos numElements() para o buffer.

Parâmetros
horário de verão o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
IllegalArgumentException Se o tipo de dados do tensor não for Long

público void writeTo (DoubleBuffer dst)

Escreva os dados de um tensor Double no buffer fornecido.

Copia elementos numElements() para o buffer.

Parâmetros
horário de verão o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
IllegalArgumentException Se o tipo de dados do tensor não for Double

público void writeTo (IntBuffer dst)

Escreva os dados de um tensor Integer no buffer fornecido.

Copia elementos numElements() para o buffer.

Parâmetros
horário de verão o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
IllegalArgumentException Se o tipo de dados do tensor não for Integer

público void writeTo (ByteBuffer dst)

Escreva os dados do tensor no buffer fornecido.

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

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

público void writeTo (FloatBuffer dst)

Escreva os dados de um tensor Float no buffer fornecido.

Copia elementos numElements() para o buffer.

Parâmetros
horário de verão o buffer de destino
Lança
BufferOverflowException Se não houver espaço suficiente no buffer fornecido para os dados neste tensor
IllegalArgumentException Se o tipo de dados do tensor não for Float