ByteSequenceTensorBuffer

classe publique ByteSequenceTensorBuffer

Tampon pour stocker les données du tenseur de chaîne.

Les valeurs sont stockées sous forme de tableau de TF_TString , enveloppé en interne avec tensorflow::tstring , qui est essentiellement une version portable de std::string .

Les données du buffer doivent être initialisées une seule fois, en appelant ERROR(/#init(NdArray, Function)) , et le buffer doit avoir été alloué avec suffisamment d'espace (utilisez ERROR(/#computeSize(NdArray, Function)) en priorité pour savoir exactement combien d'octets sont nécessaires pour stocker les données).

Une fois ses données initialisées, le tampon est en lecture seule car il n'est pas possible de modifier une valeur en toute sécurité sans réinitialiser l'ensemble des données.

Méthodes publiques

statique <T> long
calculateSize ( ByteSequenceProvider <?> byteSequenceProvider)
Calcule le nombre d'octets nécessaires pour stocker les données données dans un tampon de chaîne.
DataBuffer <octet[]>
copyTo ( DataBuffer <byte[]> dst, taille longue)
Écrivez les références des objets du tableau source dans ce tampon.
octet[]
getObject (index long)
<T> nul
init ( ByteSequenceProvider <T> byteSequenceProvider)
Initialisez les données de ce buffer.
booléen
DataBuffer <octet[]>
setObject (valeurs d'octet [], index long)
long
taille ()
DataBuffer <octet[]>
tranche (index long, taille longue)

Méthodes héritées

Méthodes publiques

public static long computingSize ( ByteSequenceProvider <?> byteSequenceProvider)

Calcule le nombre d'octets nécessaires pour stocker les données données dans un tampon de chaîne.

Paramètres
fournisseur de séquence d'octets produit des séquences d'octets
Retour
  • nombre d'octets requis pour stocker les données.

public DataBuffer <byte[]> copyTo ( DataBuffer <byte[]> dst, taille longue)

Écrivez les références des objets du tableau source dans ce tampon.

S'il y a plus de valeurs à copier que la taille du tampon de destination, c'est-à-dire size > dst.size() , alors aucune valeur n'est transférée et une BufferOverflowException est levée. D'un autre côté, s'il y a plus de valeurs à copier que la taille du tampon source, c'est-à-dire > src.size() , alors une BufferUnderfloatException est levée.

Sinon, cette méthode copie les valeurs n = size de ce tampon dans le tampon de destination.

Paramètres
heure d'été le tampon de destination dans lequel les valeurs sont copiées ; ne doit pas être ce tampon
taille nombre de valeurs à copier dans le tampon de destination
Retour
  • ce tampon

public byte[] getObject (index long)

public void init ( ByteSequenceProvider <T> byteSequenceProvider)

Initialisez les données de ce buffer.

Bien qu'elle ne soit pas appliquée par programme, il est obligatoire que cette méthode ne soit appelée qu'une seule fois après la création du tampon. Le tampon doit avoir été alloué selon le même ensemble de données, en appelant le priorité ERROR(/#computeSize(NdArray, Function)) pour s'assurer qu'il y a suffisamment d'espace pour le stocker.

Paramètres
fournisseur de séquence d'octets produit des séquences d'octets à utiliser comme données tensorielles

public booléen isReadOnly ()

public DataBuffer <byte[]> setObject (valeurs octet[], index long)

taille longue publique ()

tranche publique DataBuffer <byte[]> (index long, taille longue)