la réplication d'une ligne à l'aide du tenseur de tf.tuile?
J'ai un tenseur qui est simplement un vecteur, vector = [0.5 0.4]
et tf.forme indique qu'il a la forme=(1,), je voudrais reproduire le vecteur m reprises et ont la forme de [m, 2], alors, pour m = 2, matrix = [[0.5 0.4], [0.5 0.4]]
. Comment puis-je obtenir qu'à l'aide de tf.tuile?
Vous devez vous connecter pour publier un commentaire.
Prendre le suivant,
vec
est un vecteur,multiply
est votre m, le nombre de fois à répéter le vecteur.tf.tile
est effectuée sur le vecteur et puis, à l'aide detf.reshape
il est reformée dans la structure souhaitée.Il en résulte:
tf.tile
n'est pas le même quenp.tile
, il est facile de faire une erreur avec la tuile et de la remodeler, une meilleure utilisation explicite des options commetf.stack
oumatmul
.Le même effet peut être obtenu en multipliant un
ones matrix
avecvec
et laissezbroadcasting
faire l'affaire:réplication /duplication d'un tenseur (que ce soit un vecteur 1D, 2D matrice, ou de toute dimension) peut être fait par la création d'une liste de copies de ce tenseur (pur python), et ensuite à l'aide de tf.la pile d'avoir à la fois des mesures dans un (court) de la ligne.
Voici un exemple de la duplication d'un 2D Tenseur:
"[a]*4" crée une liste contenant quatre copies de la même tenseur (c'est de la pure python).
tf.stack, puis les empiler les uns après les autres, sur le premier axe (axis=0)
En mode graphique:
Je suppose que le principal cas d'utilisation de cette réplication est pour correspondre à la dimension de deux tenseurs (que vous voulez multiplier?).
Dans ce cas, il existe une solution beaucoup plus simple. Laissez le
tensorflow
faire le travail de la dimensionnalité de correspondance pour vous:Comme vous pouvez le voir, il peut fonctionner pour beaucoup de situations plus complexes: lorsque vous avez besoin de se répliquer sur le premier et le dernier dimensions, lorsque vous travaillez avec des formes plus complexes, etc. Tout ce que vous devez faire est de correspondre aux indices dans la chaîne de caractères de la description (au-dessus de nous adapter à la dimension de l'
a
, étiquetésj
avec la deuxième dimension de lab
(ijk
).Un autre exemple de cas d'utilisation:
J'ai un état par des neurones, et depuis nous simulons dans les lots, cet état a dimensionnalité
(n_batch, n_neuron)
. - Je besoin pour utiliser cet état pour moduler les connexions entre les neurones (poids des synapses), qui dans mon cas a dimension supplémentaire de sorte qu'ils ont la dimensionnalité(n_neuron, n_neuron, n_X)
.Au lieu de faire un gâchis avec le carrelage, remodelant, etc. Je peux l'écrire en une seule ligne comme:
Une réponse sans remodelage: