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

下载huggingface预训练模型到本地并调用

写在前面

在大模型横行的时代,无法在服务器上连接外网的研究僧真的是太苦逼了,每次想尝试类似于CLIP,BLIP之类的大模型都会得到“requests.exceptions.ConnectionError: (MaxRetryError("HTTPSConnectionPool(host=‘huggingface.co’, port=443)” 或“requests.exceptions.ConnectionError: (MaxRetryError(“HTTPSConnectionPool(host=‘huggingface.co’, port=443): Max retries exceeded with url: /api/models/bert-base-uncased/tree/main?recursive=True&expand=False (Caused by NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x7f4326e15e50>: Failed to establish a new connection: [Errno 101] Network is unreachable’))”), ‘(Request ID: 390a0157-95dd-416d-80c5-79f4fdd4b6d1)’)”类似的“奖励”。

其实主要就是因为无法访问外网,从而不能从huggingface下载预训练的权重导致的。一个简单的方式就是在本地将预训练的权重文件下载好,然后再上传到服务器上,但是找了一下现在网上的相关教程都不是特别容易上手,特此在这里记录一下便于后续自己遇到类似的问题参考。

下面以BLIP调用BERT为例。

报错的语句为:

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')

解决方案

1. 进入huggingface官网:https://huggingface.co/
在这里插入图片描述
2. 在搜索框输入想要下载的模型名称,如 bert-base-uncased
在这里插入图片描述
3. 如图找到自己需要的模型对应的连接,点进去。 点击 Files and versions
在这里插入图片描述
4. 下载需要的文件,这里以Torch为例 需要下载四个文件, 分别是 config.json pytorch_model.bintokenizer.json vocab.txt
在这里插入图片描述
5. 在本地新建一个文件夹我这里叫BERT,然后把上面四个文件下载到这个目录下面,注意:不能改变文件名和后缀
在这里插入图片描述
6. 将该文件夹上传到服务器项目所在的文件夹下,from_pretrained() 里面的参数

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')

修改为 服务器上改文件夹路径,如

tokenizer = BertTokenizer.from_pretrained('/data/timer/BLIP/BERT')

在这里插入图片描述
这里主要是因为BertTokenizer.from_pretrained() 可以接受的参数有几种,short-cut name(缩写名称,类似于bert-base-uncased这种)、identifier name(类似于microsoft/DialoGPT-small这种)、文件夹、文件。

其实相关的教程网上也有,但就是没有给一个实例或者不够全面。特别地对于下载的文件如何放置没有一个特别详细的说明。希望这篇博客能够帮助到大家。

参考:

  1. huggingface transformers预训练模型如何下载至本地,并使用?
  2. 如何从huggingface官网下载模型
http://www.lryc.cn/news/231092.html

相关文章:

  • 基于Vue+SpringBoot的天然气工程业务管理系统 开源项目
  • jQuery使用echarts循环插入图表
  • 二十三种设计模式全面解析-迭代器模式进阶篇:探索变体与扩展
  • 指针传2
  • 【机器学习】决策树算法理论:算法原理、信息熵、信息增益、预剪枝、后剪枝、算法选择
  • WebMvcConfigurer配置详解
  • 高德地图系列(一):vue项目如何使用高德地图、入门以及基本控件使用
  • centos FreeXL源码编译
  • 【开题报告】基于SpringBoot的教资考试学习平台的设计与开发
  • C# 将PDF文档转换为Word文档
  • 海报设计必备!五个免费网站分享,让你的创意得以充分展现!
  • axios不经过全局拦截器策略
  • Pass基础-DevOps
  • k8s 对外服务之 Ingress
  • Mybatis Mapper接口和xml绑定的多种方式、内部实现原理和过程
  • Unity性能优化分析篇
  • 一键帮您解决win11最新版画图工具难用问题!
  • 老师的保命大法
  • Django视图函数和资源
  • 戴建业作品集读书笔记
  • Linux常用的磁盘使用情况命令汇总
  • 将按键放到输入框内:
  • Java Lambda 表达式常见面试问题与解答
  • 【vue+amap】高德地图绘制多边形区域
  • 自定义Graph Component:1.2-其它Tokenizer具体实现
  • docker-compose 部署 MySQL 8
  • Java设计模式-结构型模式-适配器模式
  • CCF编程能力等级认证GESP—C++4级—样题1
  • Git用pull命令后再直接push有问题
  • C语言不可不敲系列:跳水比赛排名问题