Newbie ici, je suis désolé si cette question est stupide, mais je ne pouvais rien trouver à ce sujet en ligne. Je reçois une forme inattendue pour la sortie de tf.squared_difference
. Je me attends à obtenir d'un Tensor avec shape=(100, ?)
forme que la perte de l'extrait suivantTensorflow tf.squared_difference sort une forme inattendue
[print("Logits",logits,"#Labels",labels,"LOSS",tf.squared_difference(labels,logits)) for logits, labels in zip(logits_series,labels_series)]
Cependant, il produit (100,100)
perte
logits Tensor ("add_185: 0", forme = (100, 1), dtype = float32) Tenseur #Labels ("unstack_29: 0", forme = (100,), dtype = float32) Tenseur de perte ("SquaredDifference_94: 0", forme = (100, 100), dtype = float32) Loges Tensor ("add_186: 0", forme = (100, 1), dtype = float32) Tenseur #Labels ("unstack_29: 1", forme = (100,), dtype = float32) Tenseur de perte ("SquaredDifference_95: 0" , forme = (100, 100), dtype = float32)
J'ai testé un autre exemple avec le code suivant et donne la forme de sortie attendue.
myTESTX = tf.placeholder(tf.float32, [100, None])
myTESTY = tf.placeholder(tf.float32, [100, 1])
print("Test diff X-Y",tf.squared_difference(myTESTX,myTESTY))
print("Test diff Y-X",tf.squared_difference(myTESTY,myTESTX))
test diff XY Tensor ("SquaredDifference_92: 0"?, Forme = (100,), DTYPE = float32) test diff YX Tensor ("SquaredDifference_93: 0", forme = (100,?), DTYPE = float32)
J'ai question pourquoi ces deux extraits produisent une forme de sortie différente
Merci, mais je ne comprends pas vraiment pourquoi il est 10,10. La deuxième dimension des tenseurs n'est pas 10. – cagdas
Droite. Je suis d'accord que c'est un exemple confus/non intuitif. Si cela aide, notez que la forme (10,) est un vecteur ligne et la forme (10,1) est un vecteur colonne. Numpy (et tensorflow) font ce qu'on appelle [diffusion] (https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html). Si les formes d'une opération par élément ne correspondent pas, numpy essaie de copier l'un des tableaux autant de fois qu'il le faut pour l'autre forme, puis il les relie ensemble. –