2016-04-27 12 views
0

私はtheano共有変数(1,500)を持っていますが、スキャン機能に渡されると形状は(1,150)になります。コードの例を以下に示します。theano共有変数のスキャン機能が不適切です

y_t1 = theano.shared(name='y_t1', value=np.zeros((1, 500), dtype=theano.config.floatX)) 

def forward(X, y_t1): 
    return y_t1 

(hyp), _ = theano.scan(fn=forward, sequences=X, outputs_info=[y_t1]) 

y_t1のサイズ(1、500)で作成し、 "前進" 機能の外側(1、500)が、内側になるようにその形状が報告されている "前方" は、500形(1、1を有します)。なぜこれが起こるのですか?

ありがとうございました。

答えて

0

はそれを渡し

(hyp), _ = theano.scan(fn=forward, sequences=X, outputs_info=y_t1) 

ように、それはその後、正常に動作する必要があります。 (私はoutputs_infoのy_t1について角括弧を削除しました)

説明:Theanoは、=の後に渡すものをテンソルに変換します。したがって、リストを渡すと、最初にその形のテンソルに変換されます。したがって、[y_t1]を渡しているときは、基本的に入力に余分な次元を追加しています。

関連する問題