Tensor

Tenseur de classe finale publique

Un tableau multidimensionnel typé statiquement 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[]
octetsValue ()
Renvoie la valeur dans un tenseur String scalaire.
vide
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 <?>
créer (objet obj)
Crée un tenseur à partir d'un objet dont la classe est inspectée pour déterminer quel devrait être le type de données sous-jacent.
Tenseur <T> statique <T>
créer (type Class<T>, forme long[], données ByteBuffer)
Créez un Tensor de n'importe quel type avec les données du tampon donné.
Tenseur statique <Double>
créer (forme long[], données DoubleBuffer)
Créez un Double Tensor avec les données du tampon donné.
Tenseur statique <Long>
créer (forme long[], données LongBuffer)
Créez un Long Tensor avec les données du tampon donné.
Tenseur statique <Entier>
créer (forme long[], données IntBuffer)
Créez un tenseur Integer avec les données du tampon donné.
Tenseur statique <Float>
créer (forme longue[], données FloatBuffer)
Créez un Float Tensor avec les données du tampon donné.
Tenseur <T> statique <T>
créer (Obj objet, type Class<T>)
Crée un Tensor à partir d'un objet Java.
Type de données
Type de données ()
Renvoie le DataType des éléments stockés dans le Tensor.
double
doubleValeur ()
Renvoie la valeur dans un tenseur Double scalaire.
<U> Tenseur <U>
attendre (type Classe<U>)
Renvoie cet objet Tensor avec le type Tensor<U> .
flotter
valeur flottante ()
Renvoie la valeur dans un tenseur Float scalaire.
int
valeurint ()
Renvoie la valeur dans un tenseur Integer scalaire.
long
valeur longue ()
Renvoie la valeur dans un tenseur Long scalaire.
int
nombreOctets ()
Renvoie la taille, en octets, des données tensorielles.
int
numDimensions ()
Renvoie le nombre de dimensions (parfois appelé rang ) du Tensor.
int
numElements ()
Renvoie le nombre d'éléments dans une vue aplatie (1-D) du tenseur.
long[]
forme ()
Renvoie la forme du Tenseur, c'est-à-dire les tailles de chaque dimension.
Chaîne
àChaîne ()
Renvoie une chaîne décrivant le type et la forme du Tensor.
vide
writeTo (LongBuffer dst)
Écrivez les données d'un tenseur Long dans le tampon donné.
vide
writeTo (DoubleBuffer dst)
Écrivez les données d'un tenseur Double dans le tampon donné.
vide
writeTo (IntBuffer dst)
Écrivez les données d'un tenseur Integer dans le tampon donné.
vide
writeTo (ByteBuffer dst)
Écrivez les données du tenseur dans le tampon donné.
vide
writeTo (FloatBuffer dst)
Écrivez les données d'un tenseur Float dans le tampon donné.

Méthodes héritées

Méthodes publiques

booléen public booleanValue ()

Renvoie la valeur dans un tenseur Boolean scalaire.

Jetés
IllegalArgumentException si le Tensor ne représente pas un scalaire booléen.

octet public[] octetsValue ()

Renvoie la valeur dans un tenseur String scalaire.

Jetés
IllegalArgumentException si le Tensor ne représente pas un scalaire booléen.

public vide fermer ()

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 hâtive, sinon la mémoire sera perdue.

L'objet Tensor n'est plus utilisable après les retours 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 plutôt l'un 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);
 }
 

Paramètres
heure d'été
Jetés
IllegalArgumentException si le tenseur est un scalaire ou si dst n'est pas compatible avec le tenseur (par exemple, des types de données ou des formes ne correspondent pas).

Tensor statique public <?> créer (Objet obj)

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

Paramètres
obj
Jetés
IllegalArgumentException si obj n'est pas compatible avec le système de type TensorFlow.

