Theano扫描函数和参数编号lstm

时间:2018-01-10 10:09:35

标签: python theano lstm rnn

我是神经网络的新手,我正在尝试修改此代码RNN-Classifier,而不是使用GRU_step,我宁愿使用LSTM。

我添加了一个额外的参数 c_prev

        def lstm_step(x, h_prev, c_prev, W_xz, W_hz, W_xm, W_hm):

在应用所有LSTM方程后,我将它们都返回(h和c)

我隐藏的矢量看起来像这样:

        hidden_vector, _ = theano.scan(
        lstm_step,
        sequences=input_vectors,
        outputs_info=initial_hidden_vector,
        non_sequences=[W_xz, W_hz, W_xm, W_hm]
    )
    hidden_vector = hidden_vector[-1]

我得到一个这样的例外,并且不明白为什么它没有看到c_prev作为一个存在的参数(或者我如何/在哪里可以用一些值来提供它,以便它不是空的? )

python rnnclassifier.py data/sentiment.train.txt data/sentiment.test.txt
Traceback (most recent call last):
File "rnnclassifier.py", line 167, in <module>
rnn_classifier = RnnClassifier(word2id_len, n_classes)

File "rnnclassifier.py", line 110, in __init__
non_sequences=[W_xz, W_hz, W_xm, W_hm]

File "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan.py",
line 773, in scan condition, outputs, updates =   
scan_utils.get_updates_and_outputs(fn(*args))

TypeError: lstm_step() takes exactly 7 arguments (6 given)

我是这个主题的新手,非常感谢任何帮助或建议!谢谢。

0 个答案:

没有答案