Tensor

classe finale publique Tensor

Un tableau multidimensionnel de type statique dont les éléments sont d'un type décrit par T.

Les instances d'un Tensor ne sont pas thread-safe.

AVERTISSEMENT: les ressources consommées par l'objet Tensor doivent être explicitement libérées en appelant la méthode close() lorsque l'objet n'est plus nécessaire. Par exemple, en utilisant un bloc try-with-resources:

try (Tensor t = Tensor.create(...)) {
   doSomethingWith(t);
 
 }

Méthodes publiques

booléen
valeur booléenne ()
Renvoie la valeur dans un tenseur Boolean scalaire.
octet[]
bytesValue ()
Renvoie la valeur dans un tenseur de String scalaire.
annuler
fermer ()
Libérez les ressources associées au Tensor.
<U> U
copyTo (U dst)
Copie le contenu du tenseur dans dst et renvoie dst .
Tenseur statique <?>
create (objet obj)
Crée un tenseur à partir d'un objet dont la classe est inspectée pour déterminer quel doit être le type de données sous-jacent.
statique <T> Tensor <T>
create (type Classe <T>, forme longue [], données ByteBuffer)
Créez un Tensor de n'importe quel type avec les données du tampon donné.
Tenseur statique <Double>
create (forme longue [], données DoubleBuffer)
Créez un Double Tensor avec les données du tampon donné.
Tenseur statique <Long>
create (forme longue [], données LongBuffer)
Créez un Long Tensor avec les données du tampon donné.
Tenseur statique <Integer>
create (forme longue [], données IntBuffer)
Créez un Tensor Integer avec les données du tampon donné.
Tenseur statique <Float>
create (forme longue [], données FloatBuffer)
Créez un Float Tensor avec les données du tampon donné.
statique <T> Tensor <T>
create (objet objet, type Classe <T>)
Crée un Tensor à partir d'un objet Java.
Type de données
dataType ()
Renvoie le DataType des éléments stockés dans le Tensor.
double
doubleValue ()
Renvoie la valeur dans un Double tenseur scalaire.
<U> Tenseur <U>
expect (type de classe <U>)
Renvoie cet objet Tensor avec le type Tensor<U> .
flotter
floatValue ()
Renvoie la valeur dans un tenseur scalaire Float .
int
intValue ()
Renvoie la valeur dans un tenseur Integer scalaire.
longue
longValue ()
Renvoie la valeur dans un tenseur Long scalaire.
int
numBytes ()
Renvoie la taille, en octets, des données du tenseur.
int
numDimensions ()
Renvoie le nombre de dimensions (parfois appelées rang ) du Tensor.
int
numElements ()
Renvoie le nombre d'éléments dans une vue aplatie (1-D) du tenseur.
longue[]
forme ()
Renvoie la forme du Tensor, c'est-à-dire les tailles de chaque dimension.
Chaîne
toString ()
Renvoie une chaîne décrivant le type et la forme du Tensor.
annuler
writeTo (LongBuffer dst)
Ecrivez les données d'un Long tenseur dans le tampon donné.
annuler
writeTo (DoubleBuffer dst)
Ecrivez les données d'un Double tenseur dans le tampon donné.
annuler
writeTo (IntBuffer dst)
Ecrivez les données d'un tenseur Integer dans le tampon donné.
annuler
writeTo (ByteBuffer dst)
Ecrivez les données du tenseur dans le tampon donné.
annuler
writeTo (FloatBuffer dst)
Ecrivez les données d'un tenseur Float dans le tampon donné.

Méthodes héritées

Méthodes publiques

public boolean booleanValue ()

Renvoie la valeur dans un tenseur Boolean scalaire.

Jette
Exception d'argument illégal si le Tensor ne représente pas un scalaire booléen.

octet public [] bytesValue ()

Renvoie la valeur dans un tenseur de String scalaire.

Jette
Exception d'argument illégal si le Tensor ne représente pas un scalaire booléen.

public void close ()

Libérez les ressources associées au Tensor.

AVERTISSEMENT: Ceci doit être invoqué pour tous les tenseurs qui n'ont pas été produits par une opération impatiente ou la mémoire sera perdue.

L'objet Tensor n'est plus utilisable après les retours de close .

