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

2023-10-18 01:44

本文主要是介绍【扩散模型从原理到实战】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/229366

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一