Je tente de charger des images dans un graphique TensorFlow
qui sont RGB
, mais je voudrais que le graphique les transforme en niveaux de gris avant le traitement.Erreur lors du chargement des images dans le graphique TensorFlow
x = tf.placeholder(tf.float32, shape=[None, 32, 32, 1], name='x')
gray = tf.image.rgb_to_grayscale(x, name='grayscale')
Cependant, je reçois l'erreur
ValueError: Cannot feed value of shape (250, 32, 32, 3) for Tensor 'x:0', which has shape '(?, 32, 32, 1)'
J'exporté le notebook
avec l'erreur et transféré sur Github en tant que fichier md
pour et la brièveté complétude.
Je réalise que l'erreur est due au fait que le x_batch
est en forme RVB.
Cependant, je pensais que TensorFlow
effectuerait automatiquement la conversion.
Depuis tf.image.rgb_to_grayscale encapsule les entrées, ne devrait pas TF
faire le grayscaling
dans le cadre de la session? Ou ai-je mal compris comment cela fonctionne?
Si vous voulez alimenter en images RVB, vous devez avoir un espace réservé avec la forme '[Aucun, 32, 32, 3] ». Alors le grayscaling peut arriver. –
@OlivierMoindrot donc tf.image.rgb_to_grayscale fera le grayscaling sans autre code? Comment puis-je m'assurer que les images grises sont traitées? –
Donc, si vous chargez des images RVB dans votre espace réservé, puis appliquez 'gray = tf.image.rgb_to_grayscale (x)', la sortie sera de forme '[None, 32, 32, 1]' et contiendra les images grises . Vous pouvez vérifier la forme de 'gray' si vous voulez être sûr. –