Hub documentation

Gradio Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Gradio Spaces

Gradio๋Š” ์ž…๋ ฅ ๋ชฉ๋ก์œผ๋กœ ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๊ณ  ์ด๋ฏธ์ง€, ์˜ค๋””์˜ค, 3D ๊ฐ์ฒด ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์‰ฝ๊ณ  ์ง๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Gradio๋Š” ์ด์ œ Matplotlib, Bokeh, Plotly๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” Plot output component๋„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Gradio ํŒ€์˜ Getting started ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ƒˆ๋กœ์šด Space๋ฅผ ์ƒ์„ฑํ•  ๋•Œ SDK๋กœ Gradio๋ฅผ ์„ ํƒํ•˜๋ฉด README.md ํŒŒ์ผ์˜ YAML ๋ธ”๋ก์—์„œ sdk ์†์„ฑ์„ gradio๋กœ ์„ค์ •ํ•˜์—ฌ ์ตœ์‹  ๋ฒ„์ „์˜ Gradio๋กœ Space๊ฐ€ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. Gradio ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด sdk_version ์†์„ฑ์„ ํŽธ์ง‘ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Gradio ๋ฌธ์„œ์—์„œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ , ์‹œ์ž‘์„ ๋•๋Š” ์œ ์šฉํ•œ ํŠœํ† ๋ฆฌ์–ผ์„ ๋‹ด์€ Gradio Guides๋ฅผ ํ™•์ธํ•ด ๋ณด์„ธ์š”!

์ฒซ ๋ฒˆ์งธ Gradio Space: ํ•ซ๋„๊ทธ ๋ถ„๋ฅ˜๊ธฐ

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” Space๋ฅผ ๋งŒ๋“ค๊ณ , ์„ค์ •ํ•˜๋ฉฐ, ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. Gradio๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Hot Dog Classifier Space๋ฅผ ๋งŒ๋“ค๊ณ , ์ฃผ์–ด์ง„ ์ด๋ฏธ์ง€์— ํ•ซ๋„๊ทธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” julien-c/hotdog-not-hotdog ๋ชจ๋ธ์„ ๋ฐ๋ชจ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ๐ŸŒญ

์™„์„ฑ๋œ ๋ฒ„์ „์€ NimaBoscarino/hotdog-gradio์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด Gradio Space ๋งŒ๋“ค๊ธฐ

์ƒˆ๋กœ์šด Space๋ฅผ ์ƒ์„ฑํ•˜๊ณ  SDK๋กœ Gradio๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. Hugging Face Spaces๋Š” Git ์ €์žฅ์†Œ์ด๋ฏ€๋กœ ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ•˜์—ฌ Space๋ฅผ ์ ์ง„์ ์œผ๋กœ(๊ทธ๋ฆฌ๊ณ  ํ˜‘์—…ํ•˜์—ฌ) ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜๊ธฐ ์ „์— ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ํŽธ์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด Getting Started with Repositories ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด ๋ณด์„ธ์š”.

์˜์กด์„ฑ์„ ์ถ”๊ฐ€

Hot Dog Classifier์—์„œ๋Š” ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๐Ÿค— Transformers pipeline์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ๋จผ์ € ๋ช‡ ๊ฐ€์ง€ ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์ €์žฅ์†Œ์— requirements.txt ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , ์•„๋ž˜ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค:

transformers
torch

Spaces ๋Ÿฐํƒ€์ž„์ด ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜๋Š” ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค!

Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ

Gradio ์•ฑ์„ ๋งŒ๋“ค๋ ค๋ฉด ์ €์žฅ์†Œ์— app.py๋ผ๋Š” ์ƒˆ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

import gradio as gr
from transformers import pipeline

pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")

def predict(input_img):
    predictions = pipeline(input_img)
    return input_img, {p["label"]: p["score"] for p in predictions} 

gradio_app = gr.Interface(
    predict,
    inputs=gr.Image(label="Select hot dog candidate", sources=['upload', 'webcam'], type="pil"),
    outputs=[gr.Image(label="Processed Image"), gr.Label(label="Result", num_top_classes=2)],
    title="Hot Dog? Or Not?",
)

if __name__ == "__main__":
    gradio_app.launch()

์ด Python ์Šคํฌ๋ฆฝํŠธ๋Š” Gradio ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” julien-c/hotdog-not-hotdog ๋ชจ๋ธ์„ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ๐Ÿค— Transformers pipeline์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Gradio ์•ฑ์€ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๋„๋ก ์š”๊ตฌํ•˜๋ฉฐ, ์—…๋กœ๋“œ๋œ ์ด๋ฏธ์ง€๋ฅผ hot dog ๋˜๋Š” not hot dog๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ app.py ํŒŒ์ผ๋กœ ์ €์žฅํ•œ ํ›„ App ํƒญ์„ ๋ฐฉ๋ฌธํ•˜์—ฌ ์•ฑ์„ ์‹คํ–‰ํ•˜๋Š” ๋ชจ์Šต์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”!

๋‹ค๋ฅธ ์›นํŽ˜์ด์ง€์— Gradio Spaces ์ž„๋ฒ ๋“œ

Web Components ๋˜๋Š” HTML <iframe> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์›นํŽ˜์ด์ง€์— Gradio Space๋ฅผ ์ž„๋ฒ ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฌธ์„œ ๋˜๋Š” Gradio ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Update on GitHub