最近、tensorflowを使用して開始されましたが、私はfeed_dictの機能について本当に混乱しています。 tensorflowウェブサイトからmnist例を見てみるとtensorflowのfeed_dictの仕組みに混乱があります
、xはここで「なし」も「BATCH_SIZE」
x = tf.placeholder(tf.float32, shape=[None, 784])
ことができなかったので、すべてのトレーニング反復画像の新しいバッチで満たされるシンボリックプレースホルダですトレーニング・ループ中
x_image = tf.reshape(x, [-1,28,28,1])
形状28x28 2D画像に1x784形状裏面平坦だから
このチュートリアルの畳み込み部分を見て、Xを再構築するためのコマンドがあります、Xは、コマンドを介して供給される
train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
私の質問は、xに値を入力するとき、テンソルフローはxを含むすべての演算を自動的にベクトル化しますか?たとえば、オペレーションを定義するときなどに、
h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)
これは自動的にバッチ全体で機能しますか?
xがndarrayであり、各行がフラット化されたイメージである場合、xのプレースホルダーのテンソルフローに「なし」と指定されているため、個々のトレーニングサンプルとして各行を自動的に使用し、
ああ、私はテンソルフローAPIから理解していると思います。「畳み込み演算が画像のバッチに対して2-Dフィルタを掃引します。」テンソルフローが自動的にオペレーションをベクトル化するわけではないので、conv2dは本質的にバッチ処理が可能です。 – beeCwright