fastnlp / fastNLP

fastNLP: A Modularized and Extensible NLP Framework. Currently still in incubation.
https://gitee.com/fastnlp/fastNLP
Apache License 2.0
3.06k stars 450 forks source link

分类模型训练问题反馈 #248

Closed q759729997 closed 4 years ago

q759729997 commented 4 years ago

分类模型训练问题反馈

问题描述

SST2Pipe的输入filed为 words(Const.INPUT);
THUCNewsPipe的输入filed为 chars(Const.CHAR_INPUT);
这样就造成vocab = databundle.vocabs['words']报错;
该错误我自己手工调用接口对filed重命名解决该问题
对问题1修复后该问题解决。
可能原因:
CNNText 中 def forward(self, words, seq_len=None)
train的时候 y = network(**x)
位置:reproduction/text_classification/train_char_cnn.py中第202行,init_embed已经更新
#model=CNNText(init_embed=embedding, num_classes=ops.num_classes)
位置:使用更强的Bert做序列标注
from torch import Adam 应该为 from torch.optim import Adam
xuyige commented 4 years ago

感谢您的反馈

问题1: fastNLP的输入field包括多种,如果是词级别的输入,field的名字为words(Const.INPUT)或者words1, words2, ... 如果是字符级别的输入,field的名字为chars(Const.INPUT_CHAR)或者chars1, chars2, ... 而使用pipe对data_bundle进行数据处理时所建的词表名字与对应的field名字一致,如:单词级别的输入,则词表名字为words或者words1,字符级别的输入,词表名称为chars或者chars1

问题2: CNNText是一个基于单词级别的CNN文本分类,因此forward函数的参数名为words

问题3&问题4: 感谢指出,我们会修复这个问题