[英]blstm() : Missing required positional arguments
我正在使用 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 個位置 arguments 的 function:
def blstm(inp_dim,vocab_size, embed_size, num_classes, learn_rate):
.........
你正在傳遞一個參數:
....
model = blstm(inp_dim)
....
這就是它拋出錯誤的原因。 您應該有這 4 個可選 arguments 的默認值。
在您的情況下,您似乎錯誤地將 function 命名為blstm
而不是blstm_atten
。 小心那個
您可以在錯誤描述中找到解決方案。 您只用一個參數調用blstm
,但它需要 5 個參數。
elif m_type == "blstm":
model = blstm(inp_dim, vocab_size, embed_size, num_classes, learn_rate)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.