【使用pycocoevalcap中meteor指标时遇到的报错[Errno 32] Broken pipe】

使用pycocoevalcap中meteor指标时遇到的报错[Errno 32] Broken pipe

pycocoevalcap原项目网址添加链接描述
之前遇到这个报错时,在网上查了很多解决方案,先说一下我最终解决的方案

我的解决方案

最开始使用这个项目的时候是直接在github上将整个项目下载下来,然后把pycocoevalcap这个文件夹直接复制到我的项目中使用,然后就各种报错。
后来,将pycocoevalcap这个文件夹删除,直接使用下面的代码安装就解决了报错

pip install pycocoevalcap -i https://pypi.douban.com/simple/

下面个方案摘自github原项目的issue里大佬们的方案添加链接描述
zhihu上的回答添加链接描述

方案一

安装java

方案二

修改meteor.py:

def __init__(self):
    self.meteor_cmd = ['java', '-jar', '-Xmx2G', METEOR_JAR, '-', '-', '-stdio', '-l', 'en', '-norm']
    self.meteor_p = subprocess.Popen(' '.join(self.meteor_cmd),\     # change this line
        cwd=os.path.dirname(os.path.abspath(__file__)), \
        stdin=subprocess.PIPE, \
        stdout=subprocess.PIPE, \
        stderr=subprocess.PIPE,\
        shell=True)
        # Used to guarantee thread safety
        self.lock = threading.Lock()

方案三

增加’data/paraphrase-en.gz’

self.meteor_cmd = ['java', '-jar', '-Xmx2G', METEOR_JAR, '-', '-', '-stdio', '-l', 'en', '-norm', '-a', 'data/paraphrase-en.gz']

方案四

删除 ‘shell = True’

方案五

['java', '-jar', '-Xmx2G', METEOR_JAR, '-', '-', '-stdio', '-l', 'en', '-norm', '-a', 'data/paraphrase-en.gz']

改为

['/usr/bin/java', '-jar', '-Xmx2G', METEOR_JAR, '-', '-', '-stdio', '-l', 'en', '-norm', '-a', 'data/paraphrase-en.gz']

where ‘/usr/bin/java’ is our installed Java library file in the first stage.

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值