2017-09-23 6 views
0

Je suis nouveau à tensorflow et je dois implémenter un modèle qui a beaucoup d'images en entrée. Mais ces images n'ont pas la même dimension, donc, quand je les transforme en tableaux, elles n'ont pas la même dimension. Je me demande comment déclarer les poids sans une forme prédéfinie.Tensorflow, en utilisant des entrées avec la forme variable

W = tf.Variable(tf.zeros([?, ?])) 
+0

Je pense que vous devez soit besoin de redimensionner les images ou utiliser différentes pooling comme Pyramid Pooling – BlooB

+0

Merci, mais Je ne suis pas autorisé à l'utiliser. – Yes92

Répondre

0

Vous ne pouvez pas insérer d'images dans une variable. Probablement ce dont vous avez besoin est un espace réservé (type de variable que vous pouvez utiliser pour être alimenté avec des données à un certain point de votre algorithme). Voir ce lien pour plus d'informations: https://www.tensorflow.org/api_docs/python/tf/placeholder

Mais aussi dans le cas des espaces réservés, vous devez spécifier les dimensions. Alors que mon conseil est d'utiliser un peu de technique pour redimensionner toutes vos images à la même dimension (voir padding, miroir, ... par exemple): bien sûr, seulement si cela est autorisé pour votre problème spécifique.

Juste dans certains cas, vous pouvez laisser une dimesion non spécifiée, par exemple si vous souhaitez définir un réseau de neurones, vous pouvez laisser batch_size pas défini comme celui-ci

input = tf.placeholder(tf.float32, shape=(None, 28, 28)) 

Si vous êtes à mettre en œuvre votre première neurale réseau, je conseille fortement de jeter un oeil ici. Il est le guide le plus simple et clair tensorflow, sur le site officiel: https://www.tensorflow.org/get_started/mnist/beginners Il vaut la lecture :)

+0

Je vais tf.Variable pour les poids et les biais. Mais le problème est le même (je suppose). Ce n'est pas mon premier réseau de neurones, mais c'est la première fois que j'ai une telle complication. Je pourrais remodeler le vecteur d'image à une seule dimension, qu'en pensez-vous? – Yes92

+0

C'est une bonne solution qui est utilisée très souvent –