huggingface.transformers安装教程

2023-05-16

诸神缄默不语-个人CSDN博文目录

本文属于huggingface.transformers全部文档学习笔记博文的一部分。
全文链接:huggingface transformers包 文档学习笔记(持续更新ing…)

本部分网址:https://huggingface.co/docs/transformers/master/en/installation
本部分介绍transformers包如何安装,安装后如何检验是否安装成功,以及cache的设置和离线模式如何操作。

由于作者使用PyTorch作为深度学习库,因此本文仅介绍以PyTorch为后端神经网络包情况下transformers包的安装内容。
此外,本部分还有 🤗 Datasets 包相关缓存路径和离线模式的问题,由于我不用datasets包,所以

Transformers只经过了Python 3.6+、PyTorch 1.1.0+版本的测试,因此建议使用这些级别的版本。
我使用anaconda作为虚拟环境管理工具,并在虚拟环境中安装的transformers包。
对Python、anaconda的安装和虚拟环境管理相关内容本文不作赘述。
Transformers官方建议安装在虚拟环境中,官方提供的虚拟环境教程:Installing packages using pip and virtual environments — Python Packaging User Guide (是用virtualenv包作为管理工具来实现的)
对PyTorch安装的相关内容可参考我之前撰写的博文:PyTorch安装教程_诸神缄默不语的博客-CSDN博客
但是如果仅使用CPU版本,不需要提前自行安装PyTorch,后文会介绍在安装transformers时自动同时安装PyTorch的方式。
以下代码默认在虚拟环境中实现。

文章目录

  • 1. 通过pip下载
  • 2. 通过source下载
  • 3. Editable install
  • 4. 通过conda下载
  • 5. 验证transformers是否安装成功
  • 6. cache设置
  • 7. 离线模式

1. 通过pip下载

pip install transformers

如果仅使用CPU,可以直接通过如下命令行同时安装PyTorch:

pip install transformers[torch]

2. 通过source下载

pip install git+https://github.com/huggingface/transformers

这个命令行下载的是最新的master版本,而不是稳定版。master版保持最新更新。

3. Editable install

如果您需要:1. 使用源码的master版本。2. 贡献给 🤗 Transformers,测试代码变化。
您就需要进行editable install,即clone GitHub项目并安装transformers包:

git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .

这一命令会链接你下载的文件夹到Python包路径,Python会在常规包路径的基础上增加查看你所下载的这个路径。举例来说,如果你的Python包一般下到~/anaconda3/envs/main/lib/python3.7/site-packages/,Python在此基础上还会搜索你下载的这个文件夹:~/transformers/
注意如果你想保留这个包,这个下载的文件夹就不能删。
pip install命令的-e参数的更多解释可参考我之前撰写的博文:pip详解(持续更新ing…)_诸神缄默不语的博客-CSDN博客

如果你想更新到最新版本,运行如下代码即可:

cd ~/transformers/
git pull

4. 通过conda下载

conda install -c huggingface transformers

5. 验证transformers是否安装成功

python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"

python -c属于命令行参数,直接运行其后的Python语句1。也可以用command参数。通过man python命令可以查看其介绍:

Specify the command to execute (see next section).  This terminates the option list (following  options are passed as arguments to the command).

这个Python代码就是自动下载预训练模型,使用transformers的pipeline函数对“we love you”这句话运行情感分析操作,对pipeline的解释可参考我之前撰写的博文:huggingface.transformers速成笔记_诸神缄默不语的博客-CSDN博客
如代码成功运行并输出类似如下的内容,证明transformers安装成功:

[{'label': 'POSITIVE', 'score': 0.9998704791069031}]

6. cache设置

