当前位置: 首页 > news >正文

Hugging Face的基础使用

介绍

主流开源大模型平台对比

  • HuggingFace:类 GitHub,模型资源全面,但对新手来说难以访问。
  • ModelScope(阿里开源):模型资源较有限,访问速度快。

HuggingFace 优点

  1. 丰富的预训练模型资源
    • 适用性广:覆盖文本分类、情感分析、问答、机器翻译等多类 NLP 任务,满足学术、商业、个人项目等不同场景需求,节省从头训练成本。
    • 高质量且持续更新:模型经专业训练优化,性能精准;平台持续迭代模型以适配技术发展。
  2. 便捷的工具和库
    • Transformers 库:NLP 领域重要工具,支持 BERT、GPT、RoBERTa 等多模型的加载、使用与微调,接口易用,便于集成到项目中。
    • 数据集管理工具(如 Datasets 库):可轻松下载、处理和管理公开数据集,提升数据准备效率,减少繁琐操作。

注册

首先我们可以注册和登录。用国内的邮箱也是可以的。
image
然后我们经常用的就是上面导航栏中Models和Datasets两部分

Models

image
找到想要的直接点进去即可。
image
image

Datasets

然后就是与Models页面类似的数据集页面
image
可以在card模块看到数据集的细节。我们可以直接去用。
image

环境准备

在下载模型数据集之前,要配置环境

  • anaconda集成环境安装
  • python 3.10
  • pytorch安装
  • pycharm安装
  • cuda安装(可选,需要有独立的N卡,显存16G及以上)
  • 安装Hugging Face库

模型下载与测试

以gpt2-chinese-cluecorpussmall模型为例

from transformers import AutoModel, AutoTokenizer
import torch
model_name = "uer/gpt2-chinese-cluecorpussmall"
cache_dir = r"D:\data\model" #要把模型下载的地方
# 下载模型到本地
model = AutoModel.from_pretrained(model_name, cache_dir=cache_dir)
# 下载tokenizer分词器到本地
tokenizer = AutoTokenizer.from_pretrained(model_name, cache_dir=cache_dir)
print("模型下载完成")

运行程序之后,本地对应路径就有模型了,在snapshots文件夹中的config.json文件有模型的一下配置信息。在vocab.txt中可以看到模型认识哪些字。

from transformers import AutoTokenizer, AutoModelForCausalLM
from transformers import pipeline #创建任务
# 使用绝对路径,否则会去先去huggingface下载。连不上的话,还是会报错
# 目录是包含config.json的目录
cache_dir = r"D:\data\model\models--uer--gpt2-chinesecluecorpussmall\snapshots\c2c0249d8a2731f269414cc3b22dff021f8e07a3"
# 加载模型和分词器
model = AutoModelForCausalLM.from_pretrained(cache_dir)
tokenizer = AutoTokenizer.from_pretrained(cache_dir)
# 使用本地模型和分词器创建文本
generator = pipeline('text-generation', model=model, tokenizer=tokenizer,
device="cpu") #用cuda的话就写cuda
output = generator("今天天气真好啊", max_length=50, num_return_sequences=1) #max_length文本最大生成长度。
print(output)

还有很多参数可以调,来实现想要的结果

output = generator("今天天气真好啊",#生成文本的输入种子文本(prompt)。模型会根据这个初始文本,生成后续
的文本max_length=50,#指定生成文本的最大长度。这里的 50 表示生成的文本最多包含 50 个标记
(tokens)num_return_sequences=1,#参数指定返回多少个独立生成的文本序列。值为 1 表示只生成并返
回一段文本。truncation=True,#该参数决定是否截断输入文本以适应模型的最大输入长度。如果 True,超
出模型最大输入长度的部分将被截断;如果 False,模型可能无法处理过长的输入,可能会报错。temperature=0.7,#该参数控制生成文本的随机性。值越低,生成的文本越保守(倾向于选择概
率较高的词);值越高,生成的文本越多样(倾向于选择更多不同的词)。0.7 是一个较为常见的设
置,既保留了部分随机性,又不至于太混乱。top_k=50,#该参数限制模型在每一步生成时仅从概率最高的 k 个词中选择下一个词。这里
top_k=50 表示模型在生成每个词时只考虑概率最高的前 50 个候选词,从而减少生成不太可能的词
的概率。top_p=0.9,#该参数(又称为核采样)进一步限制模型生成时的词汇选择范围。它会选择一组累
积概率达到 p 的词汇,模型只会从这个概率集合中采样。top_p=0.9 意味着模型会在可能性最强的
90% 的词中选择下一个词,进一步增加生成的质量。clean_up_tokenization_spaces=True#该参数控制生成的文本中是否清理分词时引入的空格。
如果设置为 True,生成的文本会清除多余的空格;如果为 False,则保留原样。默认值即将改变为
False,因为它能更好地保留原始文本的格式。
)

