spaCy命令行训练时--gpu-id参数报错:无效配置覆盖'0'
spaCy训练时GPU使用问题的解决方法
命令行参数报错的解决
你遇到的X Invalid config override '0': name should start with --.错误,是Windows命令行对参数的解析规则导致的。spaCy在Windows环境下,--gpu-id和数值之间不能用空格分隔,必须用等号连接,修改命令为:
python -m spacy train base_config.cfg --gpu-id=0
配置文件gpu_id不生效的解决
直接在base_config.cfg的[system]部分设置gpu_id = 0不生效,是因为base_config只是基础模板,需要先填充生成完整的配置文件才能被spaCy正确读取:
- 第一步,生成完整配置文件:
python -m spacy init fill-config base_config.cfg config.cfg - 第二步,打开生成的
config.cfg,确认[system]区块下存在gpu_id = 0的配置项 - 第三步,使用完整配置文件启动训练:
python -m spacy train config.cfg
额外验证步骤
训练前可以先确认spaCy能识别GPU,运行以下代码:
import spacy spacy.require_gpu(0)
如果没有抛出异常,说明GPU已被spaCy正确识别。
内容的提问来源于stack exchange,提问作者demongolem
相关产品推荐
相关产品推荐

