2017-10-14 128 views
1

假設我有張形狀[None, 80, 80]。這是用於隨機梯度下降的一批80x80圖像。在張量流或keras中重塑無

假設我選擇minibatch大小爲50(無將爲50),並且我想將無因式分解爲兩個維(5, 10),結果爲[?, ?, 80, 80]

如何在使用None值形成圖形時實現此目的?

回答

2

你可以用tf.reshape做到這一點:

import numpy as np 
import tensorflow as tf 

x = tf.placeholder(tf.float32, shape=[None, 80, 80], name='x') 
y = tf.reshape(x, shape=[-1, 10, 80, 80], name='y') 
data = np.zeros([50, 80, 80]) 
with tf.Session() as session: 
    result = session.run(y, feed_dict={x: data}) 
    print result.shape 

結果輸出:

(5, 10, 80, 80) 

當然,請記住,傳遞不適合批量規模將導致在運行時異常。