数据集下载和本地加载

以lansinuote/ChnSentiCorp数据集为例。

from datasets import load_dataset, load_from_disk
data_dir = "D:\data\datasets"
dataset = load_dataset("lansinuote/ChnSentiCorp", cache_dir=data_dir)
print(dataset)
# 必须要执行本地保存, 直接缓存的数据集无法满足本地磁盘加载的格式
dataset.save_to_disk(r"D:\data\datasets\ChnSentiCorp")
print("save completion")
# 目录是包含dataset_dict.json的目录
dataset = load_from_disk(r"D:\data\datasets\ChnSentiCorp")
train = dataset["train"]
for data in train:print(data)
http://www.zskr.cn/news/40011.html

相关文章:

  • 2025上海SAT线上培训机构推荐:线上课程首选“无老师国际教育”
  • Java基础加强13-集合框架、Stream流 - 指南
  • 高级语言程序第三次作业 - 102300317
  • Scaling Law至现有AI即将跌落神坛?AI大模型的“增长神话”是否正在崩塌-上篇 - 实践
  • The 2024 ICPC Asia Nanjing Regional Contest (The 3rd Universal Cup. Stage 16: Nanjing) 题解
  • 完整教程:四大名著智能可视化推演平台
  • 2025年靠谱的气体探测器专业厂家推荐,气体探测器企业全解析
  • 2025年重庆正宗陈麻花品牌口碑排名:陈建平麻花客户评价如何、性价比怎么样、价格合理吗全解析
  • Introduction to Microsoft Visual C++/MFC
  • 收藏!计算机领域除顶会外,这6大核心期刊你绝不能错过
  • 2025年沈阳编程机构权威推荐榜单:spike编程/scratch编程/python编程源头机构精选
  • Gitlab通过Token生成的用户怎么删除
  • Prometheus监控系统安装
  • 2025年诚信的PU线条厂家TOP5推荐,PU线条厂家全解析
  • 2025年代办注册公司哪家口碑好?代办注册公司找哪家?
  • 2025 年散热器厂家最新推荐榜:涵盖电子 / 插片 / 型材 / 铲齿 / 新能源等多品类,权威测评精选实力企业
  • 2025 年过滤器厂家最新推荐榜单:品牌综合实力测评发布,五大优质企业脱颖而出润滑油过滤器/自清洗过滤器/全自动除污过滤器/双联过滤器/烛式过滤器厂家推荐
  • docker学习笔记详记 - 教程
  • 浏览器共享存储导致身份标识冲突
  • 2025数证杯初赛
  • Mybatisplus 如何将已经有值的字段设置为空值null
  • 2025 年上海商用净水器租赁公司最新推荐榜,技术实力与市场口碑深度解析,助力精准选品工厂,事业单位,办公净水器租赁企业
  • 2025年尼龙拉链供货厂家权威推荐榜单:树脂拉链/金属拉链/隐形拉链源头厂家精选
  • 详细介绍:MySQL主从复制:数据同步实战指南
  • wzy
  • 分享一个自动化进行Oracle 重做日志组管理的脚本
  • 强化学习值函数与策略搜索两种方法对比和疑问解读
  • 2025qwb 线上赛wp
  • 深入解析:探索大语言模型(LLM):一文读懂通用大模型的定义、特点与分类
  • 2025年乐博智家保鲜盒直销厂家权威推荐榜单:乐博智家冰沙杯/乐博智家炒冰机/乐博智家刨冰机源头厂家精选