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> | |
Tensor estático <Long> | |
Tensor estático <Integer> | |
Tensor estático <Float> | |
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<U> . |
flutuador | floatValue () Retorna o valor em um tensor Float escalar. |
int | |
grandes | |
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[] | |
Fragmento | toString () Retorna uma string descrevendo 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
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<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 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<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 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 . |
---|---|
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 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<U>
. Este método é útil quando recebe um valor do tipo Tensor<?>
.
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 |