【发布时间】:2019-11-13 12:47:25
【问题描述】:
我正在尝试为电视脚本生成制作模型,并且在运行以下模型时,出现输入层和嵌入层错误。 我试过在没有这两行的情况下运行模型,它工作正常。有人可以帮我解决错误吗?
embedding = 300
lstm_size = 128
vocab_size = len(vocab) #8420
seq_len = 100
model = Sequential()
model.add(Input((None, )))
model.add(Embedding(inp, input_dim = vocab_size, output_dim = embedding,
input_length = 1000))
model.add(LSTM(lstm_size, return_sequences = True, return_state = True))
model.add(LSTM(lstm_size, return_sequences = True, return_state = True))
model.add(LSTM(lstm_size, return_sequences = True, return_state = True))
model.add(Flatten())
model.add(Dense(vocab_size))
TypeError Traceback (most recent call last)
<ipython-input-66-695a9250515c> in <module>
19 #model = Model(inp, out)
20 model = Sequential()
---> 21 model.add(Input((None, )))
22 model.add(Embedding(inp, input_dim = vocab_size, output_dim = embedding, input_length = 1000))
23 model.add(LSTM(lstm_size, return_sequences = True, return_state = True))
~\Anaconda3\lib\site-packages\tensorflow\python\training\checkpointable\base.py in _method_wrapper(self, *args, **kwargs)
440 self._setattr_tracking = False # pylint: disable=protected-access
441 try:
--> 442 method(self, *args, **kwargs)
443 finally:
444 self._setattr_tracking = previous_value # pylint: disable=protected-access
~\Anaconda3\lib\site- packages\tensorflow\python\keras\engine\sequential.py in add(self, layer)
143 raise TypeError('The added layer must be '
144 'an instance of class Layer. '
--> 145 'Found: ' + str(layer))
146 self.built = False
147 set_inputs = False
TypeError: The added layer must be an instance of class Layer. Found: Tensor("input_37:0", shape=(?, ?), dtype=float32)
This is coming for the Input layer
and,
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-67-3c663f8df357> in <module>
20 model = Sequential()
21 #model.add(Input((None, )))
---> 22 model.add(Embedding(inp, input_dim = vocab_size, output_dim = embedding, input_length = 1000))
23 model.add(LSTM(lstm_size, return_sequences = True, return_state = True))
24 model.add(LSTM(lstm_size, return_sequences = True, return_state = True))
TypeError: __init__() got multiple values for argument 'input_dim'
this comes for embedding layer.
【问题讨论】:
-
你应该包括你的导入以及'inp'是什么。
-
inp = Input((None, ))
标签: python tensorflow keras lstm recurrent-neural-network