Python blstm():缺少必需的位置参数
我正在使用Python 3.7。使用此代码后,我出现以下错误Python blstm():缺少必需的位置参数,python,keras,lstm,Python,Keras,Lstm,我正在使用Python 3.7。使用此代码后,我出现以下错误 def blstm(inp_dim,vocab_size, embed_size, num_classes, learn_rate): model = Sequential() model.add(Embedding(vocab_size, embed_size, input_length=inp_dim, trainable=True)) model.add(Dropout(0.25)) mod
def blstm(inp_dim,vocab_size, embed_size, num_classes, learn_rate):
model = Sequential()
model.add(Embedding(vocab_size, embed_size, input_length=inp_dim, trainable=True))
model.add(Dropout(0.25))
model.add(Bidirectional(LSTM(embed_size)))
model.add(Dropout(0.50))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
return model
def get_model(m_type,inp_dim, vocab_size, embed_size, num_classes, learn_rate):
if m_type == 'cnn':
model = cnn(inp_dim, vocab_size, embed_size, num_classes, learn_rate)
elif m_type == 'lstm':
model = lstm_keras(inp_dim, vocab_size, embed_size, num_classes, learn_rate)
elif m_type == "blstm":
model = blstm(inp_dim)
elif m_type == "blstm_attention":
model = blstm_atten(inp_dim, vocab_size, embed_size, num_classes, learn_rate)
else:
print ("ERROR: Please specify a correst model")
return None
return model
我收到了以下错误:
TypeError: blstm() missing 4 required positional arguments: 'vocab_size', 'embed_size', 'num_classes', and 'learn_rate'
我如何解决这个问题?你的错误与深度学习无关。您创建了一个具有5个位置参数的函数:
def blstm(inp_dim,vocab_size, embed_size, num_classes, learn_rate):
.........
您正在传递一个参数:
....
model = blstm(inp_dim)
....
这就是它抛出错误的原因。这4个可选参数应该有默认值
在您的例子中,似乎将函数命名为blstm而不是blstm_atten。请注意,您可以在错误描述中找到解决方案。只使用一个参数调用blstm,但它需要5个参数
elif m_type == "blstm":
model = blstm(inp_dim, vocab_size, embed_size, num_classes, learn_rate)