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 | |
abstrait statique <T étend TType > T | |
abstrait statique <T étend TType > T | |
abstrait statique <T étend TType > T | |
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
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 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 |
Retours
- un tenseur alloué et initialisé
Jetés
IllegalArgumentException | si size est inférieure à l'espace minimum requis pour stocker les données tensorielles |
---|---|
IllegalArgumentException | si size est défini sur -1 mais que les éléments du type donné sont de longueur variable (par exemple des chaînes) |
IllegalArgumentException | si shape est totalement ou partiellement unknown |
IllegalStateException | si le tenseur n'a pas pu être alloué |
Voir aussi
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 |
Retours
- un tenseur alloué mais non initialisé
Jetés
IllegalArgumentException | si les éléments du type donné sont de longueur variable (par exemple des chaînes) |
---|---|
IllegalArgumentException | 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 |
Retours
- un tenseur alloué mais non initialisé
Jetés
IllegalArgumentException | si size est inférieure à l'espace minimum requis pour stocker les données tensorielles |
---|---|
IllegalArgumentException | si size est défini sur -1 mais que les éléments du type donné sont de longueur variable (par exemple des chaînes) |
IllegalArgumentException | si shape est totalement ou partiellement unknown |
IllegalStateException | si le tenseur n'a pas pu être alloué |
Voir aussi
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 |
Retours
- un tenseur alloué et initialisé
Jetés
IllegalArgumentException | si les éléments du type donné sont de longueur variable (par exemple des chaînes) |
---|---|
IllegalArgumentException | 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
IllegalArgumentException | si rawData n'est pas assez grand pour contenir les données tensorielles |
---|---|
IllegalArgumentException | si shape est totalement ou partiellement unknown |
IllegalStateException | si le tenseur n'a pas pu être alloué avec les paramètres donnés |