如何通过编程删除HuggingFace存储在磁盘上的所有数据集?
删除Hugging Face本地数据集缓存的方法
1. 使用Datasets库内置工具
Hugging Face的datasets库提供了现成的函数来管理本地缓存,能直接删除你提到的.arrow、.parquet等数据集文件:
删除单个指定数据集的缓存
如果你还保留着数据集对象,直接调用cleanup_cache_files()即可:
from datasets import load_dataset ds = load_dataset("uonlp/CulturaX", "ar") # 删除该数据集的所有本地缓存文件 ds.cleanup_cache_files()
如果已经关闭了数据集对象,也可以用delete_cache函数直接指定数据集名称和配置:
from datasets import delete_cache # 删除uonlp/CulturaX的阿拉伯语配置缓存 delete_cache("uonlp/CulturaX", "ar")
删除所有本地数据集缓存
要一次性清空所有Hugging Face数据集的本地缓存,先找到默认缓存根目录(~/.cache/huggingface/datasets),然后遍历删除所有子目录:
from pathlib import Path import shutil # 获取默认缓存根路径 cache_root = Path.home() / ".cache" / "huggingface" / "datasets" # 遍历并删除所有数据集缓存目录 for dir_item in cache_root.iterdir(): if dir_item.is_dir(): shutil.rmtree(dir_item)
如果自定义过缓存路径,可以通过datasets.config.HF_DATASETS_CACHE获取实际路径,替换上面的cache_root即可。
2. 命令行快速删除
如果不需要编程实现,直接用命令行删除整个缓存目录更快捷:
# Linux/macOS rm -rf ~/.cache/huggingface/datasets # Windows(PowerShell) Remove-Item -Recurse -Force $HOME/.cache/huggingface/datasets
注意点
- 执行删除操作后,下次加载对应数据集会重新下载,确认好再操作。
cleanup_cache_files()只会清理当前数据集的缓存,不会影响其他数据集的本地文件。
内容的提问来源于stack exchange,提问作者Franck Dernoncourt
相关产品推荐
相关产品推荐

