2016-01-20 4 views
0

Я новичок в theanano, поэтому, возможно, это простой вопрос. Если у меня есть функцияКак написать обновление в функции anano

f = theano.function(
      inputs=[x], 
      outputs=[y], 
      updates=update) 

и у зависит от ш, что я хочу, чтобы обновить с помощью

w = w + tr_rate * (pos_associations-neg_associations) 

Я могу написать

wparameters = [w] 
update = [(wparam, 
      wparam + tr_rate * (pos_associations-neg_associations)) for wparam in wparameters] 

и обновит функции F с помощью правила обновления.

Но если у зависит от другой переменной, скажем, г, что я хочу, чтобы обновить с помощью другого правила, скажем

z = z + tr_rate*(x - vis) 

Как объединить эти два правила вместе?

ответ

0

Я нашел свой собственный ответ, и я отправляю его, если он может помочь другим людям. Вы можете создать обновление переменной, а затем использовать функцию .append для определения новых правил.

Таким образом, вместо

wparameters = [w] 
update = [(wparam, 
      wparam + tr_rate * (pos_associations-neg_associations)) for wparam in wparameters] 

вы можете добавить новое правило и написать:

wparameters = [w] 
zparameters = [z] 


update = [] 
for wparam, zparam in zip(wparameters, bparameters): 
    update.append((wparam, wparam + tr_rate*(pos_associations - neg_associations))) 
    update.append((zparam, zparam + tr_rate*(x - vis)) 
0

update += [(z, z + tr_rate*(x - vis))]
это работает?

+0

Это не дает ответа на этот вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/10998255) –

+0

@vape oh, на самом деле я предлагаю ответ, но я не уверен, работает ли он, должен ли я делать это в качестве комментариев? – dontloo

Смежные вопросы