public U copyTo (U dst)

Copie le contenu du tenseur dans dst et renvoie dst .

Pour les tenseurs non scalaires, cette méthode copie le contenu du tenseur sous-jacent dans un tableau Java. Pour les tenseurs scalaires, utilisez bytesValue() une des bytesValue() , floatValue() , doubleValue() , intValue() , longValue() ou booleanValue() . Le type et la forme de dst doivent être compatibles avec le tenseur. Par exemple:

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);
 }
 }

Jette
Exception d'argument illégal si le tenseur est un scalaire ou si dst n'est pas compatible avec le tenseur (par exemple, types de données ou formes incompatibles).

public static Tensor <?> create (Object obj)

Crée un tenseur à partir d'un objet dont la classe est inspectée pour déterminer quel doit être le type de données sous-jacent.

Jette
Exception d'argument illégal si obj n'est pas compatible avec le système de type TensorFlow.

public static Tensor <T> create (type de classe <T>, forme longue [], données ByteBuffer)

Créez un Tensor de n'importe quel type avec les données du tampon donné.

Crée un Tensor avec la forme fournie de n'importe quel type où les données du Tensor ont été encodées en data conformément à la spécification de l' API TensorFlow C.

Paramètres
taper le type d'élément tensor, représenté comme un objet de classe.
façonner la forme tenseur.
Les données un tampon contenant les données du tenseur.
Jette
Exception d'argument illégal Si le type de données ou la forme du tenseur n'est pas compatible avec le tampon

public static Tensor <Double> create (forme longue [], données DoubleBuffer)

Créez un Double Tensor avec les données du tampon donné.

Crée un Tensor avec la forme donnée en copiant des éléments du buffer (à partir de sa position actuelle) dans le Tensor. Par exemple, si shape = {2,3 } (qui représente une matrice 2x3) alors le tampon doit avoir 6 éléments restants, qui seront consommés par cette méthode.

Paramètres
façonner la forme tenseur.
Les données un tampon contenant les données du tenseur.
Jette
Exception d'argument illégal Si la forme tenseur n'est pas compatible avec le tampon

public static Tensor <Long> create (forme longue [], données LongBuffer)

Créez un Long Tensor avec les données du tampon donné.

Crée un Tensor avec la forme donnée en copiant des éléments du buffer (à partir de sa position actuelle) dans le Tensor. Par exemple, si shape = {2,3 } (qui représente une matrice 2x3) alors le tampon doit avoir 6 éléments restants, qui seront consommés par cette méthode.

Paramètres
façonner la forme tenseur.
Les données un tampon contenant les données du tenseur.
Jette
Exception d'argument illégal Si la forme tenseur n'est pas compatible avec le tampon

public static Tensor <Integer> create (forme longue [], données IntBuffer)

Créez un Tensor Integer avec les données du tampon donné.

Crée un Tensor avec la forme donnée en copiant des éléments du buffer (à partir de sa position actuelle) dans le Tensor. Par exemple, si shape = {2,3 } (qui représente une matrice 2x3) alors le tampon doit avoir 6 éléments restants, qui seront consommés par cette méthode.

Paramètres
façonner la forme tenseur.
Les données un tampon contenant les données du tenseur.
Jette
Exception d'argument illégal Si la forme tenseur n'est pas compatible avec le tampon

public static Tensor <Float> create (forme longue [], données FloatBuffer)

Créez un Float Tensor avec les données du tampon donné.

Crée un Tensor avec la forme donnée en copiant des éléments du buffer (à partir de sa position actuelle) dans le Tensor. Par exemple, si shape = {2,3 } (qui représente une matrice 2x3) alors le tampon doit avoir 6 éléments restants, qui seront consommés par cette méthode.

Paramètres
façonner la forme tenseur.
Les données un tampon contenant les données du tenseur.
Jette
Exception d'argument illégal Si la forme tenseur n'est pas compatible avec le tampon

public static Tensor <T> create (Object obj, type Class <T>)

Crée un Tensor à partir d'un objet Java.

