我是NLP和空间使用的新手。spacy textcat中的“loss”是什么意思?在使用spacy textcat模型训练构建自定义文本分类器的过程中,所有迭代的值都为0.0000。我想知道是不是我的模特训练有问题。
for i in range(n_iter):
losses = {}
# batch up the examples using spaCy's minibatch
batches = minibatch(train_data, size=compounding(4., 32., 1.001))
for batch in batches:
texts, annotations = zip(*batch)
#print('texts: '+str(texts))
#print('annotations: '+str(annotations))
nlp.update(texts, annotations, sgd=optimizer, drop=0.2,losses=losses)
# with textcat.model.use_params(optimizer.averages):
# evaluate on the dev data split off in load_data()
print('{0:.3f}' # print a simple table
.format(losses['textcat']))
下面的output_dir代码是什么意思?
if output_dir is not None:
output_dir = Path(output_dir)
if not output_dir.exists():
output_dir.mkdir()
nlp.to_disk(output_dir)
print("Saved model to", output_dir)
# test the saved model
print("Loading from", output_dir)
nlp2 = spacy.load(output_dir)
doc2 = nlp2(test_text)
print(test_text, doc2.cats)
1条答案
按热度按时间wecizke31#
你的损失有多高,模型就有多不准确。0.00000x的损失意味着模型是100%准确的
你的代码可能是错的。我建议检查phind并询问它是否可能出错。我不是在一台机器上,目前能够做机器学习,由于最近坏了电脑。