文章目录
- [1 pip缓存](#1 pip缓存)
-
- [1.1 位置](#1.1 位置)
- [1.2 更改](#1.2 更改)
- [2 Huggingface的缓存](#2 Huggingface的缓存)
-
- [2.1 位置](#2.1 位置)
- [2.2 更改](#2.2 更改)
-
- [2.2.1 方式一](#2.2.1 方式一)
- [2.2.2 方式二](#2.2.2 方式二)
- [3 Hhuggingface无法访问下载模型](#3 Hhuggingface无法访问下载模型)
第一个问题
我在安装的pip install torch的时候,出现了C盘磁盘空间不够的问题
但是我的环境明明在E盘啊,给我整不会了!!!
后来发现是因为缓存的问题
感觉理解缓存相关机制可以更好debug~
先来回答缓存在哪里
1 pip缓存
1.1 位置
pip 的安装缓存在哪里
- Windows 10:C:\Users\username\AppData\Local\pip\Cache
- macOS:/Users/username/Library/Caches/pip
- Linux:~/.cache/pip
如果我们想手动清除缓存,可以使用以下命令:
pip cache purge
这个命令会清除所有缓存,包括已下载但未安装的软件包和已安装但未被使用的缓存。
只想清除特定软件包的缓存,可以使用以下命令:
pip cache remove
其中,package-name 是你要清除缓存的软件包的名称。
所以更加理解了pip过程,首先会去缓存找对应包的对应版本,找到则直接用,找不到则从官网下载
这也解释了为什么感觉每次下载好多包之前下过还都需要重新下载,因为版本不一样
1.2 更改
想要更改pip缓存位置,用命令
pip config set global.cache-dir "XXX"
2 Huggingface的缓存
2.1 位置
一般来说HUggingfaceface如果调用from_pretrain什么的就是会先去缓存找,如果找不到的话则去huggingface上面下载
huggingface的缓存在哪里?
- Linux:
'~/.cache/huggingface/hub'
2.2 更改
2.2.1 方式一
可以通过from_pretrained
函数中的 cache_dir
参数来指定,但是这样比较麻烦。
如:加载一个bert-base-uncased
模型
python
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased",cache_dir="路径")
model = AutoModelForMaskedLM.from_pretrained("google-bert/bert-base-uncased",cache_dir="路径")
2.2.2 方式二
看这里吧,感觉很清晰
不会修改HuggingFace模型下载默认缓存路径?一篇教会你!_huggingface缓存文件转移-CSDN博客
3 Hhuggingface无法访问下载模型
huggingface被墙了
huggingface无法链接,怎么办,可以下载模型到本地目录,然后换目录名,但有些时候不好用,也不能直接放缓存,因为缓存是哈希处理的
所以
用镜像站!!!!
用法
python
import os
os.environ['HF_ENDPOINT']='https://hf-mirror.com'
注意要在import transformer库之前用~
我是SB
参考: