【扩散模型从原理到实战】Chapter2 Hugging Face简介

文章目录

  • [Hugging Face的核心功能介绍](#Hugging Face的核心功能介绍)
  • [Hugging Face开源库](#Hugging Face开源库)
  • [Hugging Face开源库](#Hugging Face开源库)
  • Gradio工具介绍
  • 参考资料

Hugging Face是机器学习从业者协作和交流的平台,成立于2016年,在纽约和巴黎设有办事处,团队成员来自世界各地,远程办公。
致力于让好的机器学习能力可以为所有人使用
Hugging Face的logo:

Hugging Face的核心功能介绍

Hugging Face的核心产品是Hugging Face Hub,这是一个基于Git进行版本管理的存储库,用户可以在这里托管自己的模型、数据集,并为自己的模型加入模型卡片以介绍模型的内容和用法

模型卡片

这里以bert-base-uncased为例

卡片包含了该模型的全部相关信息,名称、分类标签、开源协议以及预印本平台arXiv.org上的论文引用、模型的变体发展、应用和局限、使用方法等

提供Auto Train功能支持用户上传数据集微调模型

推理API功能

  1. 在模型页面上直接"运行"模型的输入并得到输出结果

  2. 单击模型页面上的"Deploy"按钮,选择"Inference API"来调出示例代码

数据集

可以使用Hugging Face开源的Datasets中的方法进行加载

Spaces应用功能

助力开发者快速创建和部署一个机器学习应用

SDK支持使用Gradio、Streamlit、Docker和静态HTML

Space应用能获得Hugging Face提供的免费的两核CPU以及16GB内存的服务器

每个Space应用都有一个可以直接访问的网址,域名格式为用户名-Space应用名.hf.space

举个例子:

由微软认知服务团队创建的名为mm-react的Space应用的网址为
https://microsoft-cognitive-service-mm-react.hf.space

用户个人主页访问:https://hf.co/用户名

举个例子
https://hf.co/microsoft-cognitive-service

克隆某Space应用

通过Space应用的"Duplicate this Space"功能

克隆之后,可以在该Space应用原有配置的基础上加上自己的配置值,例如使用自己的计算服务器资源、自己的API密钥等

Hugging Face开源库

Hugging Face的核心产品是Hugging Face Hub,这是一个基于Git进行版本管理的存储库,用户可以在这里托管自己的模型、数据集,并为自己的模型加入模型卡片以介绍模型的内容和用法

模型卡片

这里以bert-base-uncased为例

卡片包含了该模型的全部相关信息,名称、分类标签、开源协议以及预印本平台arXiv.org上的论文引用、模型的变体发展、应用和局限、使用方法等

提供Auto Train功能支持用户上传数据集微调模型

推理API功能

  1. 在模型页面上直接"运行"模型的输入并得到输出结果

  2. 单击模型页面上的"Deploy"按钮,选择"Inference API"来调出示例代码

模型训练时使用的数据集

可以使用Hugging Face开源的Datasets中的方法进行加载

Spaces功能:助力开发者快速创建和部署一个机器学习应用

SDK支持使用Gradio、Streamlit、Docker和静态HTML

Space应用能获得Hugging Face提供的免费的两核CPU以及16GB内存的服务器

每个Space应用都有一个可以直接访问的网址,域名格式为用户名-Space应用名.hf.space

举个例子:由微软认知服务团队创建的名为mm-react的Space应用的网址为
https://microsoft-cognitive-service-mm-react.hf.space

用户个人主页访问:https://hf.co/用户名,举个例子,https://hf.co/microsoft-cognitive-service

克隆某Space应用

通过Space应用的"Duplicate this Space"功能

克隆之后,可以在该Space应用原有配置的基础上加上自己的配置值,例如使用自己的计算服务器资源、自己的API密钥等

Hugging Face开源库

机器学习库和工具

Transformers

帮助使用者下载和训练SOTA的预训练模型

支持PyTorch、TensorFlow和JAX,并支持框架之间的互操作

模型导出格式支持ONNX和TorchScript等

Datasets

帮助使用者加载各种数据集

Diffusers

操作扩散模型的工具箱

提供功能包括直接使用各种扩散模型完成生成任务、使用各种噪声调度器调节模型

Accelerate

运行PyTorch训练脚本

Optimum

提供了一组性能优化工具

timm

深度学习库,包含图像模型、优化器、调度器以及训练/验证脚本等内容

Tokenizers

适用于研究和生产环境的高性能分词器

Evaluate

使用数十种流行的指标对数据集和模型进行评估

Hugging Face的GitHub组织页面以及"置顶"的开源代码仓库:

Gradio工具介绍

Gradio是什么

由Hugging Face推出的一个开源的Python库,用于构建机器学习和数据科学演示以及Web应用

帮助研究者快速创建一个交互式应用

安装和运行Gradio

  1. 安装
bash 复制代码
pip install gradio
  1. 需要构建交互式应用的代码
    app.py,代码内容如下
python 复制代码
import gradio as gr

def greet(name):
	return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="text", outputs="texts")

demo.launch()
  1. 使用gradio命令运行Gradio应用脚本
gradio 复制代码
gradio app.py

结果展示:

gradio.Interface接口

功能:为任何Python函数提供用户界面

参数介绍:

fn:待创建用户界面的目标函数的名称

inputs:用于输入的组件(如"text" "image"或"audio")

outputs:用于输出的组件(如"text" "image"或"label")

inputs和outputs是根据待输入内容而变化的组件

应用部署

在创建Space应用的时候将SDK设置为Gradio,即可实现将使用Gradio构建的应用直接部署到Hugging Face Spaces上

注意

使用Gradio需要Python 3.7或更高的Python版本,这对python脚本中代码语法提出了要求

参考资料

  1. 《扩散模型从原理到实战》
相关推荐
元岳数字人小元26 分钟前
AI 数字人开发公司浅谈 虚拟数字人打造景区新服务
人工智能·人机交互·交互
哦哦~92129 分钟前
AI赋能生物医学:从临床数据到药物分子性质预测实战培
人工智能·生物医学·药物分子
GIS数据转换器32 分钟前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
虫无涯35 分钟前
本地离线大模型实战:Ollama + Llama 3.1 8B 全流程部署(适配VSCode Continue代码助手)
人工智能
Rocky Ding*1 小时前
Latent Consistency Models:一篇读懂扩散模型的少步生成核心基础知识
人工智能·深度学习·机器学习·ai作画·stable diffusion·aigc·ai-native
大山佬1 小时前
AI 边缘部署:MCU 上的轻量级目标检测,从 YOLO 到 TFLite Micro 的全链路优化
人工智能
旅僧1 小时前
Π环境部署(运行 且 无理论讲解)
学习
数睿数据无代码开发1 小时前
深度解析smardaten数据大屏:六大核心功能重塑可视化开发
人工智能·信息可视化
陈猪的杰咪1 小时前
GitHub Copilot 2026计费新规:AI Credits消耗解析与节省策略
人工智能·ai·架构·github·copilot
jushi89991 小时前
Lucas Chess R国际象棋、中国象棋、日本将棋、五子棋训练学习工具游戏软件
学习