2017-07-04 41 views
2

我有一個由多個子網(多個卷積網和最後一個完全連接+軟最大層)組成的網絡。每個ConvNet提供特定區域和圖像大小。因此,爲了饋送我的網絡,我爲每個富網輸入和一個標籤佔位符寫入圖像佔位符,以在一批中輸入所有圖像的標籤(所有輸入的圖像在所有的富網輸入中具有相同的標籤)。 不幸的是,我對feed_dict部分沒有任何想法。 例如這個代碼是唯一一個convnet培訓:如何在張量流中通過feed_dict饋送多個輸入

images_r, labels_r = sess.run([images, labels]) 
    train_feed = {images_placeholder: images_r, 
       labels_placeholder: labels_r} 
    _, loss_value = sess.run([train_op, loss_func], feed_dict=train_feed) 

如何我上面的代碼延長飼料全部CONV網?

+0

我不知道我明白你的問題。 您有多個網絡輸入點?如果是這樣,在每個培訓步驟中,您需要爲所有這些輸入點提供輸入? – GPhilo

回答

4

所以對於每個conv網絡,如果placeholders的輸入是:conv_1_inputconv_2_input .... conv_N_input,那麼你傳遞的列表中feed_dict這樣的:

train_feed = {`conv_1_input`: image_1, `conv_2_input`: image_2,.. `conv_N_input`: image_N, 
      labels_placeholder: labels_r} 
_, loss_value = sess.run([train_op, loss_func], feed_dict=train_feed) 
+0

使用此方法後,我得到此錯誤: TypeError:無法將feed_dict鍵解釋爲張量:無法將函數轉換爲張量。 –

+0

變量'conv_1_input','conv_2_input'應該是張量,錯誤並非如此。 –

-1

您應該在計算圖中分割/切分圖像,並使用單個輸入。

+0

不幸的是,我的所有修補程序(來自原始圖像)都沒有相同的功能,我從基於某些地標的原始圖像中提取它們。 (例如考慮我們有人臉的原始圖像,我的地標是眼睛的中心,鼻尖和嘴角)。 所以,我必須使用提取的補丁來提供所有相關的feed_dict。 –

相關問題