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

自然语言处理---huggingface平台使用指南

1 huggingface介绍

Huggingface总部位于纽约,是一家专注于自然语言处理、人工智能和分布式系统的创业公司。他们所提供的聊天机器人技术一直颇受欢迎,但更出名的是他们在NLP开源社区上的贡献。Huggingface一直致力于自然语言处理NLP技术的平民化(democratize),希望每个人都能用上最先进(SOTA, state-of-the-art)的NLP技术,而非困窘于训练资源的匮乏。同时Hugging Face专注于NLP技术,拥有大型的开源社区。尤其是在github上开源的自然语言处理,预训练模型库 Transformers,已被下载超过一百万次,github上超过24000个star。Transformers 提供了NLP领域大量state-of-art的 预训练语言模型结构的模型和调用框架。

2 使用步骤

  • 第一步: 在https://huggingface.co/join上创建一个帐户
  • 第二步: 在可视化界面登陆用户
  • 第三步: 在huggingface上创建模型仓库
  • 第四步: 通过git把本地模型,上传到HuggingFace平台的模型仓库中
  • 第五步: 通过git clone进行模型下载
  • 第六步: 加载下载的模型

2.1 创建一个帐户

在https://huggingface.co/join上创建一个帐户

2.2 登录

2.3 在huggingface上创建模型仓库

  • 在huggingFace平台上注册完毕后,会弹出欢迎页面: https://huggingface.co/welcome 该页面显示了详细的上传模型,下载模型的方法。
  • 详细如下:

  • 通过界面在huggingface上创建模型仓库

  • 点击个人头像,点击创建模型命令【new Mode】

  • 输入【自己名称】、【模型名称】

  • 显示自己创建的模型

2.4 上传本地模型到平台

通过git把本地模型,上传到HuggingFace平台的模型仓库中

1 页面发布步骤介绍

2 git clone操作

先通过git clone操作把huggingface服务器上的文件目录给“拉”下来在本地路径下,执行如下命令:

# xxx/mymodel04 --> 这个是你在huggingface上创建的代码仓库, 根据自己的情况适当更换一下.
git clone https://huggingface.co/xxx/mymodel04

注意点:

  • 在本地会出现一个mymodel04文件夹

  • 在执行git clone之前确保本地文件夹是否已经存在mymodel04,避免本地文件被覆盖。或者把已经存在的mymodel04目录修改名字.

3 把要上传的模型文件copy到本地mymodel04文件夹中
  • 先将目录先切换至mymodel04文件夹中
cd mymodel04
  • 根据目录结构,选中把bert_finetuning_test目录下的模型文件上传到huggingFace平台,需要把bert_finetuning_test目录下的模型文件,copy到mymodel04目录下。
cp -r /root/transformers/examples/pytorch/text-classification/bert-base-uncased-finetuning  . 
4 上传本地mymodel04文件夹中的模型文件,到服务器mymodel04中¶
git add .       # 把本地待上传的模型文件与hugging平台建立关联
git commit -m "commit from $USER" # 添加评注
git push    # 向huggingface平台上传模型文件

注意点: git push 向服务器上传模型文件,需要两次输入密码

5 确认模型是否已经上传到HuggingFace平台上

2.5 通过git clone进行模型下载

git clone https://huggingface.co/xxx/mymodel4

2.6 加载下载的模型

import torch
from transformers import AutoModel, AutoTokenizer# 网络加载
tokenizer = AutoTokenizer.from_pretrained('xxx/mymodel4')
model = AutoModel.from_pretrained('xxx/mymodel4')index = tokenizer.encode("Talk is cheap", "Please show me your code!")
# 102是bert模型中的间隔(结束)符号的数值映射
mark = 102# 找到第一个102的索引, 即句子对的间隔符号
k = index.index(mark)# 句子对分割id列表, 由0,1组成, 0的位置代表第一个句子, 1的位置代表第二个句子
segments_ids = [0]*(k + 1) + [1]*(len(index) - k - 1)
# 转化为tensor
tokens_tensor = torch.tensor([index])
segments_tensors = torch.tensor([segments_ids])# 使用评估模式
with torch.no_grad():# 使用模型预测获得结果result = model(tokens_tensor, token_type_ids=segments_tensors)# 打印预测结果以及张量尺寸print(result)print(result[0].shape)
  • 输出效果:
