При компиляции функции в theano
, общая переменная (скажем, X) может быть обновлена путем указания updates=[(X, new_value)]
. Теперь я пытаюсь обновить только подмножество общей переменной:Как назначить/обновить подмножество общей переменной тензора в 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'
Коды повысятся «цель обновления должна быть SharedVariable» ошибка, я предполагаю, что означает изменение цели не могут быть не общие переменные , Итак, есть ли способ скомпилировать функцию, чтобы просто udpate подмножество общих переменных?
+1 Это спасло мой день. Благодаря! – displayname
И для обновления не непрерывных значений: 'X_update = (X, T.set_subtensor (X [[2,4]], Y))' –
[Здесь] (http://deeplearning.net/software/theano/tutorial/ faq_tutorial.html) говорится, что 'inc_subtensor' является предпочтительным для' set_subtensor' – Kirbies