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 :
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
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. |
---|