我是tensorflow的新手,我必須實現一個包含大量圖像作爲輸入的模型。但是這些圖像不具有相同的維度,因此,當我將它們轉換爲數組時,它們不具有相同的維度。 我想知道如何在沒有預定義形狀的情況下聲明權重。Tensorflow,使用可變形狀的輸入
W = tf.Variable(tf.zeros([?, ?]))
我是tensorflow的新手,我必須實現一個包含大量圖像作爲輸入的模型。但是這些圖像不具有相同的維度,因此,當我將它們轉換爲數組時,它們不具有相同的維度。 我想知道如何在沒有預定義形狀的情況下聲明權重。Tensorflow,使用可變形狀的輸入
W = tf.Variable(tf.zeros([?, ?]))
您無法在變量內輸入圖像。可能你需要的是一個佔位符(你可以用來在你的算法的某個點上用數據提供的變量)。請參閱此鏈接以瞭解更多信息:https://www.tensorflow.org/api_docs/python/tf/placeholder
但是在佔位符的情況下,您必須指定尺寸。因此,我的建議是使用一些技術將所有圖片的大小調整爲相同的維度(例如,參見填充,鏡像等):當然,只有在您的特定問題允許這樣做的情況下。
只是在某些情況下,如果要定義一個神經網絡,你可以留下一些dimesion沒有規定,比如,你可以離開的batch_size沒有定義這樣
input = tf.placeholder(tf.float32, shape=(None, 28, 28))
如果你要實現你的第一個神經網絡,我強烈建議看看這裏。這是最簡單明瞭的指導tensorflow,從官方網站:https://www.tensorflow.org/get_started/mnist/beginners 值得閱讀:)
我會爲重量和偏見而變化。但問題是一樣的(我想)。這不是我的第一個神經網絡,但這是我第一次遇到這種複雜情況。我可能只會將圖像矢量重新塑造成一個維度,您怎麼看? – Yes92
這是一個經常使用的很好的解決方案 –
我認爲你必須要麼需要重新大小的圖像,或使用不同的池像金字塔池 – BlooB
謝謝,但我不能使用它。 – Yes92