预训练模型会被自动下载并缓存到:~/.cache/huggingface/transformers/(shell environment variable TRANSFORMERS_CACHE
(在Windows上则是:C:\Users\username\.cache\huggingface\transformers

你可以改变以下shell environment variables(按优先级排序)以指定不同的缓存文件夹:

  1. Shell environment variable (default): TRANSFORMERS_CACHE
  2. Shell environment variable: HF_HOME + transformers/
  3. Shell environment variable: XDG_CACHE_HOME + /huggingface/transformers

(如果使用过transformers老版,并修改了 shell environment variables PYTORCH_TRANSFORMERS_CACHEPYTORCH_PRETRAINED_BERT_CACHE),就会使用这些shell environment variables,除非修改了 shell environment variable TRANSFORMERS_CACHE

我没有试验过修改缓存路径,参考2,有3种方式修改缓存路径:

  1. 在Python代码中,在import transformers之前修改环境变量:
import os
os.environ['TRANSFORMERS_CACHE'] = '文件夹名'
  1. 在命令行中:export TRANSFORMERS_CACHE=文件夹名
  2. 在调用from_pretrained函数时使用cache_dir入参,指定缓存文件夹名

7. 离线模式

在不方便使用网络的情况下,🤗 Transformers也可以只使用本地文件。设置环境变量TRANSFORMERS_OFFLINE=1以开启该模式。

举例,原本运行代码的脚本为:

python examples/pytorch/translation/run_translation.py --model_name_or_path t5-small --dataset_name wmt16 --dataset_config ro-en ...

离线模式则为:

HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
python examples/pytorch/translation/run_translation.py --model_name_or_path t5-small --dataset_name wmt16 --dataset_config ro-en ...

另一种离线使用 🤗 Transformers 的方法是提前下载模型,然后用from_pretrained()指定文件夹加载tokenizer和预训练模型。
from_pretrained()函数的使用方法同样可参考我之前撰写的博文:huggingface.transformers速成笔记_诸神缄默不语的博客-CSDN博客

另,使用代码从huggingface_hub/src/huggingface_hub at main · huggingface/huggingface_hub下载模型:

python -m pip install huggingface_hub

#以T0模型的config.json为例
from huggingface_hub import hf_hub_download

hf_hub_download(repo_id="bigscience/T0_3B", filename="config.json", cache_dir="指定下载路径")

  1. Python命令行参数_把握自己。-CSDN博客 ↩︎

  2. How to change huggingface transformers default cache directory - Stack Overflow ↩︎

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

huggingface.transformers安装教程 的相关文章

  • PX4源码地址和wiki

    源码 https github com 987419640 Firmware wiki https dev px4 io v1 9 0 zh concept architecture html
  • 视觉十四讲:第七讲_2D-2D:对极几何估计姿态

    1 对极几何 从2张图片中 得到若干个配对好的2d特征点 就可以运用对极几何来恢复出两帧之间的运动 设P的空间坐标为 P 61 X Y Z T 两个像素点 p 1 p 2 的像素坐标为 s 1 p 1 61 KP s 2 p 2 61 K
  • VINS_FUSION入门系列---GPS与VIO融合

    参考的博客 https blog csdn net subiluo article details 105429471 http www luyixian cn news show 313718 aspx state 状态量 位姿 速度 b
  • 几种常用加壳软件图文详解

    为了保护自己的软件不轻易被他人 借鉴 xff0c 有必要对软件进行一些加密保护 xff0c 而这方面目前己有成熟的专业加密软件可选择 但不要太依赖壳的保护 xff0c 大多数壳是可以被攻破的 xff0c 还是在自身保护上下些功夫 加密软件比
  • debian添加source源后update出现GPG错误

    错误如下 xff1a W GPG error http mirrors 163 com debian buster updates InRelease The following signatures couldn 39 t be veri
  • windows clang 编译Qt

    准备 xff1a qt everywhere src 5 15 0 zip jom 1 1 3 zip LLVM 10 0 0 win64 exe VS2019 xff1a 需要安装win10 SDK xff0c 也有自带的clang xf
  • docker 最新Dockerfile命令手册

    Dockerfile Reference Docker can build images automatically by reading the instructions from a Dockerfile A Dockerfile is
  • 单片机移植 - RTOS总结 -uC/OS-II ; FreeRTOS的区别

    RTOS总结 uC OS II FreeRTOS的区别 实时操作 xff08 RTOS xff09 系统有很多种 xff0c 分别为 Clinux C OS II eCos FreeRTOS mbed OS RTX Vxworks QNX
  • CentOs Stream脚本安装单机版Kubernetes并配置Calico和NFS

    随着Kubernetes和CentOs的不断升级 xff0c 在安装Kubernetes时 xff0c 网上其他的一些参考资料可能会遇到一些问题 本文以脚本方式列出了所有步骤 xff0c 这些步骤对于一台纯净的CentOs Stream服务
  • java基础必备丨阿里云kubernetes集群部署

    1 创建的前提 开通资源编排服务ROS 因为阿里云的k8s集群依赖于ROS的资源编排 xff0c 所以 xff0c 要先开通ROS才可以创建k8s集群开通弹性伸缩服务ESS开通访问控制服务RAM 2 创建说明 每个账号创建的云资源是由于配额
  • 从头开始写STM32F103C8T6驱动库(四)——编写延时函数,详解Systick

    系列文章目录 Github开源地址 从头开始写STM32F103C8T6驱动库 xff08 一 xff09 STM32CubeMX创建并调整工程结构 从头开始写STM32F103C8T6驱动库 xff08 二 xff09 编写系统初始化程序
  • 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程

    ROS安装指南 目录 ROS安装指南 前言 一 配置Linux清华镜像源1 1 介绍1 2 开始配置 二 安装ROS2 1 ROS的介绍2 1 开始安装 xff1a 配置公钥2 2 系统更新2 3 安装ROS 三 配置ROS3 1 初始化r
  • 京东业务增长10倍背后的敏捷开发秘籍【案例+分析】

    需求又要改 xff1f 项目上线时间又提前了 xff1f 老板还嫌增长不够 xff1f 团队都开始灰心丧气了 xff1f 来看看京东内部是如何解决这些让人焦头烂额的棘手问题 1 两次失败之后成功支持双11活动 京东每年两次大的的促销活动中都
  • 串口调试助手源程序

    目次 xff1a 1 建立项目 2 在项目中插入MSComm控件 3 利用ClassWizard定义CMSComm类控制变量 4 在对话框中添加控件 5 添加串口事件消息处理函数OnComm 6 打开和设置串口参数 7 发送数据 8 发送十
  • 【统计计算之非均匀分布随机数的生成】

    在学习统计计算这门课中 xff0c 学习到了非常多的算法 xff0c 个人觉得非常有趣 xff0c 希望可以和大家总结分享一下 持续更新中 我们用的课本 xff1a 统计计算 李东风 非均匀分布随机数 1 变换法 变换法主要分为两种 xff
  • Ubuntu 18.04在 VMware中启动时一直停留在Starting Update UTMP about System Runlevel Changes

    环境 Ubuntu 18 04 安装在VMware中 问题 启动时一直停留在Starting Update UTMP about System Runlevel Changes 解决思路 由于本人的虚拟机磁盘空间所剩无几 xff0c 怀疑是
  • linux零碎知识点

    源码包安装的 Apache 默认伪用户 xff1a daemonTCP IP是一个工业标准而非国际标准TCP IP可以用于同一主机上不同进程之间的通信Linux 由 Kernel Shelll 应用程序 组成网络协议三要素 xff1a 语义
  • 算法小知识

    一个数如果恰好等于它的因子之和 xff0c 这个数就称为 完数 例如6 61 1 xff0b 2 xff0b 3 xff0c 再如8的因子和是7 xff08 即1 43 2 43 4 xff09 xff0c 8不是完数回文数是指正序 xff
  • 启动 tomcat ,一直停在com.alibaba.druid.pool.DruidDataSource:init

    启动 tomcat 一直停在com alibaba druid pool DruidDataSource init clean一下就可以了
  • Win10 触摸屏 快捷键操作

    Win10 触摸板 快捷键操作 在 Windows 10 笔记本电脑的触摸板上试用这些手势 xff1a 快捷键 选择项目 xff1a 点击触摸板右键单击效果 xff1a 两根手指点击一次应用滚动 xff1a 将两个手指放在触摸板上 xff0

随机推荐