2017-10-14 2 views
1

Angenommen, ich habe einen Tensor der Form [None, 80, 80]. Dies ist eine Charge von 80x80 Bildern für den stochastischen Gradientenabfall.Umformung mit keiner in Tensorflow oder Keras

Angenommen, ich wähle die Minibatch-Größe 50, (None wird 50), und ich möchte die None in zwei Dimensionen (5, 10) faktorisieren, was zu [?, ?, 80, 80] führt.

Wie erreiche ich dies, wenn ich den Graphen mit None-Wert erzeuge?

Antwort

2

Sie können es mit 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 

Ausgang Ergebnis:

(5, 10, 80, 80) 

Natürlich, denken Sie daran, dass eine ungeeignete Losgröße vorbei in Ausnahme zur Laufzeit führen.

Verwandte Themen