2017-10-14 4 views
1

Supposons que j'ai un tenseur de forme [None, 80, 80]. Ceci est un lot d'images 80x80 pour la descente de gradient stochastique. Supposons que je choisisse la taille du minipatch comme 50, (Aucun ne sera 50), et je veux factoriser le Aucun en deux dimensions (5, 10), ce qui donne [?, ?, 80, 80].Remodelage avec None dans tensorflow ou keras

Comment réaliser ceci lors de la formation du graphique avec la valeur None?

Répondre

2

Vous pouvez le faire avec 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 

sortie Résultat:

(5, 10, 80, 80) 

Bien sûr, garder à l'esprit que le passage d'une taille de lot inadapté entraînera exception lors de l'exécution.