🐳 深度学习库安装 — huggingface 🐳
1、安装 huggingface_hub
在 Anaconda 官网中 HuggingFace 目录对应下的 huggingface_hub ,选择近期下载安装较多的版本,huggingface_hub-0.16.4-py_0.tar.bz2,并保存至本地 Anaconda/pkgs 目录下。
2、安装 transformers
在 Anaconda 官网中 HuggingFace 目录对应下的 transformers ,选择近期下载安装较多的版本,transformers-4.28.1-py_0.tar.bz2,并保存至本地 Anaconda/pkgs 目录下。
3、Hugging Face 基本使用方法一
如果有 🚁,直接参考 Hugging Face 的 Transformers 库快速入门 代码即可运行。
运行期间若本地没有相应的 pre-trained model,会首先下载 server 中的 model 至本地,具体执行图如下所示,也可参考 Hugging Face使用入门辅助理解 。
4、443 Error
如果出现 HTTPSConnectionPool (443) 的情况,说明无法连接 huggingface.co 官网 。
此时需要先把 huggingface.co 官网对应的 pre-trained model 下载至本地。
可尝试以下三种方法下载(以 model distilbert-base-uncased-finetuned-sst-2-english
为例)。
- git 命令
git clone https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english
,可能同样出现无法访问的情况。 - 人工下载该 model 对应的 main 文件夹 中的所有文件,并存放至本地。三个 pre-trained model 择一即可。需要使用 🚁。
- 通过 huggingface 镜像 下载。
5、Hugging Face 基本使用方法二
调用本地已下载的 pre-trained model 进行 情感分析、文本生成 等任务,具体调用及使用方法如下。
- 参考 hugggingface.co 无法访问问题 下载和存放 model、tokenizer 等文件。
- 参考 终极解决 Hugging Face 模型推理 修正相应的代码。
- 参考官网的 model usecase/Use in Transformer 修改相应的代码。
6、示例
Python 代码示例如下,其中 path 为本地存储 huggingface pre-trained model 的位置。
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification
path = 'E:/pycharm/huggingface/model/distilbert-base-uncased-finetuned-sst-2-english'
tokenizer = AutoTokenizer.from_pretrained(path)
model = AutoModelForSequenceClassification.from_pretrained(path)
classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
# print(tokenizer)
# print(model)
result1 = classifier("I've been waiting for a HuggingFace course my whole life.")
print(result1)
results2 = classifier(["I've been waiting for a HuggingFace course my whole life.", "I hate this so much!"])
print(results2)
如果安装和配置均成功,则会显示以下 result。
[{'label': 'POSITIVE', 'score': 0.9598049521446228}]
[{'label': 'POSITIVE', 'score': 0.9598049521446228}, {'label': 'NEGATIVE', 'score': 0.9994558691978455}]
以上所有的 Python、PyTorch 环境或版本设定等可参考 深度学习库安装 — torch/tf/keras 。