huggingface

Huggingface数据集以及模型使用

注意:由于HuggingFace把数据集/模型存储在谷歌云盘上,在国内加载时可能会遇到网络问题,推荐国内镜像站

地址:https://hf-mirror.com/

Hugging Face CLI(命令行界面)

Hugging Face CLI(命令行界面)是一个工具,用于与Hugging Face模型和数据集的Hub进行交互。它提供了一种简单的方式来搜索、下载、上传、共享和管理模型、数据集以及其他相关资源。用户可以通过命令行轻松地访问Hugging Face生态系统中的各种模型和数据集,从而加快机器学习实验的速度并促进模型和数据的共享与合作。huggingface-cli 的优点包括:

  1. 支持断点续传,避免因网络中断而导致的文件损坏。
  2. 支持指定镜像 endpoint,可直接使用本站镜像服务。
  3. 默认使用多文件并行下载,速度更快。(如需更极致的下载速度,可对文件链接用其他多线程下载工具下载,默认不推荐)
  4. 支持 Gated model 下载 如 llama。–token参数,详见文档。
  5. 支持排除特定文件或指定特定文件下载,便于用户自定义下载内容。

下载Hugging Face CLI

pip install --upgrade pip
pip install huggingface-cli
pip install -U huggingface_hub
#Windows Powershell
$env:HF_ENDPOINT = "https://hf-mirror.com"

pip 版本

如果遇到此问题,请升级pip版本

image-20240323174625781

打开cmd/ Anaconda Prompt (进入环境/虚拟环境的位置)[一定要管理员身份打开]

image-20240323174909657

输入 pip install --upgrade pip

加上这个

import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' # 设置Hugging Face模型库的镜像地址

数据集使用

import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' # 设置Hugging Face模型库的镜像地址
#加载数据集
from datasets import load_dataset
#HuggingFace数据集工具加载数据往往只需一行代码'seamew/ChnSentiCorp'为数据集名称
dataset = load_dataset(path='seamew/ChnSentiCorp')
dataset

模型使用

import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' # 设置Hugging Face模型库的镜像地址

from transformers import BartForConditionalGeneration, AutoTokenizer, Text2TextGenerationPipeline

# 加载预训练的tokenizer和model
tokenizer = AutoTokenizer.from_pretrained('IDEA-CCNL/Randeng-BART-139M-SUMMARY')
model = BartForConditionalGeneration.from_pretrained('IDEA-CCNL/Randeng-BART-139M-SUMMARY')

# 读取文件内容并按段落拆分
with open('text/jianxie.txt', 'r', encoding='utf-8') as file: # 使用UTF-8编码读取文件
text = file.read()

paragraphs = text.splitlines() # 假设每个段落之间有两个换行符隔开,你也可以根据实际情况进行调整

# 创建文本生成pipeline
text2text_generator = Text2TextGenerationPipeline(model, tokenizer)

# 针对每一个段落生成摘要,并输出结果
for i, paragraph in enumerate(paragraphs):
summary = text2text_generator(paragraph, max_length=500000, do_sample=True)
print(f'第{i+1}段: {summary[0]["generated_text"]}')