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

news/2025/2/22 10:32:51/

文章目录

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

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

Hugging Face的核心功能介绍

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

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

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

推理API功能
image.png

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

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

数据集
image.png
可以使用Hugging Face开源的Datasets中的方法进行加载

Spaces应用功能
助力开发者快速创建和部署一个机器学习应用
SDK支持使用Gradio、Streamlit、Docker和静态HTML
Space应用能获得Hugging Face提供的免费的两核CPU以及16GB内存的服务器
image.png
每个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”功能
image.png

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

Hugging Face开源库

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

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

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

推理API功能
image.png

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

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

模型训练时使用的数据集
image.png
可以使用Hugging Face开源的Datasets中的方法进行加载

Spaces功能:助力开发者快速创建和部署一个机器学习应用
SDK支持使用Gradio、Streamlit、Docker和静态HTML
Space应用能获得Hugging Face提供的免费的两核CPU以及16GB内存的服务器
image.png
每个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”功能
image.png

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

Hugging Face开源库

机器学习库和工具

Transformers
帮助使用者下载和训练SOTA的预训练模型
支持PyTorch、TensorFlow和JAX,并支持框架之间的互操作
模型导出格式支持ONNX和TorchScript等

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

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

Accelerate
运行PyTorch训练脚本

Optimum
提供了一组性能优化工具

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

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

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

Hugging Face的GitHub组织页面以及“置顶”的开源代码仓库:
image.png

Gradio工具介绍

Gradio是什么
由Hugging Face推出的一个开源的Python库,用于构建机器学习和数据科学演示以及Web应用
帮助研究者快速创建一个交互式应用

安装和运行Gradio

  1. 安装
pip install gradio
  1. 需要构建交互式应用的代码
    app.py,代码内容如下
import gradio as grdef greet(name):return "Hello " + name + "!"demo = gr.Interface(fn=greet, inputs="text", outputs="texts")demo.launch()
  1. 使用gradio命令运行Gradio应用脚本
gradio app.py

结果展示:
image.png

gradio.Interface接口
功能:为任何Python函数提供用户界面
参数介绍:
fn:待创建用户界面的目标函数的名称
inputs:用于输入的组件(如"text" “image"或"audio”)
outputs:用于输出的组件(如"text" “image"或"label”)
inputs和outputs是根据待输入内容而变化的组件

应用部署
在创建Space应用的时候将SDK设置为Gradio,即可实现将使用Gradio构建的应用直接部署到Hugging Face Spaces上
image.png
注意
使用Gradio需要Python 3.7或更高的Python版本,这对python脚本中代码语法提出了要求

参考资料

  1. 《扩散模型从原理到实战》

http://www.ppmy.cn/news/1159590.html

相关文章

Chrome浏览器 键盘快捷键整理

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 本篇笔记整理:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 〇、前言一、常用快捷键二、分类型快捷键表(…

这应该是关于回归模型最全的总结了(附原理+代码)

本文将继续修炼回归模型算法,并总结了一些常用的除线性回归模型之外的模型,其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、随…

Java —— 运算符

目录 1. 什么是运算符 2. 算术运算符 2.1 基本四则运算符: 加减乘除模( - * / %) 2.2 增量运算符 - * %与 自增/自减运算符 -- 3. 关系运算符 4. 逻辑运算符 4.1 逻辑与 && 4.2 逻辑或|| 4.3 逻辑非 ! 4.4 短路求值 5. 位运算符 5.1 按位与 & 5.2 按位或 5.3 按位…

“Flex弹性布局、轮播图mock遍历数据和首页布局解析与实践“

目录 引言1. Flex弹性布局介绍及使用什么是Flex弹性布局?Flex容器与Flex项目Flex属性详解 2. 轮播图mock遍历数据简述轮播图的作用和意义处理mock数据的重要性使用Mock模拟数据遍历 3. 首页布局总结 引言 在现代网页开发中,灵活性和响应式布局是至关重要…

Linux性能优化--使用性能工具发现问题

9.0 概述 本章主要介绍综合运用之前提出的性能工具来缩小性能问题产生原因的范围。阅读本章后,你将能够: 启动行为异常的系统,使用Linux性能工具追踪行为异常的内核函数或应用程序。启动行为异常的应用程序,使用Linux性能工具追…

做web自动化测试遇到Chrome浏览器老是自动更新,怎么办 ? 这里提供两个解决办法 。

web自动化安装驱动安装 进行web自动化时 ,需要提前安装浏览器的驱动 ,尤其是chrome浏览器 。它的更新速度很快 ,是不是更新了新版本 。这就导致我们的驱动也要跟着变化。 1.停止自动更新 那么 ,如何关闭chrome浏览器的自动更新…

排序【七大排序】

文章目录 1. 排序的概念及引用1.1 排序的概念1.2 常见的排序算法 2. 常见排序算法的实现2.1 插入排序2.1.1基本思想:2.1.2 直接插入排序2.1.3 希尔排序( 缩小增量排序 ) 2.2 选择排序2.2.1基本思想:2.2.2 直接选择排序:2.2.3 堆排序 2.3 交换排序2.3.1冒…

【接口自动化测试入门】从0到1落地接口自动化测试

前段时间写了一系列自动化测试相关的文章,当然更多的是方法和解决问题的思路角度去阐述我的一些观点。这篇文章来聊聊新手如何从零到一落地实践接口自动化测试。 为什么要做接口测试 测试理念的演变 早些时候,软件研发交付流程大多遵循V型或W型的瀑布…