Die Tensorflow-Dokumentation besagt, dass ein Variable
an jeder Stelle verwendet werden kann, an der ein Tensor
verwendet werden kann, und sie scheinen ziemlich austauschbar zu sein. Beispiel: Wenn v
ein Variable
ist, wird x = 1.0 + v
zu Tensor
.In Tensorflow, was ist der Unterschied zwischen einer Variablen und einem Tensor?
Was ist der Unterschied zwischen den beiden, und wann würde ich einen über den anderen verwenden?
Wenn eine Variable in einem Modell zusammen mit einem 'Optimizer' verwendet wird, werden die Gewichte in dieser' Variablen' immer über Backprop aktualisiert? Sollen die von mir erstellten 'Variablen'-Objekte genau mit meinen trainierbaren Parametern übereinstimmen, oder gibt es Parameter, bei denen ich keine Variablen sein möchte oder umgekehrt? – juesato
Ja, soweit ich es verstehe, wird jede Variable, die trainierbar hat = True set (der Standardwert), während des Backprop aktualisiert, vorausgesetzt natürlich, dass der Gradient sich auf diese bestimmte Variable ausbreiten kann (früher im Datenfluss) zur Verlustoperation). Abhängig davon, was Sie als Parameter definieren, stelle ich fest, dass es einige gibt, die während des Trainings nicht aktualisiert werden sollen, z. B. Sequenzlängen, maximale Epochen, Lernrate. Dies können Python-Variablen sein, die Tensorflow bei Bedarf automatisch konvertiert oder sie können konstante Tensoren sein. –