self.meteor_p.stdin.write('{}\n'.format(score_line).encode())
self.meteor_p.stdin.flush()
使用pycocoevalcap库计算meteor作为评价指标,在flush()处报错OSError。
该错误是meteor_p进程提前结束,导致程序在执行flush时找不到对应的进程。手动运行java -jar -Xmx2G meteor-1.5.jar - - -stdio -l en -norm 检查错误。
错误来源于输入参考文本中居然包含未经处理的换行符