当前位置: 首页 > news >正文

huggingface离线下载模型使用方法

在使用 Hugging Face 的 transformers 库时,如果你需要离线下载模型(即在没有网络连接的环境下加载模型),可以按照以下步骤操作:


✅ 步骤一:在线环境下下载并缓存模型

首先,在有网络的机器上下载模型并保存到本地。

from transformers import AutoTokenizer, AutoModelForSequenceClassification# 指定模型名称
model_name = "bert-base-uncased"# 下载模型和分词器,并保存到本地目录
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)# 保存到本地目录
save_directory = "./local_bert_model"
tokenizer.save_pretrained(save_directory)
model.save_pretrained(save_directory)

这会在当前目录下创建 ./local_bert_model 文件夹,包含:

  • config.json
  • pytorch_model.bin(或 tf_model.h5
  • tokenizer.json, vocab.txt 等分词器文件

✅ 步骤二:离线加载模型

将整个 local_bert_model 文件夹复制到离线环境的机器上,然后通过本地路径加载:

from transformers import AutoTokenizer, AutoModelForSequenceClassification# 使用本地路径加载(无需网络)
local_model_path = "./local_bert_model"tokenizer = AutoTokenizer.from_pretrained(local_model_path)
model = AutoModelForSequenceClassification.from_pretrained(local_model_path)

⚠️ 关键点:只要模型文件完整,即使断网也可以加载。


✅ 高级技巧:使用 transformers-cli 下载模型

你也可以使用命令行工具提前下载:

# 安装 CLI 工具(如果还没装)
pip install huggingface_hub# 登录(可选,用于私有模型)
huggingface-cli login# 下载模型到本地
huggingface-cli download bert-base-uncased --local-dir ./local_bert_model

✅ 设置离线模式(可选)

如果你确定要强制离线,可以设置环境变量或使用 transformers 的配置:

方法 1:设置环境变量
export TRANSFORMERS_OFFLINE=1
方法 2:在代码中设置
import os
os.environ["TRANSFORMERS_OFFLINE"] = "1"# 然后尝试加载(必须已缓存或本地存在)
from transformers import AutoModel
model = AutoModel.from_pretrained("./local_bert_model")  # 必须是本地路径

⚠️ 如果设置 TRANSFORMERS_OFFLINE=1,但模型不在本地,会直接报错。


✅ 注意事项

  1. 模型完整性:确保所有文件都复制完整(包括 .bin, .json, .txt, tokenizer_config.json 等)。
  2. 版本兼容性:确保离线机器上的 transformers 版本与模型兼容。
  3. 缓存路径:Hugging Face 默认缓存路径是 ~/.cache/huggingface/transformers,你也可以手动复制缓存内容。
  4. 大模型:像 Llama-2, ChatGLM 等大模型,建议使用 huggingface-cli downloadgit lfs 克隆仓库。

✅ 示例:下载并离线使用中文 BERT

# 在线下载
tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-chinese")
tokenizer.save_pretrained("./bert-base-chinese-offline")
model.save_pretrained("./bert-base-chinese-offline")# 离线加载
tokenizer = AutoTokenizer.from_pretrained("./bert-base-chinese-offline")
model = AutoModelForSequenceClassification.from_pretrained("./bert-base-chinese-offline")

http://www.dtcms.com/a/346303.html

相关文章:

  • PiscCode使用 MediaPipe 检测人脸关键点多样展示
  • 域名地址是什么?
  • Python 异步框架 (Async/Aiohttp) 调用淘宝 API:实现万级商品数据异步采集
  • 透射TEM新手入门:衍射斑点标定 1
  • Java面试-== 和 equals() 方法的区别与实现原理
  • 结构-活性关系SAR中scaffold识别
  • MAPGIS6.7地质编录
  • Codeforces 一场真正的战斗
  • 线段树模版
  • 多态(polymorphism)
  • RS485通过NiMotion协议发送报文控制电机运行案例
  • 嵌入式学习日记(32)Linux下的网络编程
  • 全球教育数字化与人工智能应用现状扫描—不同教育阶段(学前、K12、高等教育、职业教育、成人教育)的应用差异与特点
  • Linux 软件包安装和管理的相关操作及使用总结(未完成)
  • 金蝶云星空·旗舰版 × 聚水潭跨境业务一体化集成方案
  • 速卖通、塔吉特采购自养号下单技术:打造自主可控的采购新方式
  • Eigen 中Sparse 模块的简单介绍和实战使用示例
  • Docker部署的Rancher无法重启----重建 Rancher Server 并修复 TLS
  • Lecture 19: Memory Management 6
  • linux驱动 day60
  • c语言之进程函数
  • Jetson Xavier NX 与 NVIDIA RTX 4070 (12GB)
  • CMake 快速开始
  • 常用的前端包管理器
  • 现代C#语法糖与核心特性
  • AI唤醒文化遗产新生:AI文物修复缩时、VR沉浸式展项破圈,大众感受千年文明新方式
  • 作品集PDF又大又卡?我用InDesign+Acrobat AI构建轻量化交互式文档工作流
  • AP服务发现PRS_SOMEIPSD_00256和PRS_SOMEIPSD_00631的解析
  • ubuntu 构建c++ 项目 (AI 生成)
  • uboot添加ping命令的响应处理