Hugging Face Spaces

概述

Hugging Face 是一个综合平台,提供广泛的机器学习模型,特别是在自然语言处理(NLP)和计算机视觉领域。它旨在促进开放访问机器学习模型的训练、部署和使用,使开发人员和研究人员更容易访问最先进的模型。

Hugging Face 还通过其 Spaces 项目 提供应用程序和静态站点托管服务。您可以使用 Hugging Face Spaces 来渲染和托管 Quarto 网站,以此方式记录和展示您的工作。

Quarto 在 Hugging Face Spaces 中的集成是通过 Quarto 团队创建的 Docker 镜像实现的,Hugging Face 已将其作为模板轻松提供给作者使用。

要使用 Quarto 创建和发布 Hugging Face Space,您首先需要使用 Quarto 的 Docker 模板创建一个新的空间。然后,您可以编辑或替换示例内容为您自己的内容。有关此过程的更多信息,请参阅下面的 入门指南

每当您对 Hugging Face Space 进行提交更改时,都会启动一个新的构建过程,该过程会渲染并提供您的 Quarto 网站。您可以直接在 Hugging Face 用户界面中进行更改并提交。然而,通过 Hugging Face 构建预览您的更改是耗时的,因此为了更快的迭代,我们建议在本地工作并使用 quarto publish huggingface 命令。此工作流程在下面的 发布命令 中描述。

入门指南

创建新空间

要开始,您将使用 Quarto 模板创建一个新的 Hugging Face Space。

访问 Hugging Face 创建新空间网页

如果您尚未登录 Hugging Face,请先登录:

Hugging Face 登录界面的截图。

Hugging Face 登录界面

首先,为您的空间选择一个名称和许可证:

Hugging Face 空间创建界面的截图,包含三个文本框,分别标记为:所有者、空间名称和许可证。

选择空间名称和许可证的界面

如果您按照上述链接操作,您将看到“Docker”已选为空间 SDK,“Quarto”已选为 Docker 模板。如果没有,请按如下所示进行选择:

Hugging Face 选择空间 SDK 和模板的界面截图。Docker SDK 和 Quarto 模板被突出显示。

Hugging Face Spaces 创建网页界面

最后,选择用于运行空间的硬件配置,确定空间是公开还是私有,然后点击“创建空间”:

Hugging Face 界面截图,显示:一个标记为'空间硬件'的下拉菜单,两个标记为公开(已选)和私有的单选按钮,以及一个标记为'创建空间'的按钮。

选择硬件配置和空间可见性的界面

Hugging Face 随后将“构建”您的空间:

Warning

在 Docker 构建过程完成后,将空间部署到 Hugging Face 可能需要几分钟时间。 要查看您的更改,您需要做两件事:

  1. 等待您的空间状态从“构建中”变为“运行中”(这在空间上方的状态栏中可见)

  2. 按住 Shift 键并点击浏览器中的重新加载按钮,强制重新加载网页。

Hugging Face 空间中的构建日志截图。日志以开头并以结尾。

基于 Quarto 模板的新空间构建过程

当您在顶部栏中看到“运行中”时,您将知道空间已完成构建。

Hugging Face 的“运行中”徽章

构建完成后,您的空间将显示渲染的示例网站(您可能需要在浏览器中刷新页面以显示此内容):

Hugging Face 空间截图,显示标题为''的网站。

在 Hugging Face 空间中运行的 Quarto 模板网站

Quarto 的 Hugging Face 模板

您可以点击右上角的“文件”标签,查看构成模板的文件。Quarto 的 Hugging Face 模板由用于创建构建和渲染 Quarto 网站的环境的文件(Dockerfilerequirements.txt)以及网站源代码本身(位于 src/ 中)组成:

  • Dockerfile:这包含在 Hugging Face 上构建和提供 Quarto 网站的系统设置。除非您需要添加额外的系统依赖项或修改 Quarto 版本,否则您可能不需要更改此文件。

  • requirements.txt: 这是你应该包含网站所需任何Python依赖项的地方。这些依赖项会在Dockerfile构建时安装。

  • src目录包含Quarto网站的源文件。你可以包含Jupyter笔记本或Markdown(.qmd.md)文件。

  • src/_quarto.yml定义了网站的导航。如果你想添加新页面或重新组织现有页面,你需要修改此文件。

