2016-12-16 9 views
0

Ich muss einen 2-dimensionalen Tensor A im Tensorfluss erzeugen, so dass A [ i] [i - 1] = A [i - 1] [j] = 1 und andere Elemente sind gleich Null.Tensorflow: Erstelle einen Tensor A, so dass A [i] [i - 1] = A [i - 1] [j] = 1

Dieser Tensor sollte die gleiche Form wie ein anderer Tensor haben, deshalb kann ich ihn nicht mit einem numpy Array erzeugen.

Können Sie mir bitte helfen?

+0

Versteh ich richtig, dass Sie eine Matrix (2-dim Tensor) mit zwei "Linien" von 1, über und unter der Diagonale erstellen möchten? – sygi

+0

@sygi Ja, du hast Recht. –

Antwort

0
size = 100 
indices = [] 
for i in xrange(size-1): 
    indices.append([i, i+1]) 
    indices.append([i+1, i]) 

dense = tf.sparse_to_dense(indices, [size, size], [1]*2*(size-1)) 
sess = tf.Session() 
sess.run(dense) 
+0

Das Problem ist, dass die Größe nicht int ist, sondern die Form eines anderen Tensors, deshalb kann ich keine Schleifen und keine Nummern verwenden. –

+0

Ah, ich weiß nicht (und bin mir nicht sicher, ob es möglich ist), wie es dann geht. – sygi

+0

Vielen Dank trotzdem! –

Verwandte Themen