【问题解决】关于pip缓存,HUggingface缓存,HUggingface无法正常下载的问题解决

文章目录

  • [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

参考:

Windows下更改pip默认缓存目录的方法_appdata local pip-CSDN博客

【Python】pip安装库时存在缓存(及清除方法)_pip 清除缓存-CSDN博客

相关推荐
不会写DN2 小时前
Go 项目中 Redis 缓存的实用设计与实现(Cache-Aside 模式)
redis·缓存·golang
aXin_ya2 小时前
Redis 网络模型 内存回收
数据库·redis·缓存
.柒宇.3 小时前
Redis
数据库·redis·缓存
苏渡苇4 小时前
Redis 版本演进、新特性与协议那些事儿
数据库·redis·缓存·开源协议·redis版本·redis新特性
鬼蛟4 小时前
Nacos
数据库·redis·缓存
码农阿豪4 小时前
一次 AI 调用 15 万 Token 只花了 $0.058?彻底搞懂 Token、缓存读、补全计费机制!(附完整架构图)
人工智能·spring·缓存
Ai搬运工14 小时前
【保姆级教程】B站缓存视频如何转为正常MP4格式?
缓存·音视频·bilibili
敲上瘾4 小时前
高并发内存池(三):PageCache(页缓存)的实现
linux·c++·缓存·高并发内存池·池化技术
快点好好学习吧5 小时前
CPU 从 L1/L2 缓存读取 MySQL 代码指令的庖丁解牛
android·mysql·缓存
awljwlj5 小时前
黑马点评复习—缓存相关【包含可能的问题和基础知识复习】
java·后端·spring·缓存