当前位置:   article > 正文

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

meteor' from 'pycocoevalcap.meteor

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

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

我的解决方案

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

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

下面个方案摘自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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

方案三

增加’data/paraphrase-en.gz’

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

方案四

删除 ‘shell = True’

方案五

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

改为

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/346476
推荐阅读
相关标签
  

闽ICP备14008679号