Python blstm():缺少必需的位置参数

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

我正在使用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))
    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)