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

2023-10-18 21:45

本文主要是介绍【扩散模型从原理到实战】Chapter2 Hugging Face简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 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. 《扩散模型从原理到实战》

这篇关于【扩散模型从原理到实战】Chapter2 Hugging Face简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/235312

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python实战之屏幕录制功能的实现

《Python实战之屏幕录制功能的实现》屏幕录制,即屏幕捕获,是指将计算机屏幕上的活动记录下来,生成视频文件,本文主要为大家介绍了如何使用Python实现这一功能,希望对大家有所帮助... 目录屏幕录制原理图像捕获音频捕获编码压缩输出保存完整的屏幕录制工具高级功能实时预览增加水印多平台支持屏幕录制原理屏幕

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统