2017-06-14 6 views
0

Je suis en train de calculer la norme Frobenius de mon tenseurerreur tf.norm ValueError: « ord » doit être une norme de vecteur pris en charge, se vient

W = tf.Variable(tf.random_normal([3072,20],stddev=0.1)) 
temp = tf.matmul(tf.transpose(W),W) 
fro_W = tf.norm(temp, ord ='fro') 

Cela produit l'erreur suivante:

ValueError : 'ord' doit être une norme vectorielle supportée, obtenue

Je ne comprends pas pourquoi il traite mon tenseur 2D comme un vecteur et non comme une matrice.

Ai-je oublié quelque chose ici?

Merci

Répondre

1

De l'documentation:

The Frobenius norm fro is not defined for vectors

En outre,

If axis is None (the default), the input is considered a vector

Essayez ceci:

tf.norm(temp, ord='fro', axis=(0,1))