modelscope
和 huggingface_hub
库下载的模型默认是存在C盘下的.cache目录(windows),下面是修改默认模型下载路径的方法,适用于 Windows/Linux/macOS 系统:
一、HuggingFace 默认路径修改
方法 1:通过环境变量全局修改
-
环境变量名:
HF_HOME
或HUGGINGFACE_HUB_CACHE
-
操作步骤:
- Linux/macOS:
# 修改 .bashrc 或 .zshrc 文件 echo 'export HF_HOME="/your/custom/path/huggingface"' >> ~/.bashrc source ~/.bashrc # 使配置生效
- Windows:
- 打开 控制面板 → 系统和安全 → 系统 → 高级系统设置 → 环境变量;
- 在 用户变量 中新建变量:
变量名:HF_HOME
变量值:D:\your\custom\path\huggingface
(需替换为实际路径)。
说明:设置后,HuggingFace 的模型、数据集等缓存将统一存储在此路径下的
hub
子目录中。 - Linux/macOS:
方法 2:代码中临时指定路径
在加载模型时通过 cache_dir
参数指定:
from transformers import AutoModel
model = AutoModel.from_pretrained("google-bert/bert-base-uncased", cache_dir="/your/custom/path")
优点:灵活,适合单次任务;缺点:需每次手动添加。
二、ModelScope 默认路径修改
方法 1:通过环境变量全局修改
-
环境变量名:
MODELSCOPE_CACHE
-
操作步骤(与 HuggingFace 类似):
- Linux/macOS:
echo 'export MODELSCOPE_CACHE="/your/custom/path/modelscope"' >> ~/.bashrc source ~/.bashrc
- Windows:
- 在环境变量中新建用户变量:
变量名:MODELSCOPE_CACHE
变量值:D:\your\custom\path\modelscope
。
- 在环境变量中新建用户变量:
说明:ModelScope 的模型和数据集将存储在此路径下的
hub
目录。 - Linux/macOS:
方法 2:代码中指定路径
使用 snapshot_download
时设置 cache_dir
:
from modelscope import snapshot_download
snapshot_download(model_id="Shanghai_AI_Laboratory/internlm2-chat-7b", cache_dir="/your/custom/path")
三、注意事项
- 路径权限:确保目标目录存在且有写入权限。
- 环境变量优先级:
- HuggingFace 优先读取
HUGGINGFACE_HUB_CACHE
,若未设置则使用HF_HOME
。 - ModelScope 仅依赖
MODELSCOPE_CACHE
。
- HuggingFace 优先读取
- 跨平台兼容性:Windows 路径建议使用反斜杠
\
或双斜杠\\
,Linux/macOS 使用正斜杠/
。 - 清理旧缓存:修改路径后,原
.cache
目录下的文件需手动删除。
四、验证是否生效
- HuggingFace:
from huggingface_hub import whoami print(whoami()) # 输出当前缓存路径
- ModelScope:
import os print(os.environ.get("MODELSCOPE_CACHE")) # 检查环境变量值
建议优先使用 环境变量全局配置,避免重复代码修改。