最近查了一下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
下面是更改存放路径的方法:
-
代码更改(仅对当前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'
-
修改系统环境变量(Windows)
- 右键点击"此电脑"或"计算机",选择"属性"。
- 点击"高级系统设置"。
- 在"系统属性"窗口中,点击"环境变量"按钮。
- 在"用户变量"或"系统变量"下点击"新建"按钮。
- 对于
transformers
库, 输入变量名TRANSFORMERS_CACHE
和变量值为新路径 (例如D:\cache\huggingface\transformers
)。 - 对于
datasets
库, 输入变量名HUGGINGFACE_CACHE
和变量值为新路径 (例如D:\cache\huggingface\datasets
)。 - 点击"确定"保存。