PyTorch 自带很多预训练模型,在使用时会自动下载,本文记录修改下载位置的方法。
背景
- PyTorch 下载预训练模型总得放个地方无可厚非,但默认路径在 Windows 中是
C:Users<username>.cache
,很可能占用 C 盘几个 G 的空间,尝试修改该路径
模型加方式
- 当
pretrained
为True时,PyTorch会调用torch.utils
的load_state_dict_from_url
函数 load_state_dict_from_url
函数最终调用torch.utils.model_zoo.load_url
函数- 其中的参数
model_dir
就是保存的目录,这里它默认会使用环境变量TORCH_HOME
- 默认情况下环境变量
TORCH_HOME
的值为~/.cache
- 在windows下就是
%USERPROFILE%.cache
,其中%USERPROFILE%
表示环境变量%USERPROFILE%
的值,它对应Linux的~
。
修改方法
- 搞清楚原理就容易修改了
临时方案
- 运行 torch 时现场设置环境变量 ‘TORCH_HOME’
import os
os.environ['TORCH_HOME']='E:/Data/torch-cache'
永久方案
- 修改环境变量,加入 ‘TORCH_HOME’
- 之后下载模型就会到新路径去了
2022-08-25 14:53:36,183 - timm.models.helpers - INFO - Loading pretrained weights from url (https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/wide_resnet50_racm-8234f177.pth)
Downloading: "https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/wide_resnet50_racm-8234f177.pth" to E:/Data/torch-cachehubcheckpointswide_resnet50_racm-8234f177.pth
参考资料
- https://blog.csdn.net/yanxiangtianji/article/details/112256618
- https://stackoverflow.com/questions/52628270/is-there-any-way-i-can-download-the-pre-trained-models-available-in-pytorch-to-a