修改huggingface的缓存路径

文章讲述了HuggingFace库中的缓存机制导致C盘空间占用的问题,介绍了如何查看默认缓存路径,临时和永久修改缓存目录的方法,以及如何通过系统环境变量来管理缓存位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近查了一下C盘爆满的原因,发现了huggingface的缓存文件这个罪魁祸首。

每次远程导入模型数据集时,都会启用huggingface的缓存机制,将整个大文件下载至缓存目录中,从而保证下一次加载时非常快速。

我们可以发现,默认的缓存目录就是设置在C盘。

# datasets缓存目录的查看
from datasets import config
print(config.HF_DATASETS_CACHE)
# D:\cache\huggingface\datasets

# transformers缓存目录的查看(不建议,非常麻烦,知道默认是哪就行)
from transformers import AutoModel
model = AutoModel.from_pretrained('bert-base-chinese')
cache_path = model.config.get_from_cache('bert-base-chinese')
print(cache_path)
# D:\cache\huggingface\transformers

下面是更改存放路径的方法,分为临时的和永久的:

注:本人此时的datasets库版本是2.14.5;transformers库版本是4.29.1。不同版本的库可能会有差异,huggingface的库更新太快了qwq。

  1. 代码更改(仅对当前python会话,下一次在新的环境中执行时就失效了)

    # datasets缓存目录的修改
    from datasets import config
    config.HF_DATASETS_CACHE = 'D:\cache\huggingface\datasets'
    
    # transformers缓存目录得在导入具体的模型时指定
    from transformers import AutoModel
    AutoModel.from_pretrained('bert-base-chinese', cache_dir='D:\cache\huggingface\transformers')
    
  2. 修改系统环境变量(永久方法,对于Windows系统)

    1. 打开环境变量的设置界面。设置系统变量。
    2. 输入变量名XDG_CACHE_HOME 和变量值为新缓存路径的根路径 (例如 D:\cache)。
    3. 点击"确定"保存,电脑重启后生效。

    这样,以后的缓存结构将会是:

    • 模型缓存:D:\cache\huggingface\transformersD:\cache\huggingface\hub(一般是这里)
    • 数据集缓存:D:\cache\huggingface\datasets
    • 此外metricsmodules也分别是在D:\cache\huggingface\metricsD:\cache\huggingface\modules之下。

    如果库版本不一样,其实可以从库的源代码中去了解。比如我现在的datasetsconfig.py文件,如下图所示:

    在这里插入图片描述

    从这里就可以看出datasets的缓存路径的确定逻辑了。

    我现在的transformersutils/hub.py文件,如下图所示:

    在这里插入图片描述在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值