Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Keras-输入层和嵌入层错误_Python_Tensorflow_Keras_Lstm_Recurrent Neural Network - Fatal编程技术网

Python Keras-输入层和嵌入层错误

Python Keras-输入层和嵌入层错误,python,tensorflow,keras,lstm,recurrent-neural-network,Python,Tensorflow,Keras,Lstm,Recurrent Neural Network,我试图建立一个电视脚本生成模型,当运行以下模型时,输入层和嵌入层出错。 我试着在没有这两条线的情况下运行这个模型,效果很好。有人能帮我纠正这个错误吗 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,

我试图建立一个电视脚本生成模型,当运行以下模型时,输入层和嵌入层出错。 我试着在没有这两条线的情况下运行这个模型,效果很好。有人能帮我纠正这个错误吗

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回溯(最近一次调用)
在里面
19#模型=模型(输入,输出)
20模型=顺序()
--->21模型。添加(输入((无,))
22模型添加(嵌入(inp,输入尺寸=声音尺寸,输出尺寸=嵌入,输入长度=1000))
23模型。添加(LSTM(LSTM大小,返回序列=真,返回状态=真))
~\Anaconda3\lib\site packages\tensorflow\python\training\checkpointable\base.py in\u method\u包装(self,*args,**kwargs)
440 self._setattr_tracking=False#pylint:disable=protected access
441尝试:
-->442方法(self,*args,**kwargs)
443最后:
444 self._setattr_tracking=以前的值#pylint:disable=受保护的访问
添加中的~\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\sequential.py(self,layer)
143 raise TypeError('添加的图层必须为'
144“类层的实例”
-->145“找到:”+str(层))
146自建=错误
147设置_输入=错误
TypeError:添加的层必须是类层的实例。找到:张量(“输入_37:0”,形状=(?,?),数据类型=浮点32)
这就是输入层
以及,
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
20模型=顺序()
21#model.add(输入((无,))
--->22模型添加(嵌入(inp,输入尺寸=声音尺寸,输出尺寸=嵌入,输入长度=1000))
23模型。添加(LSTM(LSTM大小,返回序列=真,返回状态=真))
24 model.add(LSTM(LSTM大小,返回序列=True,返回状态=True))
TypeError:\uuuu init\uuuuuuuu()为参数“input\u dim”获取了多个值
这是用于嵌入层的。

输入不是图层对象。这就是为什么会出现第一个错误。您不需要通过调用Sequential()来传递类似的内容。嵌入()可以是第一层

第二个错误是因为您正在向它传递
inp
。第一个值应为
inp
vocab_size
,但不能同时为这两个值

基本上

embedding = 300
lstm_size = 128
vocab_size = len(vocab) #8420
seq_len = 100


model = Sequential()
model.add(Embedding(vocab_size, embedding, input_length = 1000))

您应该包括您的导入以及什么是“inp”。inp=Input((无,))
embedding = 300
lstm_size = 128
vocab_size = len(vocab) #8420
seq_len = 100


model = Sequential()
model.add(Embedding(vocab_size, embedding, input_length = 1000))