2016-04-28 10 views
17

Mam dwa numpy tabliceJak konwertować numpy tablic do standardowego formatu TensorFlow?

  • taki, który zawiera obrazy captcha i
  • innym, który zawiera odpowiednie etykiety (w jednym-hot formacie wektorowym)

chcę, aby załadować je do TensorFlow więc mogę je sklasyfikować za pomocą sieci neuronowej. Jak to zrobić?

Jaką postać muszą mieć tablice numpy?

Dodatkowe informacje - Moje obrazy są 60 (wysokość) przez 160 (szerokość) pikseli każda i każdy z nich ma 5 znaków alfanumerycznych

Here is a sample image. Każda etykieta jest 5 przez 62 tablicą.

+0

Sprawdź również przykłady MNIST, https://www.tensorflow.org/versions/r0.8/tutorials/mnist/beginners/index.html –

Odpowiedz

5

Można używać symboli zastępczych i statusu pliku danych.

Załóżmy, że mamy numpy tablice takie jak:

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

Można zadeklarować dwa zastępcze:

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

Następnie użyć tych zastępczych (X i Y) w modelu, koszt, etc .: model = tf.mul (X, w) ... Y ... ...

Na koniec, po uruchomieniu modelu/kosztu, wprowadź numpy array przy użyciu feed_dict:

with tf.Session() as sess: 
.... 
    sess.run(model, feed_dict={X: trY, Y: trY}) 
+0

robi to metoda pozwala mi używać wbudowanych funkcji tensora, takich jak następna partia? –

+0

@KeshavChoudhary następna partia w MNIST? Oczywiście, ale musisz zmodyfikować nieco dla swojego zestawu danych. –

+0

Chcę zbudować zestaw danych taki jak MNIST, ale z własnymi obrazami, jestem początkującym użytkownikiem sieci TensorFlow i neuronowych. Jaki jest najłatwiejszy sposób utworzenia zestawu danych, takiego jak MNIST, aby móc wykonać podstawowy samouczek? –

7

Można użyć tf.pack (tf.stack w TensorFlow 1.0.0) metodą do tego celu. Oto jak zapakować losowy obraz typu numpy.ndarray w 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: przekonwertować obiekt Pythona do tensora można użyć tf.convert_to_tensor funkcję.

+2

nie ma tf.pack – Chaine

+1

W parantheses right aftet 'tf.pack' Wspomniałem, że powinieneś użyć' tf.stack' w nowszych wersjach jeśli TensorFlow! – Ali

+0

Dobrze .. ok dzięki! – Chaine

11

Można użyć 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() 
Powiązane problemy