Manipulieren von Matrixelementen im Tensorfluss

8

Wie kann ich Folgendes im Tensorflow tun?

%Vor%

Ich kann die Klammern [] nicht verwenden, weil sie nur für Konstanten und nicht für on funktioniert Variablen. Ich kann die Slice-Funktion nicht verwenden, weil entweder ein Tensor zurückgegeben wird und Sie einem Tensor nicht zuweisen können.

%Vor%

Druckt

%Vor%     
Shagas 03.03.2016, 10:44
quelle

1 Antwort

11

Sie können einen Tensor nicht ändern, aber Sie können eine Variable ändern.

Es gibt drei Muster, mit denen Sie erreichen können, was Sie wollen:

(a) Verwenden Sie tf.scatter_update , um direkt an den gewünschten Teil der Variablen zu gelangen ändern.

%Vor%
  

[2 5 -4 0]

     

[2 9 -4 0]

     

[2 9 -4 0]

(b) Erstellen Sie zwei tf.slice() s des Tensors, mit Ausnahme des Elements, das Sie ändern möchten, und dann tf.concat(0, [a, 0, b]) sie wieder zusammen.

(c) Erstellen Sie b = tf.zeros_like(a) , und verwenden Sie dann tf.select() , um auszuwählen, welche Elemente von a und welche von b gewünscht sind.

Ich habe (b) und (c) eingeschlossen, weil sie mit normalen Tensoren arbeiten, nicht nur mit Variablen.

    
dga 03.03.2016, 18:27
quelle