Senta icon indicating copy to clipboard operation
Senta copied to clipboard

download.sh中模型准确率的问题

Open ddcat1991 opened this issue 5 years ago • 2 comments

你好,我通过download.sh脚本下载了训练好的模型。并使用项目中/data/test_data/corpus.test 进行测试。

python3 sentiment_classify.py 
--test_data_path ./data/test_data/corpus.test 
--word_dict_path ./C-API/config/train.vocab 
--mode eval 
--model_path ./C-API/config/Senta

[test info] model_path: ./C-API/config/Senta, class2_acc: 0.662722, class3_acc: 0.515000

,二分类和三分类的准确率只有0.66和0.515, 请问一下是可能是什么原因?

ddcat1991 avatar Apr 12 '19 03:04 ddcat1991

$ python3 sentiment_classify.py  --test_data_path ./data/train_data/corpus.train --word_dict_path ./C-API/config/train.vocab --mode eval --model_path ./C-API/config/Senta/
[test info] model_path: ./C-API/config/Senta/, class2_acc: 0.511191, class3_acc: 0.284200

$ python3 sentiment_classify.py  --test_data_path ./data/test_data/corpus.test --word_dict_path ./C-API/config/train.vocab --mode eval --model_path ./C-API/config/Senta/
[test info] model_path: ./C-API/config/Senta/, class2_acc: 0.662722, class3_acc: 0.515000

我尝试的结果和楼上一致。

我看了repo中自带的train_data和test_data分别只有1w和200条。应该是只是演示用的例子,并不是baidu自己的数据集的全部。所以其测评的结果也不能作数,是吧 @ChinaLiuHao @junjun315

同时download下来的train.vocab也比repo自带的要大出很多。猜测实际数据集很大,所以训练出来的vocab很大,eval的效果也好很多。以上。

$ ls -lh C-API/config/train.vocab
-rw-r--r-- 1 sunmingming g_sunmingming 14M Jul  2  2018 C-API/config/train.vocab

$ ls -lh data/train.vocab
-rw-r--r-- 1 sunmingming g_sunmingming 266K May 14 11:17 data/train.vocab

shm007g avatar May 14 '19 05:05 shm007g

https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/sentiment_classification 我猜测以上repo为更好的Senta Models。

我使用以上repo中的样例模型eval样例数据senta_data来测试这两个repo的效果。上面的repo得到了[dev evaluation] ave loss: 0.374881, ave acc: 0.882500, elapsed time: 1.974539 s。我把同一个dev文件格式转换后,用本repo eval得到了class2_acc: 0.448105, class3_acc: 0.237500

上面这个repo可能提供了更好的senta model

shm007g avatar May 14 '19 09:05 shm007g