LoadAndRemapMatrix

classe finale publique LoadAndRemapMatrix

Charge un « Tensor » 2D (matrice) avec le nom « old_tensor_name » à partir du point de contrôle

à `ckpt_path` et réorganise potentiellement ses lignes et colonnes en utilisant les remappages spécifiés.

La plupart des utilisateurs devraient utiliser l'un des initialiseurs du wrapper (tels que `tf.contrib.framework.load_and_remap_matrix_initializer`) au lieu de cette fonction directement.

Les remappages sont des tenseurs 1D avec les propriétés suivantes :

  • `row_remapping` doit avoir exactement `num_rows` entrées. La ligne `i` de la matrice de sortie sera initialisée à partir de la ligne correspondant à l'index `row_remapping[i]` dans l'ancien `Tensor` du point de contrôle.
  • `col_remapping` doit avoir soit 0 entrées (indiquant qu'aucune réorganisation des colonnes n'est nécessaire), soit des entrées `num_cols`. Si spécifié, la colonne `j` de la matrice de sortie sera initialisée à partir de la colonne correspondant à l'index `col_remapping[j]` dans l'ancien `Tensor` du point de contrôle.
  • Une valeur de -1 dans l'un ou l'autre des remappages signifie une entrée « manquante ». Dans ce cas, les valeurs du tenseur `initializing_values` seront utilisées pour remplir cette ligne ou colonne manquante. Si `row_remapping` a `r` entrées manquantes et `col_remapping` a `c` entrées manquantes, alors la condition suivante doit être vraie :
`(r * num_cols) + (c * num_rows) - (r * c) == len(initializing_values)`

Les tenseurs de remappage peuvent être générés à l'aide de l'opération GenerateVocabRemapping.

À titre d'exemple, avec row_remapping = [1, 0, -1], col_remapping = [0, 2, -1], initializing_values ​​= [0.5, -0.5, 0.25, -0.25, 42] et w(i, j) représentant la valeur de la ligne i, colonne j de l'ancien tenseur dans le point de contrôle, la matrice de sortie ressemblera à ce qui suit :

[[w(1, 0), w(1, 2), 0,5], [w(0, 0), w(0, 2), -0,5], [0,25, -0,25, 42]]

Classes imbriquées

classe LoadAndRemapMatrix.Options Attributs facultatifs pour LoadAndRemapMatrix

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie < TFloat32 >
comme Sortie ()
Renvoie le handle symbolique du tenseur.
LoadAndRemapMatrix statique
créer ( Scope scope, Operand < TString > ckptPath, Operand < TString > oldTensorName, Operand < TInt64 > rowRemapping, Operand < TInt64 > colRemapping, Operand < TFloat32 > initializingValues, Long numRows, Long numCols, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération LoadAndRemapMatrix.
statique LoadAndRemapMatrix.Options
maxRowsInMemory (Long maxRowsInMemory)
Sortie < TFloat32 >
matrice de sortie ()
Matrice de sortie contenant les valeurs existantes chargées à partir du point de contrôle et avec toutes les valeurs manquantes renseignées à partir de initializing_values.

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "LoadAndRemapMatrix"

Méthodes publiques

Sortie publique < TFloat32 > asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static LoadAndRemapMatrix créer ( Scope scope, Operand < TString > ckptPath, Operand < TString > oldTensorName, Operand < TInt64 > rowRemapping, Operand < TInt64 > colRemapping, Operand < TFloat32 > initializingValues, Long numRows, Long numCols, Options... options)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération LoadAndRemapMatrix.

Paramètres
portée portée actuelle
ckptPath Chemin d'accès au point de contrôle TensorFlow (version 2, `TensorBundle`) à partir duquel l'ancienne matrice `Tensor` sera chargée.
ancienTensorName Nom du « Tenseur » 2D à charger à partir du point de contrôle.
remappage de lignes Un `Tensor` entier de remapping de lignes (généralement créé par `generate_vocab_remapping`). Même si aucun remappage de ligne n'est nécessaire, il doit toujours s'agir d'un Tensor à valeur d'index (par exemple [0, 1, 2, ...]), ou d'un « Tensor » à valeur d'index décalé (par exemple [8, 9, 10, ...], pour les `Variables` partitionnées).
colRemapping Un `Tensor` entier de remappings de colonnes (généralement créé par `generate_vocab_remapping`). Peut être un « Tensor » de taille 0 si seul le remappage des lignes doit être effectué (par exemple, l'ordre des colonnes est le même).
initialisation des valeurs Un `Tensor` flottant contenant des valeurs à remplir pour les cellules de la matrice de sortie qui ne sont pas chargées à partir du point de contrôle. La longueur doit être exactement la même que le nombre de cellules manquantes/nouvelles.
nombre de lignes Nombre de lignes (longueur de la 1ère dimension) dans la matrice de sortie.
numCols Nombre de colonnes (longueur de la 2ème dimension) dans la matrice de sortie.
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de LoadAndRemapMatrix

public statique LoadAndRemapMatrix.Options maxRowsInMemory (Long maxRowsInMemory)

Paramètres
maxRowsInMemory Le nombre maximum de lignes à charger à partir du point de contrôle à la fois. Si inférieur ou égal à 0, la matrice entière sera chargée en mémoire. La définition de cet argument échange une augmentation des lectures de disque contre une utilisation moindre de la mémoire.

Sortie publique < TFloat32 > outputMatrix ()

Matrice de sortie contenant les valeurs existantes chargées à partir du point de contrôle et avec toutes les valeurs manquantes renseignées à partir de initializing_values.