मैं theano.scan() के व्यवहार को पूरी तरह से समझ नहीं सकता।पायथन - थानो स्कैन() फ़ंक्शन
import numpy as np
import theano
import theano.tensor as T
def addf(a1,a2):
return a1+a2
i = T.iscalar('i')
x0 = T.ivector('x0')
step= T.iscalar('step')
results, updates = theano.scan(fn=addf,
outputs_info=[{'initial':x0, 'taps':[-2]}],
non_sequences=step,
n_steps=i)
f=theano.function([x0,i,step],results)
print f([1,1],10,2)
ऊपर टुकड़ा निम्न क्रम प्रिंट, जो पूरी तरह से उचित है:
[ 3 3 5 5 7 7 9 9 11 11]
लेकिन अगर मैं से -2 -1 नल सूचकांक स्विच, यानी
यहाँ एक उदाहरण है
outputs_info=[{'initial':x0, 'taps':[-1]}]
परिणाम हो जाता है:
[[ 3 3]
[ 5 5]
[ 7 7]
[ 9 9]
[11 11]
[13 13]
[15 15]
[17 17]
[19 19]
[21 21]]
बजाय मुझे क्या उचित प्रतीत होता है की
(बस वेक्टर का अंतिम मान लेने के लिए और 2 जोड़ने):
[ 3 5 7 9 11 13 15 17 19 21]
किसी भी मदद की बहुत सराहना की जाएगी।
धन्यवाद!