J'ai un espace réservé TensorFlow avec 4 dimensions représentant un lot d'images. Chaque image est de 32 x 32 pixels et chaque pixel possède 3 canaux de couleur. Les premières dimensions représentent le nombre d'images.TensorFlow: Prendre la norme L2 sur plusieurs dimensions
X = tf.placeholder(tf.float32, [None, 32, 32, 3])
Pour chaque image, je voudrais prendre la norme L2 de tous les pixels de l'image. Ainsi, la sortie doit être un tenseur avec une dimension (c'est-à-dire une valeur par image). Le tf.norm()
(documentation) accepte un paramètre d'axe, mais il me permet seulement de spécifier jusqu'à deux axes sur lesquels prendre la norme, quand je voudrais prendre la norme sur les axes 1, 2 et 3. Comment faire?
n = tf.norm(X, ord=2, axis=0) # n.get_shape() is (?, ?, 3), not (?)
n = tf.norm(X, ord=2, axis=[1,2,3]) # ValueError