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%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.
[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.
Tags und Links indexing tensorflow matrix variable-assignment element