你可以直接在Hugging Face UI中编辑这些文件,但我们建议克隆你的空间,并在本地进行和预览更改,然后按照下一节所述使用发布命令。

发布命令

用于低功耗蓝牙 5.3 的 BlueNRG-LP 系统级芯片

主要特性

  • 超低功耗无线电:
    • 接收模式下电流消耗:3.2 mA(典型值)
    • 发射模式下电流消耗:3.6 mA(典型值,0 dBm 输出功率)
    • 深度睡眠模式下电流消耗:< 1 µA
  • 高性能:
    • 灵敏度:-96 dBm(典型值)
    • 输出功率:高达 +8 dBm
  • 完全符合蓝牙 5.3 核心规范
  • 工作电压范围:1.7 V 至 3.6 V
  • 集成的 DC-DC 转换器
  • 128 KB 闪存
  • 16 KB RAM
  • 丰富的外设:
    • 18 个 GPIO
    • 1 个 UART
    • 2 个 SPI
    • 2 个 I2C
    • 2 个 I2S
    • 1 个 PDM
    • 1 个 SPU
    • 1 个 QDEC
    • 1 个 TRNG
    • 1 个 WKUP
    • 1 个 PWM
  • 封装:
    • 5 mm x 5 mm QFN40

应用

  • 无线音频设备
  • 智能家居设备
  • 可穿戴设备
  • 工业传感器网络
  • 医疗保健设备

文档

开发资源

支持

购买

相关产品

  • BlueNRG-2:用于低功耗蓝牙 5.0 的系统级芯片
  • BlueNRG-M:用于低功耗蓝牙的模块

法律信息

© 2023 STMicroelectronics - 保留所有权利。

本文件所含信息可能会随时更改,恕不另行通知。STMicroelectronics 不对因使用本文件而产生的任何直接或间接损害承担责任。

本文件所含信息“按原样”提供,不作任何明示或暗示的保证。在任何情况下,STMicroelectronics 均不对任何直接、间接、偶然、特殊、惩罚性或后果性损害(包括但不限于利润损失、数据丢失、业务中断等)承担责任,即使 STMicroelectronics 已被告知可能发生此类损害。

quarto publish huggingface命令支持一种工作流程,你可以在本地进行和预览编辑,然后再发布到你的Hugging Face空间。在使用该命令之前,你需要完成一些设置

设置

要设置使用quarto publish huggingface,你应该已经:

  1. 使用Quarto的Docker模板创建了一个空间,如上所述。

然后完成以下步骤,详细说明如下:

  1. (可选) 如果你没有授权令牌,创建一个授权令牌

  2. 在本地克隆仓库

创建授权令牌

为了将结果发布到Hugging Face,quarto publish需要访问你的凭证。如果你还没有创建这样的授权令牌,请访问Hugging Face关于用户访问令牌的文档,并按照说明创建一个具有write角色的令牌。第一次运行发布命令时,你需要这个令牌。

在本地克隆仓库

你的空间的URL以及克隆仓库的URL是https://huggingface.co/spaces/<你的Hugging Face用户名>/<空间名称>。使用你喜欢的git界面,使用上述URL克隆你刚刚创建的Hugging Face空间。你也可以在你的空间中找到 > 克隆仓库下的说明。

编辑和预览

一旦你的仓库设置好了,使用你喜欢的文本编辑器对你的仓库进行更改。Quarto的Hugging Face模板在仓库的src/目录中包含一个Quarto网站。有关如何使用Quarto创建网站的信息,请参阅我们的文档

要预览你的更改,从仓库的根目录运行:

Terminal
quarto preview src

发布

当你对仓库中的结果满意时,运行:

Terminal
quarto publish huggingface

Quarto将暂存、提交并将所有必要的更改推送到Hugging Face,同时首先获取远程内容并将其与你的仓库内容合并。如果你正在处理的仓库尚未配置为接受显式的用户名和授权令牌,Quarto将在命令行中提示你输入此类信息。

完成后,Quarto将在你的默认浏览器中打开你的空间。

发布现有仓库

quarto publish huggingface命令要求origingit远程指向一个https://huggingface.co/spaces URL。如果你按照上述说明操作,这将自动发生。

如果你从一个已经配置了指向正确URL的Quarto模板的现有仓库开始工作,你可以直接使用quarto publish huggingface,而不需要创建或克隆一个新的空间。