Un Tensor est un tableau multidimensionnel d'éléments d'un ensemble limité de types. Tous les objets Java ne peuvent pas être convertis en Tensor . En particulier, l'argument obj doit être soit une primitive (float, double, int, long, boolean, byte), soit un tableau multidimensionnel de l'une de ces primitives. Le type argument spécifie comment interpréter le premier argument en tant que type TensorFlow. Par exemple:

// 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 Tensors de type String sont des tableaux multidimensionnels de séquences d'octets arbitraires, ils peuvent donc être initialisés à partir de tableaux d'éléments byte[] . Par exemple:
// 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 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 m = Tensor.create(matrix, String.class);
 }

Paramètres
obj Objet à convertir en Tensor<T> . Notez que sa compatibilité avec le type T n'est pas vérifiée par le système de type. Pour créer des tenseurs de type sécurisé, utilisez des Tensors .
taper L'objet de classe représentant le type T.
Jette
Exception d'argument illégal si obj n'est pas compatible avec le système de type TensorFlow.

public DataType dataType ()

Renvoie le DataType des éléments stockés dans le Tensor.

public double doubleValue ()

Renvoie la valeur dans un Double tenseur scalaire.

Jette
Exception d'argument illégal si le Tensor ne représente pas un double scalaire.

public Tensor <U> expect (type de classe <U>)

Renvoie cet objet Tensor avec le type Tensor<U> . Cette méthode est utile lorsqu'on lui donne une valeur de type Tensor<?> .

Paramètres
taper tout tableau (non nul) du type correct.
Jette
Exception d'argument illégal si le type de données réel de cet objet ne correspond pas au type U

public float floatValue ()

Renvoie la valeur dans un tenseur Float scalaire.

Jette
Exception d'argument illégal si le Tensor ne représente pas un scalaire flottant.

public int intValue ()

Renvoie la valeur dans un tenseur Integer scalaire.

Jette
Exception d'argument illégal si le Tensor ne représente pas un scalaire int.

public long longValue ()

Renvoie la valeur dans un tenseur Long scalaire.

Jette
Exception d'argument illégal si le Tensor ne représente pas un long scalaire.

public int numBytes ()

Renvoie la taille, en octets, des données du tenseur.

public int numDimensions ()

Renvoie le nombre de dimensions (parfois appelées rang ) du Tensor.

Sera 0 pour un scalaire, 1 pour un vecteur, 2 pour une matrice, 3 pour un tenseur tridimensionnel etc.

public int numElements ()

Renvoie le nombre d'éléments dans une vue aplatie (1-D) du tenseur.

public long [] shape ()

Renvoie la forme du Tensor, c'est-à-dire les tailles de chaque dimension.

Retour
  • un tableau où le i-ème élément est la taille de la i-ème dimension du tenseur.

chaîne publique toString ()

Renvoie une chaîne décrivant le type et la forme du Tensor.

public void writeTo (LongBuffer dst)

Ecrivez les données d'un Long tenseur dans le tampon donné.

Copie les éléments numElements() dans le tampon.

Paramètres
dst le tampon de destination
Jette
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données de ce tenseur
Exception d'argument illégal Si le type de données du tenseur n'est pas Long

public void writeTo (DoubleBuffer dst)

Ecrivez les données d'un Double tenseur dans le tampon donné.

Copie les éléments numElements() dans le tampon.

Paramètres
dst le tampon de destination
Jette
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données de ce tenseur
Exception d'argument illégal Si le type de données du tenseur n'est pas Double

public void writeTo (IntBuffer dst)

Ecrivez les données d'un tenseur Integer dans le tampon donné.

Copie les éléments numElements() dans le tampon.

Paramètres
dst le tampon de destination
Jette
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données de ce tenseur
Exception d'argument illégal Si le type de données du tenseur n'est pas Integer

public void writeTo (ByteBuffer dst)

Ecrivez les données du tenseur dans le tampon donné.

Copie numBytes() octets dans la mémoire tampon dans l'ordre des octets natif pour les types primitifs.

Paramètres
dst le tampon de destination
Jette
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données de ce tenseur

public void writeTo (FloatBuffer dst)

Ecrivez les données d'un tenseur Float dans le tampon donné.

Copie les éléments numElements() dans le tampon.

Paramètres
dst le tampon de destination
Jette
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données de ce tenseur
Exception d'argument illégal Si le type de données du tenseur n'est pas Float