web-dev-qa-db-fra.com

Comment convertir des tableaux numpy au format standard TensorFlow?

J'ai deux tableaux numpy:

  • Celui qui contient des images captcha
  • Un autre contenant les étiquettes correspondantes (au format vectoriel one-hot)

Je souhaite les charger dans TensorFlow pour pouvoir les classer à l'aide d'un réseau de neurones. Comment cela peut-il être fait?

Quelle forme doivent avoir les tableaux numpy?

Informations supplémentaires - Mes images mesurent 60 pixels (hauteur) et 160 pixels (largeur), chacune d’elles comportant 5 caractères alphanumériques. Voici un exemple d'image:

sample image.

Chaque étiquette est un tableau de 5 par 62.

23
Keshav Choudhary

Vous pouvez utiliser tf.convert_to_tensor():

import tensorflow as tf
import numpy as np

data = [[1,2,3],[4,5,6]]
data_np = np.asarray(data, np.float32)

data_tf = tf.convert_to_tensor(data_np, np.float32)

sess = tf.InteractiveSession()  
print(data_tf.eval())

sess.close()
30
Jason

Vous pouvez utiliser la méthode tf.pack ( tf.stack dans TensorFlow 1.0.0) à cette fin. Voici comment emballer une image aléatoire de type numpy.ndarray dans un Tensor:

import numpy as np
import tensorflow as tf
random_image = np.random.randint(0,256, (300,400,3))
random_image_tensor = tf.pack(random_image)
tf.InteractiveSession()
evaluated_tensor = random_image_tensor.eval()

UPDATE: pour convertir un objet Python en un tenseur), vous pouvez utiliser la fonction tf.convert_to_tensor .

7
Ali

Vous pouvez utiliser des espaces réservés et feed_dict.

Supposons que nous ayons des tableaux numpy comme ceux-ci:

trX = np.linspace(-1, 1, 101) 
trY = 2 * trX + np.random.randn(*trX.shape) * 0.33 

Vous pouvez déclarer deux espaces réservés:

X = tf.placeholder("float") 
Y = tf.placeholder("float")

Ensuite, utilisez ces espaces réservés (X et Y) dans votre modèle, coût, etc.: modèle = tf.mul (X, w) ... Y ... ...

Enfin, lorsque vous exécutez le modèle/coût, alimentez les tableaux numpy à l’aide de feed_dict:

with tf.Session() as sess:
.... 
    sess.run(model, feed_dict={X: trY, Y: trY})
5
Sung Kim