2016-12-18 3 views

答えて

2

これは、例えばhereため、theanoのチュートリアルに示されています。

機能の最初の引数は、scanの引数sequences(提供されている場合)から自動的に取得されます。 たとえば、ベクトルxのすべての要素に対応するインデックスを追加するとします。 次のようなtheano.scanでそれを行うことができます:

import theano 
import theano.tensor as T 
x = T.dvector('x') 
def step(idx, array): 
    return array[idx] + idx 
results, updates = theano.scan(fn=step, 
           sequences=T.arange(x.shape[0]), 
           non_sequences=[x]) 
f = theano.function([x], results) 
f([1., 0., 2.13]) 
# array([ 1. , 1. , 4.13]) 

をので、基本的に:あなたはscanに与える関数の引数の順番を気に、彼らは特定の順序で渡されます。 該当するdocumentation page of scanの注文を正確に見ることができます。

+0

ご返信ありがとうございます。それは動作します!次に、このidx変数を 'int'変数と比較し、その戻り値に基づいて何かを求めたいと思います。しかし、ここではidxはテンソル変数です。どのように私は比較を行うことができます上の手掛かり。単純に 'if T.lt(idx、seqLen-1):'を実行すると '常にtrueを返します。毎回最初のインデックス値を比較しているかもしれません。どのようにこれを行う上の任意のアイデア? – dragster

+0

あなたが何を求めているのか分かりません。この問題に関連していない場合は、別の質問を開く必要があります – glS

関連する問題