2017-06-01 1 views
0

J'ai transformé un vecteur 2D en matrices 3D. Maintenant, je veux combiner toutes ces matrices 3D en 1 matrice 3D entière. Comment puis je faire ça?Tensorflow: Comment combiner ma matrice 3D en une seule matrice?

J'ai essayé les méthodes suivantes, mais je n'arrive pas à l'obtenir.

  1. np.stack
  2. tf.pack

Mon code:

#I got 104 files 
for i in range(104): 
    X3D = tf.stack(X3D[i], X3D[i+1]) 

Répondre

0

Vous n'avez pas défini ce que 'combiner', mais en fonction de vos exemples, il n'a pas de sens. Si vous combinez plusieurs tenseurs N-classés, vous obtiendrez un tenseur classé (N + 1). Pour voir pourquoi c'est le cas, regardez les tenseurs 1-dim, 2-dim (scalaires et vecteurs).

Comme la façon de combiner, votre code qui utilise stack fonctionne très bien:

import tensorflow as tf 
x1 = tf.random_normal((3, 3)) 
x2 = tf.random_normal((3, 3)) 

z = tf.stack([x1, x2]) 
with tf.Session() as session: 
     print session.run(z)