(tensor([[[-0.1591,  0.0816,  0.4366,  ...,  0.0307, -0.0419,  0.3326],[-0.3387, -0.0445,  0.9261,  ..., -0.0232, -0.0023,  0.2407],[-0.0427, -0.1688,  0.5533,  ..., -0.1092,  0.1071,  0.4287],...,[-0.1800, -0.3889, -0.1001,  ..., -0.1369,  0.0469,  0.9429],[-0.2970, -0.0023,  0.1976,  ...,  0.3776, -0.0069,  0.2029],[ 0.7061,  0.0102, -0.4738,  ...,  0.2246, -0.7604, -0.2503]]]), tensor([[-3.5925e-01,  2.0294e-02, -2.3487e-01,  4.5763e-01, -6.1821e-02,2.4697e-02,  3.8172e-01, -1.8212e-01,  3.4533e-01, -9.7177e-01,1.1063e-01,  7.8944e-02,  8.2582e-01,  1.9020e-01,  6.5513e-01,-1.8114e-01,  3.9617e-02, -5.6230e-02,  1.5207e-01, -3.2552e-01,...1.4417e-01,  3.0337e-01, -6.6146e-01, -9.6959e-02,  8.9790e-02,1.2345e-01, -5.9831e-02,  2.2399e-01,  8.2549e-02,  6.7749e-01,1.4473e-01,  5.4490e-01,  5.9272e-01,  3.4453e-01, -8.9982e-02,-1.2631e-01, -1.9465e-01,  6.5992e-01]]))
torch.Size([1, 12, 768])

相关文章:

自然语言处理---huggingface平台使用指南

