Szymon
Szymon
我用的是只有一个类别的分类,也是同样的问题precision很低,迫于代码注视和结构有点乱,没法直接看出出什么问题了。 这批数据用pjreddie/darknet repo下的方案跑起来正常的啊。
我基于 https://github.com/Embedding/Chinese-Word-Vectors 这里的词向量做的训练,效果略微提升2个点。 另外,我做过长度分布查看,50%分位都有600+。我看代码中没有保留unk,应该是会把很多词语过滤掉,这个应该能降低seq_len;但还是考虑可以增加max_seq_len。 ``` count 49999.000000 mean 913.320506 std 930.094315 min 8.000000 25% 350.000000 50% 688.000000 75% 1154.000000 max 27467.000000 Name: text, dtype: float64 100%|██████████████████████████████████████████████████████████████████| 49999/49999 [00:09
Seems all shared dirs from windows get same problem.
这里真是一个大坑。作者给的coco的weight,其输出最后一维只能是255,而你自己的网络因为输出类型不同可能是其他数值。所以只要你不是和coco一样个数的网络,你都会出错。 强烈建议改成load darknet原生的weight,像其他很多开源项目一样,也可以减少项目对tf版本的强依赖。 @YunYang1994
同意 @Phoeby2618 的说法,我试了(1)把中文分割成带空格的类似英文的格式,用代码里面的HBTokenizer(2)中文用原文,tokenizer用原生的Tokenier加上[unused1],metric函数中把`' '.join(sub.split('[unused1]'))`也改过来了。(3)中文用原文,tokenizer用原生的Tokenier不加[unused1],metric同上。 前2者结果差不多。最后一种情况,pred的关系实体总是为0。应该是[unused1]不能随便去掉,暂时没搞清楚咋回事。
``` $ 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...
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
@ChinaLiuHao 开放平台上的模型啥时候能开源啊?还有新的senta?
新的模型是在这里开源的吧?https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/sentiment_classification @ChinaLiuHao @junjun315