huggingface.transformers安装教程

诸神缄默不语-个人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 ↩︎

    来源:诸神缄默不语

    物联沃分享整理
    物联沃-IOTWORD物联网 » huggingface.transformers安装教程

    发表评论