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



    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
    1. 需要构建交互式应用的代码
      app.py,代码内容如下
    import gradio as gr
    
    def greet(name):
    	return "Hello " + name + "!"
    
    demo = gr.Interface(fn=greet, inputs="text", outputs="texts")
    
    demo.launch()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    1. 使用gradio命令运行Gradio应用脚本
    gradio app.py
    
    • 1

    结果展示:
    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. 《扩散模型从原理到实战》
  • 相关阅读:
    DERT:End-to-End Object Detection with Transformers
    【第26天】给定 n 个元素的升序数组nums,求实现一个函数在nums中寻找target的下标 | 初识二分查找
    ubuntu在PowerShell的vi编辑器蓝色注释看不见
    数据结构之队列(源代码➕图解➕习题)
    【POJ No. 3630】 电话表 Phone List
    verilog刷题笔记
    比尔盖茨:人工智能将彻底改变人们使用电脑的方式并颠覆软件行业
    MySQL基础知识整理
    Linux多线程(信号量与环形队列)
    【大数据毕设】基于Hadoop的招聘网站可视化的设计与实现(一)
  • 原文地址:https://blog.csdn.net/m0_61819793/article/details/133895097