yhcc
yhcc
嗯嗯,我们会加紧解决下这个问题。但是fastNLP的Embedding会比你写的这个稍微复杂一下,不过,我们尽快研究下如何引入更多的Embedding吧
现在fastNLP有提供一个叫做TransformersEmbeddding的类,你可以看看是否可以用上。但是这个Embedding没有针对各种pretrain model做adaptation,性能上不一定能够发挥到模型的最大化。
这个应该是和数据集相关的,例如conll2003这个数据集一般使用#来表示document的开头标识,一般就不作为输入了。但不是所有数据集都有这个特性,所以也不是所有的loader都会忽略#开头的行的。
做分类的还是序列标注?
最近好像没有更新过会影响性能的模块。
你使用的是哪个版本的fastNLP?是github上的吗,还是直接pip install fastNLP安装的?
根据报错信息,我怀疑可能是下面这行有问题https://github.com/fastnlp/fastNLP/blob/b127963f213226dc796720193965d86dface07d5/fastNLP/modules/decoder/crf.py#L307 修改成, ``flip_mask = torch.logical_not(mask)``应该就可以了。这个错误的根源应该类似于https://github.com/pytorch/pytorch/issues/33692 这个,就是booltensor不支持一些运算,导致torchscript在检查转换前和转换后的tensor的时候,会出现结果对不上的问题。
soga,那把这一行修改成``mask = mask.transpose(0, 1).data.to(torch.bool)``应该就可以。就是所有的bool类型的数据都不要让它做任何比较或者运算。
确实,感觉fastNLP这些代码应该不太适合转成jit,有太多的逻辑判断了,以及cpu操作了。应该需要你自己对照着稍微改一下。因为jit的话,好像出现constant就不行,但是fastNLP中又大量使用了constant来表示一些数字。
现在好了,之前下载服务器出了点问题~