python-3.x spacy textcat的损失计算告诉我什么?

fjaof16o  于 2023-07-01  发布在  Python
关注(0)|答案(1)|浏览(112)

我是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)
wecizke3

wecizke31#

你的损失有多高,模型就有多不准确。0.00000x的损失意味着模型是100%准确的
你的代码可能是错的。我建议检查phind并询问它是否可能出错。我不是在一台机器上,目前能够做机器学习,由于最近坏了电脑。

相关问题