当前位置: 首页 > news >正文

Hugging Face Spaces 介绍与使用指南

Hugging Face Spaces 是一个 免费且开箱即用AI 应用托管平台,可以直接部署 机器学习模型、数据分析工具、Web 应用,支持 Gradio、Streamlit、Docker、FastAPI 等框架。

1. Hugging Face Spaces 的优势

零成本部署:免费托管 ML 应用,无需配置服务器
支持多个框架:Gradio、Streamlit、Docker、FastAPI、Flask 等
易于分享:可以生成一个在线 URL,方便演示和协作
与 Hugging Face 生态兼容:可直接加载 transformers 模型和 datasets 数据集
GPU/CPU 选择:免费提供 CPU,付费可用 T4/A10G GPU 加速

2. 如何创建 Hugging Face Space

(1)注册 Hugging Face 账号

👉 访问 Hugging Face 官网 并注册账号。

(2)进入 Spaces

👉 访问 Hugging Face Spaces,点击 "Create a new Space"

(3)填写 Space 详情

  • Space Name:应用的名称

  • Visibility:选择 Public(公开)Private(私有)

  • SDK:选择 Gradio / Streamlit / Docker / Static(一般推荐 Gradio)

  • Hardware:选择 CPU / GPU(免费版支持 CPU,付费可用 GPU)

  • 点击 "Create Space" 创建应用

3. 使用 Gradio 部署 AI 应用

Gradio 是一个 轻量级 Python Web UI 框架,适用于 ML/DL 模型的可视化,Hugging Face 默认支持 Gradio。

(1)安装 Gradio

pip install gradio

(2)创建 app.py

app.py 中编写 Gradio 应用:

import gradio as gr
from transformers import pipeline

# 加载 Hugging Face 预训练模型(情感分析)
classifier = pipeline("sentiment-analysis")

# 定义 Gradio 预测函数
def predict_sentiment(text):
    result = classifier(text)
    return result[0]["label"]

# 创建 Gradio 界面
iface = gr.Interface(
    fn=predict_sentiment, inputs="text", outputs="text",
    title="情感分析应用",
    description="输入一段文本,分析其情感(积极/消极)。"
)

# 启动应用
iface.launch()

(3)提交代码

在 Space 根目录下创建 requirements.txt,写入:

gradio
transformers

 然后,使用 Git 提交代码:

git add .
git commit -m "Initial commit"
git push

几分钟后,Hugging Face Spaces 会自动运行应用,并生成一个 在线 URL

4. 使用 Streamlit 部署 AI 应用

Streamlit 适用于 数据可视化和交互式 AI 应用

(1)安装 Streamlit

pip install streamlit

 (2)创建 app.py

import streamlit as st
from transformers import pipeline

st.title("情感分析应用")
st.write("输入一段文本,分析其情感(积极/消极)。")

# 加载模型
classifier = pipeline("sentiment-analysis")

# 用户输入
text = st.text_area("输入文本:")

# 预测
if st.button("分析"):
    result = classifier(text)
    st.write(f"情感分类:{result[0]['label']}")

(3)提交代码

requirements.txt 添加:

streamlit
transformers

然后推送代码:

git add .
git commit -m "Add Streamlit app"
git push

几分钟后,应用即可在线运行!

5. 使用 Docker 部署自定义应用

如果需要 自定义环境,可以使用 Docker

(1)创建 Dockerfile

FROM python:3.8

WORKDIR /app
COPY requirements.txt /app/
RUN pip install -r requirements.txt

COPY app.py /app/
CMD ["python", "app.py"]

(2)提交 Docker 应用

Dockerfileapp.pyrequirements.txt 推送到 Space,即可自动部署。

6. 在 Hugging Face Spaces 启用 GPU

  • 默认 CPU 免费

  • GPU 需要 付费订阅 Pro/Enterprise

  • GPU 选项:

    • T4(16GB)👉 适合中等模型,如 BERT

    • A10G(24GB)👉 适合大型模型,如 LLaMA

    • A100(80GB)👉 适合超大模型,如 GPT-3.5

使用 GPU 方法:app.py 里将模型加载到 GPU:

import torch
from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased").to("cuda")

7. 常见问题

Q1: 为什么应用没有启动?

✅ 检查 requirements.txt 是否正确
✅ 确保 app.py 代码无误
✅ Space 部署时 会自动安装依赖,可能需要几分钟

Q2: 如何访问 API?

部署后,可以用 requests 访问:

import requests

url = "https://your-space-name.hf.space/run"
data = {"text": "I love Hugging Face!"}
response = requests.post(url, json=data)
print(response.json())

Q3: 如何私有化 Space?

创建 Space 时选择 "Private",只有授权用户可以访问。

总结

✔ Hugging Face Spaces 提供 免费 的 AI 应用托管
✔ 支持 Gradio / Streamlit / Docker,适用于不同应用场景
✔ 通过 git push 自动部署,几分钟即可生成 Web 应用
免费 CPU,付费 GPU(T4/A10G/A100),可运行大模型

🚀 Hugging Face Spaces 让 AI 应用部署更简单,适合企业和个人开发者快速上线 AI 解决方案!

http://www.dtcms.com/a/90073.html

相关文章:

  • 茱元游戏TV2.9.3 | 适配多设备的经典街机游戏集合
  • 025-lz4
  • 21.Excel自动化:如何使用 xlwings 进行编程
  • 高斯核函数
  • Unity AzureKinect AvatarController 公开变量解释
  • 银河麒麟V10-SP3-aarch64操作系统版本 docker run时报错permission denied
  • IPv4向IPv6过渡
  • GitLab 中文版17.10正式发布,27项重点功能解读【一】
  • vue-如何将组件内容作为图片生成-html2canvas
  • C语言switch语句
  • OpenGL多纹理处理
  • 本地文生图使用插件(Stable Diffusion)
  • 【JavaWeb学校Day29】
  • 【QT5 多线程示例】信号量
  • Java面试黄金宝典13
  • 有价值的面试问题
  • MTK平台 Android12-Android13 默认搜狗输入法
  • 借壹起航东风,中国工厂出海开启新征程
  • C语言的总结分享
  • 深度解析「前缀和」与「差分法」:高效算法的基石
  • B站左神算法课学习笔记(P7):图
  • 自然数k次方的前n项和通项公式
  • 23种设计模式-解释器(Interpreter)设计模式
  • html5炫酷3D数字时钟项目开发实践
  • systemd-networkd的配置文件的优先级 笔记250325
  • 【MySQL】MySQL B+树的查询数据过程是怎样的?
  • 【数据可视化艺术·进阶篇】热力图探秘:用色彩演绎场馆和景区的人流奥秘
  • 【读论文】——基于高光谱成像技术测定玉米籽粒硬度
  • 基于 arco 的 React 和 Vue 设计系统
  • 3.0 Disruptor的使用介绍(一)