拥抱AI未来:Hugging Face平台使用指南与实战技巧
创作时间:
作者:
@小白创作中心
拥抱AI未来:Hugging Face平台使用指南与实战技巧
引用
1
来源
1.
https://cloud.tencent.com/developer/article/2470314
Hugging Face是一个专注于自然语言处理(NLP)、人工智能和分布式系统的创业公司,其在NLP开源社区上的贡献尤为突出。本文将详细介绍如何使用Hugging Face平台,包括账户创建、模型仓库管理、模型上传和下载等具体操作步骤,并提供相应的代码示例。
Hugging Face平台介绍
Huggingface总部位于纽约,是一家专注于自然语言处理、人工智能和分布式系统的创业公司。他们所提供的聊天机器人技术一直颇受欢迎,但更出名的是他们在NLP开源社区上的贡献。Huggingface一直致力于自然语言处理NLP技术的平民化(democratize),希望每个人都能用上最先进(SOTA, state-of-the-art)的NLP技术,而非困窘于训练资源的匮乏。同时Hugging Face专注于NLP技术,拥有大型的开源社区。尤其是在github上开源的自然语言处理,预训练模型库 Transformers,已被下载超过一百万次,github上超过24000个star。Transformers 提供了NLP领域大量state-of-art的 预训练语言模型结构的模型和调用框架。
使用步骤
1. 创建一个帐户
在https://huggingface.co/join上创建一个帐户
2. 登录
3. 在huggingface上创建模型仓库
- 在huggingFace平台上注册完毕后,会弹出欢迎页面:https://huggingface.co/welcome该页面显示了详细的上传模型,下载模型的方法。
- 详细如下:
- 通过界面在huggingface上创建模型仓库
- 点击个人头像,点击创建模型命令【new Mode】
- 输入【自己名称】、【模型名称】
- 显示自己创建的模型
4. 上传本地模型到平台
通过git把本地模型,上传到HuggingFace平台的模型仓库中
- 页面发布步骤介绍
- git clone操作
先通过git clone操作把huggingface服务器上的文件目录给“拉”下来在本地路径下,执行如下命令:
# xxx/mymodel04 --> 这个是你在huggingface上创建的代码仓库, 根据自己的情况适当更换一下.
git clone https://huggingface.co/xxx/mymodel04
注意点:
- 在本地会出现一个mymodel04文件夹
- 在执行git clone之前确保本地文件夹是否已经存在mymodel04,避免本地文件被覆盖。或者把已经存在的mymodel04目录修改名字.
- 把我们要上传的模型文件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 .
- 上传本地mymodel04文件夹中的模型文件,到服务器mymodel04中
git add . # 把本地待上传的模型文件与hugging平台建立关联
git commit -m "commit from $USER" # 添加评注
git push # 向huggingface平台上传模型文件
注意点: git push 向服务器上传模型文件,需要两次输入密码
- 确认模型是否已经上传到HuggingFace平台上
5. 通过git clone进行模型下载
git clone https://huggingface.co/xxx/mymodel4
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])
小结
学习了通过微调脚本微调后模型的使用步骤:
- 第一步: 在https://huggingface.co/join上创建一个帐户
- 第二步: 在可视化界面登陆用户
- 第三步: 在huggingface上创建模型仓库
- 第四步: 通过git把本地模型,上传到HuggingFace平台的模型仓库中
- 第五步: 通过git clone进行模型下载
- 第六步: 加载下载的模型
热门推荐
长白发不一定是老了,头发白了还能黑回来么?
解除劳动关系证明怎么开?
八段锦全动作详细解析:古法养生功,动动见效
虚拟机硬件不足如何分配
沙茶牛肉蒸腐竹:一道改良版潮汕经典,简单易学又美味
揭秘地球潮汐现象:成因、影响与变化
伦铜与沪铜的价格差异是如何形成的?这种差异对市场有何启示?
刀郎新歌《鸿雁于飞》:一场跨越三千年的文化共鸣
亲子音乐时光:用旋律温暖心灵,拓宽孩子的视野
业务外包与劳务派遣的区别
win11关机一直提示更新?是系统故障还是更新问题?
为何大量欧洲人移民美洲?探究历史原因及影响
红外激光模组开启智能应用的未来之光
制作Winpe启动盘多种方法:一篇文章让你从小白变高手
袁术称帝:底气何在?又为何迅速没落?
绿植之美:家庭绿植布置的技巧与心得全分享
警惕“梦中伤人”!揭秘快动眼睡眠异常行为障碍(RBD)的真相
喝桂枝汤的禁忌:只有掌握了这些注意事项,桂枝汤才会成为中医方剂之首
香港投资者认证全流程指南:从注册到审核的全面解析
头痛的根源解析及生活调适策略,告别头痛烦恼
通过演绎推理提高翻译准确性
债务纠纷防范指南:从预防到维权的全方位指导
Win11关机外设不断电?为何会出现这种情况?如何解决?
Win11 4核处理器适合哪些游戏?如何优化性能?
如何改变Excel表格颜色?
双端进电LED灯管怎么接线(详解接线方法与注意事项)
调理气血的茶饮推荐:简单又有效
一年交易上百亿枝花,这里如何做到?
TPM(可信平台模块)基础知识详解
如何在不联网的情况下在Epic Games平台启动游戏?