gpt4 book ai didi

python - 我该如何解决这个错误?名称错误 : name ‘model’ is not defined

转载 作者:行者123 更新时间:2023-11-30 09:06:31 25 4
gpt4 key购买 nike

当我尝试输入文本以进行预测时,执行会给出“NameError:名称‘模型’未定义”

评估神经网络模型

def evaluate_mode(Xtrain, ytrain, Xtest, ytest):

scores = list()
n_repeats = 2
n_words = Xtest.shape[1]
for i in range(n_repeats):
# define network
model = Sequential()
model.add(Dense(50, input_shape=(n_words,), activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# compile network
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# fit network
model.fit(Xtrain, ytrain, epochs=10, verbose=2)
# evaluate
loss, acc = model.evaluate(Xtest, ytest, verbose=0)
scores.append(acc)

print('%d accuracy: %s' % ((i+1), acc))
return scores

准备文档的词袋编码

def prepare_data(train_docs, test_docs, mode):

# create the tokenizer
tokenizer = Tokenizer()
# fit the tokenizer on the documents
tokenizer.fit_on_texts(train_docs)
# encode training data set
Xtrain = tokenizer.texts_to_matrix(train_docs, mode=mode)
# encode testing data set
Xtest = tokenizer.texts_to_matrix(test_docs, mode=mode)
return Xtrain, Xtest

def predict_sentiment(review, vocab, tokenizer, model):

# clean
tokens = clean_doc(review)
# filter by vocab
tokens = [w for w in tokens if w in vocab]
# convert to line
line = ' '.join(tokens)
# encode
encoded = tokenizer.texts_to_matrix([line], mode='freq')
# prediction
yhat = model.predict(encoded, verbose=0)
return round(yhat[0,0])

最佳答案

如果您在evaluate_mode()中进行训练过程,则模型是局部变量,无法与predict_sentiment()共享。您应该让 evaluate_mode() 返回 model 并让 predict_sentiment() 将其作为第四个参数。

关于python - 我该如何解决这个错误?名称错误 : name ‘model’ is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51000841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com