C✳CODEZ.WIN
🌐 繁體中文

Skill 多語言閱讀指南

huggingface-zerogpu用途、用法與原始來源

使用 Gradio Spaces 和 Hugging Face Spaces ZeroGPU 進行 AI 演示和 GPU 運算。在編寫或審查使用 Gradio Spaces 和 Hugging Face Spaces ZeroGPU 的程式碼時使用。@spaces.GPU正在配置python_version或者requirements.txt對於 ZeroGPU 空間,或處理 ZeroGPU 特有的程式碼約束——基於 pickle 的進程隔離,gr.State跨工作者邊界的語意,沒有torch.compile(請改用 AoTI),僅 CUDA wheel 建置(無)nvcc在建置或運行時)、大型與超大型大小以及動態持續時間的可呼叫物件。每當用戶提到 ZeroGPU 時,請務必使用此技能。@spaces.GPU或者spacesPython 套件,或遇到 ZeroGPU 特有的程式碼錯誤,例如PicklingError跨越工人邊界,illegal duration, 或者flash-attn即使用戶沒有明確要求 ZeroGPU 編碼指導,wheel 建置仍然會失敗。觸發條件import spaces或者@spaces.GPU在代碼中。

原文擷取時間:

來源儲存庫
huggingface/skills
SKILL.md
skills/huggingface-zerogpu/SKILL.md
儲存庫 Star
11,241
儲存庫最近更新
2026-10-30
能力分類
開發
最近採集時間

授權:Apache-2.0

流程片段用來協助閱讀上游說明。本頁沒有執行第三方 Skill,不屬於實測評測。

下面的用途與操作片段來自上游文件,由本站整理並翻譯,和另行標示的 Codez 編輯分析分開呈現。

這個 Skill 能做什麼

使用 Gradio Spaces 和 Hugging Face Spaces ZeroGPU 進行 AI 演示和 GPU 運算。在編寫或審查使用 Gradio Spaces 和 Hugging Face Spaces ZeroGPU 的程式碼時使用。@spaces.GPU正在配置python_version或者requirements.txt對於 ZeroGPU 空間,或處理 ZeroGPU 特有的程式碼約束——基於 pickle 的進程隔離,gr.State跨工作者邊界的語意,沒有torch.compile(請改用 AoTI),僅 CUDA wheel 建置(無)nvcc在建置或運行時)、大型與超大型大小以及動態持續時間的可呼叫物件。每當用戶提到 ZeroGPU 時,請務必使用此技能。@spaces.GPU或者spacesPython 套件,或遇到 ZeroGPU 特有的程式碼錯誤,例如PicklingError跨越工人邊界,illegal duration, 或者flash-attn即使用戶沒有明確要求 ZeroGPU 編碼指導,wheel 建置仍然會失敗。觸發條件import spaces或者@spaces.GPU在代碼中。

如何使用:上游操作流程

工藝隔離和酸洗

@spaces.GPU帶有 - 裝飾器的函數運行在由 ZeroGPU 調度器管理的獨立進程中。參數和返回值透過 pickle 序列化跨越進程邊界。只有可序列化的物件才能傳入或返回。開啟的檔案句柄、資料庫連線、鎖、lambda 表達式以及不可序列化狀態的閉包都會引發異常。PicklingError請勿直接返回 CUDA 張量。在主流程中反序列化 CUDA 張量會觸發異常。torch.cuda._lazy_init()這會阻塞 ZeroGPU。先轉換為 CPU:返回tensor.cpu()或者tensor.cpu().numpy()CPU 張量、numpy 陣列、PIL 映像和普通 Python 物件都能正常運作。

原文片段 · L169 ↗

擁抱臉 ZeroGPU

使用 ZeroGPU 硬體在 Hugging Face Spaces 上進行機器學習演示的規則和模式。涵蓋內容@spaces.GPU持續時間和配額調整、進程隔離、CUDA 可用性模型、並發安全性和 CUDA 建置約束。

原文片段 · L6 ↗

範圍

此技能適用於使用 ZeroGPU 硬體的 Gradio SDK Spaces。 Docker 和 Static Spaces 無法調度到 ZeroGPU 上,而 Streamlit 應用程式現在以 Docker Spaces 的形式運作——因此,此技能僅適用於 Gradio。有關 Gradio 的通用編碼(元件、佈局、事件監聽器),請參閱 [此處應插入相關文件]。huggingface-gradio本倉庫中的技能。權威的 ZeroGPU 文件位於:https://huggingface.co/docs/hub/spaces-zerogpu— 有關目前支援的 GPU、執行時間版本清單和層級閾值,請參閱相關文檔,所有這些內容都會隨時間而變化。

原文片段 · L10 ↗
原文片段 · python ↗
import spaces
import torch
from transformers import pipeline

pipe = pipeline("text-generation", model="...", device="cuda")

@spaces.GPU
def generate(prompt: str) -> str:
    return pipe(prompt, max_new_tokens=100)[0]["generated_text"]

環境與相依需求

請勿別針spaces在requirements.txt

太空平台自行定位spaces版本。衝突的引腳requirements.txt導致建置時 pip 解析失敗。 > 規則:不要包含spaces在requirements.txt。

原文片段 · L271 ↗

限制與結果檢查

CUDA 建置約束

HF Spaces 在純 CPU 環境下建置 Docker 映像。在 ZeroGPU 環境下,建置階段沒有 CPU 參與。nvcc因為基礎圖像是python:3.13(專用 GPU 空間使用)nvidia/cuda:*-devel-*並且有nvcc在構建時)。一個依賴 CUDA 的軟體包,其唯一分發方式是 sdist——例如 bare。flash-attn因此無法透過以下方式安裝requirements.txt在 ZeroGPU 上運作。只有預編譯的 wheel 檔案才能運作。 ZeroGPU 運作時確實有nvcc可用,從 CUDA 開發鏡像掛載/cuda-image自從2025-07(最初是為了支援AoTI而添加的)。這就是它的意義。torch.export/ AoTI 工作流程可能在內部實現@spaces.GPU電話。

原文片段 · L231 ↗

開始使用前

  1. 先核對支援的 Agent 宿主和儲存庫安裝說明。保留完整 Skill 目錄及其引用的腳本、資源和文件,只複製 SKILL.md 可能遺漏相依需求。
  2. 向 Agent 提供實際輸入、預期輸出和驗收標準。呼叫方式與可用工具取決於宿主環境,本站不假定存在通用的安裝指令。
  3. 先在暫存專案或輸入副本上試用。涉及修改檔案、遠端服務或計費資源的操作,應逐項核對後再授權。
  4. 依照原文檢查項目和自己的需求驗證輸出。成功觸發或儲存庫 Star 較高,都不能證明結果正確。

Skill 檔案與目錄格式規範 ↗

繼續閱讀原始文件

翻譯與介紹範圍

本頁從固定版本的上游 SKILL.md 整理用途與操作片段,譯文使用輔助翻譯。它不是完整手冊,也不代表經過相容性實測;使用前請核對原文及其引用檔案。

介紹依據下方列出的固定版本;目前儲存庫動態和目錄擷取時間分開呈現。

固定版本來源
閱讀原文 ↗
原文擷取時間
來源提交版本
fabc634a893f62ad5c2039830397efa35fa62715
原文 SHA-256
829659aec34224970fe7ed619729fdc7849fc5dd696e2000256c3ee0b517eff7
返回完整 Skill 目錄