Beim Kompilieren einer Funktion in theano
kann eine gemeinsam genutzte Variable (zB X) durch Angabe von updates=[(X, new_value)]
aktualisiert werden. Jetzt versuche ich nur Teilmenge einer gemeinsamen Variablen zu aktualisieren:Wie kann ich die Teilmenge der Tensor-Variablen in Theano zuweisen/aktualisieren?
from theano import tensor as T
from theano import function
import numpy
X = T.shared(numpy.array([0,1,2,3,4]))
Y = T.vector()
f = function([Y], updates=[(X[2:4], Y)] # error occur:
# 'update target must
# be a SharedVariable'
Die Codes ein Fehler „Update Ziel muss ein SharedVariable sein“ erheben, ich denke, das bedeutet, dass Ziele Update nicht nicht gemeinsam genutzten Variablen sein können . Gibt es also eine Möglichkeit, eine Funktion zu kompilieren, um nur Teilmengen von gemeinsam genutzten Variablen zu udpaten?
+1 Das ist mein Tag gerettet. Vielen Dank! – displayname
Und um nicht kontinuierliche Werte zu aktualisieren: 'X_update = (X, T.set_subtensor (X [[2,4]], Y))' –
[Hier] (http://deeplearning.net/software/theano/tutorial/ faq_tutorial.html) besagt, dass 'inc_subtensor' dem 'set_subtensor' vorgezogen wird – Kirbies