Transformers | 在自己的电脑上开启预训练大模型使用之旅!

本文内容主要包括两部分:

  1. Hugging Face 社区介绍

  2. 如何使用 Transformers 库的模型


1. Hugging Face 社区介绍

Hugging Face (https://huggingface.co/) 是一个 Hub 社区,它和 GitHub 相同的是,他们都是基于 Git 进行版本控制的存储库社区,不同的是,Hugging Face 是专门为存储机器学习、深度学习模型而建立的存储库社区,而 GitHub 是一个多元的存储库社区。

Hugging Face 存放了开源生态系统中的数十个模型库,例如 Transformers 库、Diffusers 库、Scikit-learn 库等,这数十个模型库总共包含了超过 98 万个模型。除此之外,Hugging Face 还包含了超过20万个数据集和 30 万个演示模型功能的交互式应用程序。(截止到 2024 年 9 月 23 日)

Transformers 模型库包含了基于PyTorch、TensorFlow 和 JAX 三个机器学习框架建立起来的模型,关于 Transformers 模型库,有三点需要注意:

  1. Transformers 模型库是 Hugging Face 最核心、最重要的库,是数十个模型库中模型数量最多的库,包含了超过 39 万个模型。

  2. Hugging Face 同时在 Libraries 中列出了 Transformers 库、PyTorch 库、TensorFlow 库和 JAX 库,后三个库可以看作是 Transformers 库的子库。

Hugging Face 部分模型库

  1. Transformers 模型库不仅包含基于 Transformer 深度学习架构建立起的模型,也包含非 Transformer 架构的模型。

需要注意的是,不要混淆了 Transformers 和 Transformer,Transformers 是 Hugging Face 的一个存放了许多模型的库,而 Transformer 是一个基于注意力机制(attention mechanism)的深度学习架构。


2. 使用 Transformers 库的模型

Hugging Face有很多模型库,不同的库使用方式是不同的,我们先来看看如何使用 Transformers 库的模型。

使用 Transformers 库的模型有两种方式,一种是在模型界面,使用 Hugging Face 提供的 Inference API 接口进行初步使用;另外一种是建立 Python 虚拟环境,安装 Transformers 模型库,在本地使用 pipeline() 加载模型,然后对我们的任务进行 Inference (推理)。

2.1 使用 Inference API

通过 Inference API 初步使用蛋白质语言模型 esm2_t33_650M_UR50D

2.2 本地化使用

我们以在 windows 环境中使用 Transformers 库为例介绍使用流程:

  1. 在桌面创建项目目录 Transformers

  2. 进入 Transformers 目录,ctrl + shift + 右键,在此目录下进入 Windows power shell 窗口。

  3. 创建虚拟环境:python -m venv Transformers_env

  4. 激活虚拟环境:Transformers_env\Scripts\activate

  5. 安装 TensorFlow 或 PyTorch:pip install tensorflow 或 torch

  6. 安装 Transformers 库:pip install transformers

  7. 在 Transformers 目录下建立一个 Python 脚本,开始使用模型。

from transformers import pipeline# 使用 pipeline() 加载模型
classifier = pipeline('sentiment-analysis')
sentence = "Friday is the last day of weekdays"# 使用加载的模型进行 Inference (推理)
print(classifier(sentence))输出结果:
[{'label': 'POSITIVE', 'score': 0.8798152208328247}]

以上,使用 pipeline() 加载了一个预训练的情绪分析模型 sentiment-analysis,该模型可以分析一句话是积极的或消极的,并给出置信度。

在上面的例子中,我们给出的句子是 “Friday is the last day of weekdays”,模型推理认为这个句子是 POSITIVE,置信度为 0.879。

加载的预训练模型默认的本地缓存地址为:C:\Users\username\.cache\huggingface\hub

有的预训练模型很大,实时加载需要花费很多时间和计算机资源,我们可以先将模型下载下来,使用 classifier = pipeline('sentiment-analysis', model='path/to/your/model/') 加载模型。




接下来,将继续介绍 Transformers 库的使用:

  1. Transformers | 详解使用 pipeline() 进行推理;

  2. Transformers | 详解预处理数据;

  3. Transformers | 详解 Fine-tune 预训练模型;

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149007.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

SRS流媒体服务器在宝塔面板下的安装

目录 一、安装 1、安装Docker 2、安装srs 二、测试 1、进入后台 2、推流 3、播放测试: (1)网页 (2)拉流 之前一篇文章,我们介绍了SRS流媒体服务器在CentOS下的安装,安装流程还是比较麻烦且耗时的,其实SRS支持Docker部署,今天我们介绍在宝塔面板的Docker中部署…

【C++篇】~类和对象(中)

类和对象(中) 1.类的默认成员函数​ 默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。一个类,我们不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前…

深入探索PostgreSQL优化器的代价模型(建议收藏)

PawSQL优化引擎的实现深受PostgreSQL优化器的影响,本文我们来揭密PostgreSQL的代价模型。PawSQL专注于数据库性能优化自动化和智能化,提供的解决方案覆盖SQL开发、测试、运维的整个流程,广泛支持MySQL、PostgreSQL、OpenGauss、Oracle等主流商…

数据脱敏-快速使用

1.数据脱敏定义 数据脱敏百度百科中是这样定义的: 数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。 因为在真正的生产环境中,很多数据是不能直接返回,但是我们工作的时候可能经常性的需要返回一些用户信…

历年大厂校招 网络安全面试题(80+经验贴)

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

为什么要使用多线程

为什么要使用多线程 任务分解&#xff1a;耗时的操作&#xff0c;任务分解&#xff0c;实时响应。数据分解&#xff1a;充分利用多核CPU处理数据。数据流分解&#xff1a;读写分离&#xff0c;解耦合设计。 #include <iostream> #include<thread> using namespac…

【Unity编辑器扩展】解决uGUI动效痛点 零代码可视化快速制作UI动效 DOTween Sequence可视化

UI动效痛点&#xff1a; UI动效一直是Unity游戏开发的一大痛点&#xff0c;大部分项目都在使用Animator/Animation制作UI动效。而Animation是以节点路径记录动画&#xff0c;一旦UI层级、节点名变更就会导致动效返工&#xff0c;且Animation编辑器缓动曲线很难控制&#xff0c…

【论文速看】DL最新进展20240923-长尾综述、人脸防伪、图像分割

目录 【长尾学习】【人脸防伪】【图像分割】 【长尾学习】 [2024综述] A Systematic Review on Long-Tailed Learning 论文链接&#xff1a;https://arxiv.org/pdf/2408.00483 长尾数据是一种特殊类型的多类不平衡数据&#xff0c;其中包含大量少数/尾部类别&#xff0c;这些类…

C:内存函数

目录 前言&#xff1a; 一、memcpy 函数的使用及实现 1、memcpy函数的介绍 1.1 memcpy函数参数解读 2、memcpy函数的使用 3、memcpy函数的模拟实现 二、memmove函数的使用及模拟 1、memmove函数的使用 2、memmove函数的模拟实现 三、memset 函数的使用 1、memset函数的…

PyCharm下载和安装教程

Python、C/C、C#、DSL、Go、Groovy、Java、JavaScript、Objective-C、PHP 等编程语言。 图 1 JetBrains 开发工具 PyCharm下载和安装 进入 PyCharm官方下载页面(如图 2 所示)&#xff0c;可以看到 PyCharm 有 2 个版本&#xff0c;分别是 Professional(专业版)和 Community(社…

Mybatis百万数据插入(含导出)

1 一般一次性插入多条数据 传统的sql语句&#xff1a; INSERT INTO table1 ( field1, field2 ) VALUES( "data1", "data2" ); INSERT INTO table1 ( field1, field2 ) VALUES( "data1", "data2" ); INSERT INTO table1 ( field1, fi…

DirectX修复助手

在日常使用电脑时&#xff0c;我们可能会遇到提示缺少DLL文件&#xff0c;如0xc000007b错误、缺少d3dxxx.dll等问题&#xff0c;这些会影响软件运行甚至导致系统不稳定。以下是一些常见的DLL问题原因和一个修复工具&#xff0c;希望能帮到你。 DLL文件问题的常见原因 软件安装…

20 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STM32F103C8T6 采用DHT11读取温度、滑动变阻器模拟读取电流、电压。 通过OLED屏幕显示&#xff0c;设置电流阈值为80&#xff0c;电流小阈值为50&#xff0c;电压阈值为60&#xff0c;温度阈值…

24. Revit API: 几何对象(五)- (Sur)Face

一、前言 虽然Face是GeometryObject的子类&#xff0c;Surface不是&#xff0c;但这两者之间还是挺有关联的&#xff0c;每个Face都有一个对应的Surface&#xff0c;类似于Edge和Curve的关系。 Surface是数学意义上的面&#xff0c;纯定义。 Face是几何形状&#xff08;实体&a…

css如何设置间距

在CSS中设置间距是非常常见的需求&#xff0c;可以通过多种属性来实现。以下是一些常用的CSS属性及其用法&#xff0c;用于设置元素之间的间距&#xff1a; 内边距&#xff08;Padding&#xff09; padding 属性用于设置元素内容与元素边框之间的距离。可以分别设置四个方向的…

视频质量评价SimpleVQA

目录 一、研究意义 例子 二、介绍 三、文章解读 3.1 论文动机 3.2论文思路 3.3方法 3.3.1网络框架 3.3.2公式解读 3.3.3核心创新 3.3.4理解 &#xff01;&#xff01;&#xff01;作者对模型的改进 本人算法框体 3.3.5实验细节&#xff1a; 四、代码复现 4.1代码文件简介 4.2数…

leetcode第二十六题:删去有序数组的重复项

给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你…

C++之STL—vector容器基础篇

头文件 #include <vector> //vector容器 #include <algorithm> //算法 基本用法&&概念 vector<int> v; v.push_back(10); vector<int >::iterator v.begin(); v.end(); 三种遍历方式 #include <vector> #include <algorithm>…

Leetcode3289. 数字小镇中的捣蛋鬼

Every day a Leetcode 题目来源&#xff1a;3289. 数字小镇中的捣蛋鬼 解法1&#xff1a;哈希 代码&#xff1a; /** lc appleetcode.cn id3289 langcpp** [3289] 数字小镇中的捣蛋鬼*/// lc codestart class Solution { public:vector<int> getSneakyNumbers(vector…

在线文档搜索服务测试报告

目录 1. 项目背景: 2. 项目功能: 3. 测试计划: 1. 项目背景: 1.1 在线搜索服务的前端主要一下几个功能, 分别是进入搜索引擎界面(有提示输入关键词信息); 进行输入关键词的界面, 以及显示有关关键词的文档url, 点击跳转至目标文档的界面; 1.2 该在线搜索服务的文档可以实现用…