我是神经网络的新手,我正在尝试修改此代码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)
我是这个主题的新手,非常感谢任何帮助或建议!谢谢。