Tensor

Tenseur d'interface publique
Sous-classes indirectes connues

Un tableau multidimensionnel typé statiquement.

Il existe deux catégories de tenseurs dans TensorFlow Java : typed tensors et raw tensors . Le premier mappe la mémoire native du tenseur à un espace de données typé à n dimensions, permettant des opérations d'E/S directes à partir de la JVM, tandis que le second n'est qu'une référence à un tenseur natif permettant des opérations de base et un accès aux données plates.

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.of(...)) {
   doSomethingWith(t);
 
 }

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

Méthodes publiques

Résumé RawTensor
asRawTensor ()
Renvoie une représentation brute (non typée) de ce tenseur
vide abstrait
fermer ()
Libérez les ressources associées au Tensor.
Type de données abstrait
Type de données ()
Renvoie le DataType des éléments stockés dans le tenseur.
abstrait long
nombreOctets ()
Renvoie la taille, en octets, des données tensorielles.
abstrait statique <T étend TType > T
de (type Class<T>, forme de forme , taille longue, Consumer<T> dataInitializer)
Alloue un tenseur d'un type de données, d'une forme et d'une taille donnés.
abstrait statique <T étend TType > T
de (type Class<T>, forme Shape )
Alloue un tenseur d'un type de données et d'une forme donnés.
abstrait statique <T étend TType > T
de (type Class<T>, forme Shape , taille longue)
Alloue un tenseur d'un type de données, d'une forme et d'une taille donnés.
abstrait statique <T étend TType > T
de (type Class<T>, forme de forme , Consumer<T> dataInitializer)
Alloue et initialise un tenseur d'un type de données et d'une forme donnés.
abstrait statique <T étend TType > T
de (type Class<T>, forme Shape , ByteDataBuffer rawData)
Crée un Tensor de n'importe quel type à partir des données brutes fournies par le tampon donné.
Forme abstraite
forme ()
Renvoie la forme du tenseur.

Méthodes héritées

Méthodes publiques

résumé public RawTensor asRawTensor ()

Renvoie une représentation brute (non typée) de ce tenseur

public abstrait 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 abstrait DataType dataType ()

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

public abstrait long numBytes ()

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

résumé statique public T de (type Class<T>, forme de forme , taille longue, Consumer<T> dataInitializer)

Alloue un tenseur d'un type de données, d'une forme et d'une taille donnés.

Cette méthode est identique à of(Class, Shape, Consumer) , sauf que la taille finale du tenseur peut être explicitement définie au lieu d'être calculée à partir du type de données et de la forme.

Cela pourrait être utile pour les types de tenseurs qui stockent des données mais également des métadonnées dans la mémoire du tenseur, comme la table de recherche dans un tenseur de chaînes.

Paramètres
taper la classe de type tenseur
forme forme du tenseur
taille taille en octets du tenseur ou -1 pour calculer la taille à partir de la forme
dataInitializer procédé recevant un accesseur aux données de tenseur allouées pour l'initialisation
Retour
  • un tenseur alloué et initialisé
Jetés
Exception d'argument illégal si size est inférieure à l'espace minimum requis pour stocker les données tensorielles
Exception d'argument illégal si size est défini sur -1 mais que les éléments du type donné sont de longueur variable (par exemple des chaînes)
Exception d'argument illégal si shape est totalement ou partiellement unknown
IllegalStateException si le tenseur n'a pas pu être alloué

résumé statique public T de (type Class<T>, forme Shape )

Alloue un tenseur d'un type de données et d'une forme donnés.

La quantité de mémoire à allouer dépend du type de données et de la forme du tenseur et n'est pas initialisée.

Paramètres
taper la classe de type tenseur
forme forme du tenseur
Retour
  • un tenseur alloué mais non initialisé
Jetés
Exception d'argument illégal si les éléments du type donné sont de longueur variable (par exemple des chaînes)
Exception d'argument illégal si shape est totalement ou partiellement unknown
IllegalStateException si le tenseur n'a pas pu être alloué

résumé statique public T de (type Class<T>, forme Shape , taille longue)

Alloue un tenseur d'un type de données, d'une forme et d'une taille donnés.

Cette méthode est identique à of(Class, Shape) , sauf que la taille finale du tenseur peut être explicitement définie au lieu de la calculer à partir du type de données et de la forme, qui pourraient être plus grandes que l'espace réel requis pour stocker les données mais pas plus petites. .

Paramètres
taper la classe de type tenseur
forme forme du tenseur
taille taille en octets du tenseur ou -1 pour calculer la taille à partir de la forme
Retour
  • un tenseur alloué mais non initialisé
Jetés
Exception d'argument illégal si size est inférieure à l'espace minimum requis pour stocker les données tensorielles
Exception d'argument illégal si size est défini sur -1 mais que les éléments du type donné sont de longueur variable (par exemple des chaînes)
Exception d'argument illégal si shape est totalement ou partiellement unknown
IllegalStateException si le tenseur n'a pas pu être alloué
Voir également

résumé statique public T de (type Class<T>, forme Shape , Consumer<T> dataInitializer)

Alloue et initialise un tenseur d'un type de données et d'une forme donnés.

La quantité de mémoire à allouer dépend du type de données et de la forme du tenseur. Les données du tenseur sont initialisées en appelant le dataInitializer , qui reçoit en argument la valeur renvoyée par ERROR(/#data()) sur le tenseur alloué. Par exemple :

FloatNdArray data = ...
 try (TFloat32 t = Tensor.of(TFloat32.class, Shape.of(2, 2), data::copyTo)) {
   ...
 
 }

Si dataInitializer échoue et lève une exception, le tenseur alloué sera automatiquement libéré avant de relancer la même exception.

Paramètres
taper la classe de type tenseur
forme forme du tenseur
dataInitializer procédé recevant un accesseur aux données de tenseur allouées pour l'initialisation
Retour
  • un tenseur alloué et initialisé
Jetés
Exception d'argument illégal si les éléments du type donné sont de longueur variable (par exemple des chaînes)
Exception d'argument illégal si shape est totalement ou partiellement unknown
IllegalStateException si le tenseur n'a pas pu être alloué

résumé statique public T de (type Class<T>, forme Shape , ByteDataBuffer rawData)

Crée un Tensor de n'importe quel type à partir des données brutes fournies par le tampon donné.

Les données doivent avoir été codées en data conformément aux spécifications de l' API TensorFlow C.

Paramètres
taper la classe de type tenseur
forme la forme du tenseur.
données brutes un tampon contenant les données brutes du tenseur.
Jetés
Exception d'argument illégal si rawData n'est pas assez grand pour contenir les données tensorielles
Exception d'argument illégal si shape est totalement ou partiellement unknown
IllegalStateException si le tenseur n'a pas pu être alloué avec les paramètres donnés

Forme abstraite publique ()

Renvoie la forme du tenseur.