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 objeto) 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> | |
Tensor estático <Longo> | |
Tensor estático <Inteiro> | |
Tensor estático <Float> | |
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<U> . |
flutuador | floatValor () Retorna o valor em um tensor escalar Float . |
interno | |
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[] | |
Corda | toString () Retorna uma string que descreve o tipo e a forma do Tensor. |
vazio | |
vazio | |
vazio | |
vazio | writeTo (ByteBuffer dst) Escreva os dados do tensor no buffer fornecido. |
vazio |
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: 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 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<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);
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<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<String> 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<String> m = Tensor.create(matrix, String.class);
Parâmetros
obj | O objeto a ser convertido em Tensor<T> . 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. |
---|
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<U>
. Este método é útil quando é fornecido um valor do tipo Tensor<?>
.
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 |