public static Tensor <T> créer (type Class<T>, forme long[], 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 dans lequel les données du Tensor ont été codées en data conformément à la spécification de l' API TensorFlow C.

Paramètres
taper le type d'élément tensoriel, représenté comme un objet de classe.
forme la forme du tenseur.
données un tampon contenant les données tensorielles.
Jetés
IllegalArgumentException Si le type de données ou la forme du tenseur n'est pas compatible avec le tampon

public static Tensor <Double> créer (forme long[], 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 les éléments du tampon (en commençant à partir de sa position actuelle) dans le tenseur. 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
forme la forme du tenseur.
données un tampon contenant les données tensorielles.
Jetés
IllegalArgumentException Si la forme du tenseur n'est pas compatible avec le tampon

création de Tensor statique public <Long> (forme long[], 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 les éléments du tampon (en commençant à partir de sa position actuelle) dans le tenseur. 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
forme la forme du tenseur.
données un tampon contenant les données tensorielles.
Jetés
IllegalArgumentException Si la forme du tenseur n'est pas compatible avec le tampon

public static Tensor <Integer> créer (forme long[], données IntBuffer)

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

Crée un Tensor avec la forme donnée en copiant les éléments du tampon (en commençant à partir de sa position actuelle) dans le tenseur. 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
forme la forme du tenseur.
données un tampon contenant les données tensorielles.
Jetés
IllegalArgumentException Si la forme du tenseur n'est pas compatible avec le tampon

public static Tensor <Float> créer (forme long[], 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 les éléments du tampon (en commençant à partir de sa position actuelle) dans le tenseur. 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
forme la forme du tenseur.
données un tampon contenant les données tensorielles.
Jetés
IllegalArgumentException Si la forme du tenseur n'est pas compatible avec le tampon

public static Tensor <T> créer (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 d'une de ces primitives. Le type d'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);
 
Les Tensors typés 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<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);
 

Paramètres
obj L'objet à convertir en Tensor<T> . Notez que sa compatibilité avec le type T n'est pas vérifiée par le système de types. Pour la création de tenseurs de type sécurisé, utilisez Tensors .
taper L'objet de classe représentant le type T.
Jetés
IllegalArgumentException si obj n'est pas compatible avec le système de type TensorFlow.

Type de données public Type de données ()

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

public double doubleValue ()

Renvoie la valeur dans un tenseur Double scalaire.

Jetés
IllegalArgumentException si le Tensor ne représente pas un double scalaire.

public Tensor <U> attendu (type Class<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 n’importe quel tableau (non nul) du type correct.
Jetés
IllegalArgumentException 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.

Jetés
IllegalArgumentException si le Tensor ne représente pas un scalaire flottant.

public int valeurint ()

Renvoie la valeur dans un tenseur Integer scalaire.

Jetés
IllegalArgumentException si le Tensor ne représente pas un scalaire int.

public long longValue ()

Renvoie la valeur dans un tenseur Long scalaire.

Jetés
IllegalArgumentException si le Tensor ne représente pas un long scalaire.

public int nombreOctets ()

Renvoie la taille, en octets, des données tensorielles.

public int numDimensions ()

Renvoie le nombre de dimensions (parfois appelé 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.

forme publique long[] ()

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

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

chaîne publique versString ()

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

public void writeTo (LongBuffer dst)

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

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

Paramètres
heure d'été le tampon de destination
Jetés
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données dans ce tenseur
IllegalArgumentException Si le type de données du tenseur n'est pas Long

public void writeTo (DoubleBuffer dst)

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

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

Paramètres
heure d'été le tampon de destination
Jetés
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données dans ce tenseur
IllegalArgumentException Si le type de données du tenseur n'est pas Double

public void writeTo (IntBuffer dst)

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

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

Paramètres
heure d'été le tampon de destination
Jetés
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données dans ce tenseur
IllegalArgumentException Si le type de données du tenseur n'est pas Integer

public void writeTo (ByteBuffer dst)

Écrivez les données du tenseur dans le tampon donné.

Copie numBytes() dans le tampon dans l'ordre natif des octets pour les types primitifs.

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

public void writeTo (FloatBuffer dst)

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

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

Paramètres
heure d'été le tampon de destination
Jetés
BufferOverflowException S'il n'y a pas suffisamment d'espace dans le tampon donné pour les données dans ce tenseur
IllegalArgumentException Si le type de données du tenseur n'est pas Float