Transformer包环境配置
前言
目前接触的NLP任务想利用Transformer来进行计算,在此记录本人Win端的配置过程
一、Transformer讲解
二、上手使用
1.Transformer相关知识
**术语
罗列,之后会补充(可先自行百度了解)
术 语 | 解释 |
---|---|
马尔科夫链 | – |
MLP | – |
CNN | –(课程中提到CNN可看作Self-attention的特例) |
RNN | 把上一个时刻的信息输出,并在下一个时刻做输入 |
Transformer | 通过Attention层,全局获取整个序列的信息,再用MLP做语义转换 |
Self-attention | 抓取整个序列的信息,做一次汇聚aggregation,提炼出其中受关注的部分 |
memory network | – |
Encoder-decoder Structure | – |
auto-regressive自回归 | – |
embeding layer 嵌入层 | 词 ——> 向量,学习一个长为d的向量表示这个词 |
residual connection 残差连接 | – |
soft-max | 分类(0/1),是指一种激活函数,将数值向量归一化为一个概率分布向量(和为1),sigmoid函数可看作是其的一个特例 |
bert | – |
gbt | – |
**特点
Transformer往往在大训练模型,大数据集上效果更好。
模型评价标准:BLEU score
2.Transformer包安装教程
-
Transformers官方建议安装在虚拟环境中,官方提供的虚拟环境教程;
-
在此我也尝试了搭建虚拟环境,首先使用pip的方式搭建,但是激活env之后pip install 不能下载package,根据报错信息,我又尝试使用anaconda搭建虚拟环境,成功;
-
在anaconda搭建虚拟环境env中,我使用pip install安装了Transformer,但在调用时提示缺少PyTorch或者TensorFlow2.0,我选择了前者,在虚拟环境中执行如下命令安装pytorch10.2稳定版:
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
4.安装过程并不是一次成功,或许是网络问题,我反复三四次,第二天早上才把其中的包全部加载完,出现done,成功。
5.按网上输入pip list,查看已有的包,有torch,且import torch
没问题。
6.但是使用torch.cuda.is_available()
显示False,可能是显卡GPU不适配?,搜索问题之后打算先不解决,用CPU计算或许也可以。
7.使用python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"
,测试Transformers,如图加载成功。
【注】:本人使用Python 3.9、PyTorch10.2版本
本文参考了这篇博文,其对huggingface旗下Python包Transformers 文档做了介绍。