İki numpy dizim var:
**Bunları TensorFlow'a yüklemek istiyorum, böylece bir sinir ağı kullanarak sınıflandırabilirim. Bu nasıl yapılabilir?
Numpy dizilerinin nasıl bir şekle sahip olması gerekir?
Ek Bilgi - Resimlerimin her biri 60 (yükseklik) x 160 (genişlik) pikseldir ve her birinde 5 alfanümerik karakter vardır. İşte örnek bir resim:
Her etiket 5'e 62'lik bir dizidir.
tf.convert_to_tensor()` işlevini kullanabilirsiniz:
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()
İşte bu yöntemin belgelerine bir bağlantı:
https://www.tensorflow.org/api_docs/python/tf/convert_to_tensor
Bu amaçla tf.pack (tf.stack TensorFlow 1.0.0'da) yöntemini kullanabilirsiniz. Burada numpy.ndarray
türünde rastgele bir görüntünün bir Tensor
içine nasıl paketleneceği gösterilmektedir:
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()
GÜNCELLEME: Bir Python nesnesini Tensöre dönüştürmek için tf.convert_to_tensor fonksiyonunu kullanabilirsiniz.
Yer tutucuları ve feed_dict kullanabilirsiniz.
Bunun gibi numpy dizilerimiz olduğunu varsayalım:
trX = np.linspace(-1, 1, 101)
trY = 2 * trX + np.random.randn(*trX.shape) * 0.33
İki yer tutucu bildirebilirsiniz:
X = tf.placeholder("float")
Y = tf.placeholder("float")
Ardından, bu yer tutucuları (X ve Y) modelinizde, maliyetinizde vb. kullanın: model = tf.mul(X, w) ... Y ... ...
Son olarak, modeli/maliyeti çalıştırdığınızda, feed_dict kullanarak numpy dizilerini besleyin:
with tf.Session() as sess:
....
sess.run(model, feed_dict={X: trY, Y: trY})