感谢支持
我们一直在努力

Linux下CRF++的使用

在之前使用CRF++的过程中一直是再Windows下运行的,由于训练文本不大,所以很顺利,但为提高结果准确率而增加训练语料内容,随之也出现问题,因为用自己的机子做会使cpu占用率在训练迭代时瞬间达到100%而导致crf_learn.exe停止工作,如下图所以就转到服务器端训练了,然而也出现了一个问题,可能由于Windows下文件在Linux中是略有不同,所以运行时报错,如下:​

encoder.cpp(340) [feature_index.open(templfile, trainfile)]feature_index.cpp(174) [max_size == size] inconsistent column size:3 1 train404pos11.txt

也尝试将Windows文件中的换行符“\r\n”全部替换为“\r”但仍报错,尝试了几种其他的方法后,仍无结果。突然想起来在CRF++包中有自带一个example文件夹,就把里面的示例train.data拷到Windows下与我自己的文件对比一下到底哪里出了问题,用Notepad++打开这两个文件,“视图”-“显示符号”-“显示行尾符”,果然问题显现,如下图:​

我的训练语料

CRF++示例文件

如何能将我文档中的”CRLF“替换为只有”LF“呢?在网上找到了答案:”编辑“-”档案格式转换“-”转为unix格式“,总算跟示例文件格式一致了,又到服务器上测试一下效果如何,果然问题解决了,训练成功。

小贴士:如果选mac格式就是只有CR,如果是Windows就是都有。新建的文档默认应该是Windows格式​。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113833.htm

赞(0) 打赏
转载请注明出处:服务器评测 » Linux下CRF++的使用
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