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 |