Quando si compila una funzione in theano
, è possibile aggiornare una variabile condivisa (ad esempio X) specificando updates=[(X, new_value)]
. Ora sto cercando di aggiornare solo sottoinsieme di una variabile condivisa:Come posso assegnare/aggiornare sottoinsieme della variabile condivisa del tensore in Theano?
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'
I codici alzerà un errore di "target aggiornamento deve essere uno SharedVariable" Credo che significa obiettivi aggiornamento non può essere variabili non condivise . Quindi c'è un modo per compilare una funzione solo per udire un sottoinsieme di variabili condivise?
uno che ha salvato la mia giornata. Grazie! – displayname
E per aggiornare i valori non continui: 'X_update = (X, T.set_subtensor (X [[2,4]], Y))' –
[Qui] (http://deeplearning.net/software/theano/tutorial/ faq_tutorial.html) dice che "inc_subtensor" è preferito a "set_subtensor" – Kirbies