BERT 在预测时跳过 test.tsv 的第一行



我正在对新闻分类问题运行BERT-Base,Uncased预训练模型。数据准备的大部分核心逻辑都是从这里复制的。不过,我正在不同的数据集上运行它,因此已经进行了相关更改。我有490篇新闻文章,训练,验证,测试数据比率为405:45:40。这些数据集存在于同一目录中的train.tsvdev.tsvtest.tsv文件中,所有这些都没有标题。我用于运行分类器的命令是这样的:

python /Users/<username>/Documents/CodeBase/Projects/BERT/run_classifier.py 
--task_name=cola 
--do_train=true 
--do_eval=true 
--do_predict=true 
--data_dir=/Users/<username>/Desktop/NLP_Learning/Fraud detection/BERT 
--vocab_file=./vocab.txt 
--bert_config_file=./bert_config.json 
--init_checkpoint=./bert_model.ckpt 
--max_seq_length=128 
--train_batch_size=32 
--learning_rate=2e-5 
--num_train_epochs=3.0 
--output_dir=/Users/<username>/Desktop/NLP_Learning/Fraud detection/BERT_Model_Pretrained/output 
--do_lower_case=True

现在,即使训练和预测完成,问题是生成的test_results.tsv文件仅包含 39 行,应该是 40 行。从外观上看,似乎test.tsv的第 0 行以某种方式被跳过了。我在这里错过了什么?我已经检查了所有三个输入数据文件,它们都包含适当数量的记录。

是的,cola任务的数据格式非常具体。它需要3个文件train.tsvdev.tsvtest.tsv,分别用于训练集,开发/验证集和测试集。

介绍每个 TSV 文件中的数据格式。train.tsvdev.tsv具有相同的格式:

id class_label segment text

并且train.tsvdev.tsv都不应该有标题

但是,来到test.tsv,以下是格式:

id text(请注意,您不应提供标签或细分列(。

更重要的是test.tsv应该有一个标题

最新更新