私は2つのnumpy配列を持っています:
これらをTensorFlowにロードして、ニューラルネットワークを使用して分類できるようにします。これを行うにはどうすればよいですか?
Numpy配列にはどのような形状が必要ですか?
追加情報-私の画像は60(高さ)x 160(幅)ピクセルで、それぞれ5文字の英数字です。サンプル画像は次のとおりです。
各ラベルは5 x 62の配列です。
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()
この目的のために tf.pack (TensorFlow 1.0.0では- tf.stack )メソッドを使用できます。タイプnumpy.ndarray
のランダムイメージを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()
更新:PythonオブジェクトをTensorに変換するには、 tf.convert_to_tensor 関数を使用できます。
プレースホルダーとfeed_dictを使用できます。
これらのようなnumpy配列があるとします:
trX = np.linspace(-1, 1, 101)
trY = 2 * trX + np.random.randn(*trX.shape) * 0.33
次の2つのプレースホルダーを宣言できます。
X = tf.placeholder("float")
Y = tf.placeholder("float")
次に、モデル、コストなどでこれらのプレースホルダー(XおよびY)を使用します。model = tf.mul(X、w)... Y ... ...
最後に、モデル/コストを実行するときに、feed_dictを使用してnumpy配列をフィードします。
with tf.Session() as sess:
....
sess.run(model, feed_dict={X: trY, Y: trY})