1 huggingface介绍 Huggingface总部位于纽约,是一家专注于自然语言处理、人工智能和分布式系统的创业公司。他们所提供的聊天机器人技术一直颇受欢迎,但更出名的是他们在NLP开源社区上的贡献。Huggingface一直致力于自然语言处理NLP技术的平民化(democr…...

修炼k8s+flink+hdfs+dlink(六:学习k8s-pod)

一:增(创建)。 直接进行创建。 kubectl run nginx --imagenginx使用yaml清单方式进行创建。 直接创建方式,并建立pod。 kubectl create deployment my-nginx-deployment --imagenginx:latest 先创建employment,不…...

ARM映像文件组成

引言 ARM编译器将各种源文件(汇编文件、C语言程序文件、C语言程序文件)编译生成ELF格式的目标文件(后缀为.o文件,以下将目标文件简称为.o文件),.o文件经过连接器,和C/C运行时库一起编译生成ELF格…...

redis怎么设计一个高性能hash表

问题 redis 怎么解决的hash冲突问题 ?redis 对于扩容rehash有什么优秀的设计? hash 目标是解决hash冲突,那什么是hash冲突呢? 实际上,一个最简单的 Hash 表就是一个数组,数组里的每个元素是一个哈希桶&…...

《软件方法》强化自测题-总纲(6)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 按照业务建模、需求、分析、设计工作流考察,答案不直接给出,可访问自测链接或扫二维码自测,做到全对才能知道答案。 知识点见《软件方法》&#x…...

vue2中,下拉框多选和全选的实现

vue2中&#xff0c;下拉框多选和全选的实现 代码布局在methods: 中添加功能函数较为完整的一个整体代码&#xff1a; 如图所示点击全选即可完成下拉框中全部子项的全部的选中&#xff0c;同时取消全选即可全部取消选择。 代码布局 <div class"chos-box2"><…...

Android-Framework 默认音乐音量最大

代码位置&#xff1a;frameworks/base/services/core/java/com/android/server/audio/AudioService.java -712,6 712,9 public class AudioService extends IAudioService.Stub}} // force music max volume AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] MA…...

formData对象打印不出来

用el-upload上传图片 以流的形式传给后台 所以用formData对象带数据 let formData new FormData() formData.append(name&#xff0c;monkey7) console.log(formData) 明明已经把数据append进去了 console.log在控制台却打印不出 后来发现他得用formData.get("xxx"…...

【Web安全】SQL注入攻击几种常见防御手法总结

文章目录 前言一、使用参数化查询二、输入验证和过滤三、使用存储过程四、最小权限原则五、使用ORM框架六、使用准备语句七、使用安全的数据库连接八、避免动态拼接SQL语句九、使用防火墙和入侵检测系统(一)防火墙(二)入侵检测系统(Intrusion Detection System,简称IDS)十、定期…...

Linux网络编程杂谈(聊聊网络编程背后的故事)

数据是如何传输到物理网络上的&#xff1f; 以TCP为例&#xff0c;当 TCP 决定发送数据时&#xff0c;这些数据需要经过多个处理阶段才能真正被传输到物理网络。其中一个关键步骤是将数据移动到网络接口卡 (NIC)。以下是这个过程的详细描述&#xff1a; 数据序列化: TCP 会为要…...

执行Maven项目时,无法解析项目的依赖关系

报错[ERROR] Failed to execute goal on project pdms-services: Could not resolve dependencies for project ..... 在IDEA ----> setting ---->Remote Jar Repositories ----> Maven jar repositories中添加远程仓库的http地址。 再次进行maven的clean和install就好…...

索引有哪些缺点以及具体有哪些索引类型

索引的优缺点 优点&#xff1a; 合理的增加索引&#xff0c;可以提高数据查询的效率&#xff0c;减少查询时间 有一些特殊的索引&#xff0c;可以保证数据的完整性&#xff0c;比如唯一索引 缺点&#xff1a; 创建索引和维护索引需要消耗时间 索引需要额外占用物理空间 对创建…...

前端学成在线项目详细解析二

12-banner区域-课程表布局 HTML布局 <div class"right"><h3>我的课程表</h3><div class"content">1</div> </div> CSS样式 /* 课程表 */ .banner .right {margin-top: 60px;width: 218px;height: 305px;background-…...

Linux 网卡性能优化设置

在高速网络传输中&#xff0c;每秒传输的数据量非常大。网络设备设置有一种缓存机制&#xff0c;即“缓存区”&#xff0c;在 Linux 系统中&#xff0c;网卡缓冲分为两种类型&#xff1a;软件缓冲区和硬件缓冲区。 要提高网络吞吐率&#xff0c;首先当然是升级linux kernel。其…...

华为OD 最大嵌套括号深度(100分)【java】B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...

“微信小程序登录与用户信息获取详解“

目录 引言微信小程序微信登录介绍1. 微信登录的基本概念2. 微信小程序中的微信登录 微信小程序登录的wxLogin与getUserProfile的区别1. wx.login()2. wx.getUserProfile()3.两者区别 微信小程序登录的理论概念1. 微信登录流程2. 用户授权与登录态维护 微信小程序登录的代码演示…...

软考-防火墙技术与原理

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 by 2023年10月 防火墙概念 根据网络的安全信任程度和需要保护的对象&#xff0c;人为地划分若干安全区域…...

MOS管型号

MOS 管型号 N型 型号类型电压电流Rds封装资料AP60N03DFN30V60A45mΩPDFN3x3-8L手册 P型 型号类型电压电流Rds封装资料AO4447AP30V-18.5A8.2mΩSOIC-8手册 NP型 型号类型电压电流Rds封装资料NP4606PN30V7A、-6A45mΩSOP8手册KS3640MBPN30V20A、-22A45mΩPDFN3333手册NCE30…...

龙测票选,5本最受欢迎的软件测试书籍

随着技术的发展&#xff0c;软件测试所涉猎的领域越来越广泛&#xff0c;包括测试理论、方法、管理、工具等&#xff0c;一直在随之变化。对新手来说&#xff0c;这时候需要有一个引路明灯&#xff0c;避免走弯路&#xff0c;提高学习效率。而书籍就扮演着这样的角色。一本好的…...

C#中各种循环遍历的功能与应用

在C#编程中&#xff0c;循环遍历是一种重要的技巧&#xff0c;它使我们能够有效地处理集合、数组和其他数据结构。本文将深入探讨C#中常见的循环遍历方式&#xff0c;包括for循环、foreach循环、while循环和do while循环&#xff0c;并给出它们在实际应用中的使用场景、示例和最…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

MLP实战二:MLP 实现图像数字多分类

任务 实战&#xff08;二&#xff09;&#xff1a;MLP 实现图像多分类 基于 mnist 数据集&#xff0c;建立 mlp 模型&#xff0c;实现 0-9 数字的十分类 task: 1、实现 mnist 数据载入&#xff0c;可视化图形数字&#xff1b; 2、完成数据预处理&#xff1a;图像数据维度转换与…...

Python异步编程:深入理解协程的原理与实践指南

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 持续学习&#xff0c;不断…...

【R语言编程——数据调用】

这里写自定义目录标题 可用库及数据集外部数据导入方法查看数据集信息 在R语言中&#xff0c;有多个库支持调用内置数据集或外部数据&#xff0c;包括studentdata等教学或示例数据集。以下是常见的库和方法&#xff1a; 可用库及数据集 openintro库 该库包含多个教学数据集&a…...