Win7+Python3.6环境调用pyrouge的convert_and_evaluate()方法报错WinError193
解决Windows7+Python3.6下pyrouge调用convert_and_evaluate()时的WinError193问题
这个WinError 193的报错我之前帮好几个Windows用户排查过,本质就是32位/64位程序不兼容,或者pyrouge没找到正确的Rouge155可执行文件。结合你的环境,给你几个针对性的解决步骤:
先核对Python和Rouge155的位数匹配
打开Python终端,输入import sys; print(sys.maxsize > 2**32):- 如果输出
True,说明你用的是64位Python,那必须对应安装64位版本的Rouge155; - 如果输出
False,就是32位Python,要装32位的Rouge155。
32位和64位程序混调是触发这个错误的最常见原因。
- 如果输出
确认pyrouge的Rouge路径配置正确
很多时候报错是因为pyrouge指向的路径不对,或者路径里的文件不是可执行程序。你可以先手动运行Rouge155的可执行文件(不管是perl脚本还是打包后的exe),确保它能正常启动。
然后用命令重新配置路径:pyrouge_set_rouge_path C:\your\actual\rouge155\folder,替换成你真实的Rouge155安装目录。实在搞不定?换纯Python的Rouge库
如果折腾Rouge155的兼容性太费时间,不如直接放弃pyrouge,用纯Python实现的rouge-score库,完全没有跨平台兼容问题。安装命令:pip install rouge-score简单使用示例:
from rouge_score import rouge_scorer # 初始化评分器,指定要计算的Rouge指标 scorer = rouge_scorer.RougeScorer(['rouge1', 'rouge2', 'rougeL'], use_stemmer=True) # 传入参考文本和生成文本计算得分 scores = scorer.score("这是一段参考摘要文本", "这是模型生成的摘要文本") print(scores)
内容的提问来源于stack exchange,提问作者K.cyrine
相关产品推荐
相关产品推荐

