如何修改Flair NLP Python模块的默认缓存文件夹(~/.flair)位置
修改Flair预训练模型缓存路径的方法
Flair默认将预训练模型存储在用户主目录下的~/.flair文件夹,若/home目录空间不足,可通过以下两种方式修改存储路径:
方法一:设置环境变量(推荐长期使用)
Flair启动时会优先读取FLAIR_CACHE_ROOT环境变量作为缓存根目录,设置后所有Flair相关的模型下载都会指向新路径。
- 临时生效(仅当前终端会话有效):
运行脚本前执行命令,将路径替换为你拥有读写权限的大空间目录:export FLAIR_CACHE_ROOT=/path/to/your/big_disk/flair_cache
例如大空间挂载点为/data,可配置为export FLAIR_CACHE_ROOT=/data/flair_cache,设置完成后直接运行原有代码即可。 - 永久生效:
将上述export命令写入shell配置文件(如~/.bashrc或~/.zshrc),执行source ~/.bashrc后永久生效。
方法二:代码内临时指定(适合单项目使用)
若不想修改全局环境变量,可在代码中导入Flair模块前提前设置环境变量,示例如下:
import os # 必须在导入Flair相关模块前设置,否则不生效 os.environ['FLAIR_CACHE_ROOT'] = '/data/flair_cache' # 正常导入Flair模块运行原有逻辑 from flair.data import Sentence from flair.models import SequenceTagger sentence = Sentence('I love Berlin .') tagger = SequenceTagger.load('ner')
注意:
- 环境变量的设置必须早于所有Flair模块的导入语句,否则Flair会提前读取默认的
~/.flair路径,导致修改失效。- 指定的缓存路径需要提前确保当前运行用户有读写权限,避免出现权限类报错。
设置完成后,运行代码时模型会自动下载到指定路径的models子目录下,不再占用/home目录空间,即可解决磁盘空间不足的报错。
内容的提问来源于stack exchange,提问作者Orysza
相关产品推荐
相关产品推荐

