首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpaCy:如何获得spacy模型的名称?

SpaCy:如何获得spacy模型的名称?
EN

Stack Overflow用户
提问于 2017-03-28 14:05:38
回答 1查看 16.9K关注 0票数 17

它不会出现在pip list

代码语言:javascript
复制
zeke$ pip list | grep spacy
spacy (1.7.3)

我怎么知道模型的名字?

我试过了,但没有用

代码语言:javascript
复制
echo "spaCy model:"
python3 -m sputnik --name spacy find

抛出此错误:

代码语言:javascript
复制
zeke$ python3 -m sputnik --name spacy find
Traceback (most recent call last):
  File "/Users/zeke/anaconda/lib/python3.5/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/zeke/anaconda/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/__main__.py", line 28, in <module>
    main()
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/__main__.py", line 12, in main
    args.run(args)
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/cli.py", line 89, in run
    data_path=args.data_path)
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/__init__.py", line 114, in find
    obj = cls(app_name, app_version, expand_path(data_path))
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/pool.py", line 19, in __init__
    super(Pool, self).__init__(app_name, app_version, path, **kwargs)
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/package_list.py", line 33, in __init__
    self.load()
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/package_list.py", line 51, in load
    for package in self.packages():
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/package_list.py", line 47, in packages
    yield self.__class__.package_class(path=os.path.join(self.path, path))
  File "/Users/zeke/anaconda/lib/python3.5/site-packages/sputnik/package.py", line 15, in __init__
    super(Package, self).__init__(defaults=meta['package'])
KeyError: 'package'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 14:31:50

sputnik包管理器在spaCy版本1.7.0中不再受欢迎。在您的版本中,您应该能够使用spacy info查看所有已安装/链接的模型。

代码语言:javascript
复制
python -m spacy info     # info about spaCy and installed models
python -m spacy info en  # info about model with the shortcut link 'en'

所有模型元也都公开为Language类的Language属性,因此在脚本中可以这样做:

代码语言:javascript
复制
nlp = spacy.load('en') # or any other model
print(nlp.meta['name'])

如果您已经通过spaCy的新download命令下载了模型,它们将作为pip包安装。这意味着当您在同一个环境中运行pip listpip freeze时,它们应该会出现。

请注意,安装spaCy时不会自动下载模型,因此必须分别下载它们(有关可用模型的列表,请参见医生们 ):

代码语言:javascript
复制
python -m spacy download en              # default English model (~50MB)
python -m spacy download en_core_web_md  # larger English model (~1GB)
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43071775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档