Gradio Spaces

Gradio Spaces

Gradio는 입력 목록으로 모델을 실행하고 이미지, 오디오, 3D 객체 등의 형식으로 출력을 표시하는 쉽고 직관적인 인터페이스를 제공해요. Gradio는 이제 Matplotlib, Bokeh, Plotly로 데이터 시각화를 만드는 Plot 출력 컴포넌트도 있어요! 자세한 내용은 Gradio 팀의 Getting started 가이드를 참고하세요.

출처: 문서

본문

새 Space를 만들 때 SDK로 Gradio를 선택하면, README.md 파일의 YAML 블록에 sdk 속성을 gradio로 설정해 최신 버전의 Gradio로 Space를 초기화해요. Gradio 버전을 바꾸려면 sdk_version 속성을 편집하면 돼요.

Gradio 문서를 방문해 모든 기능을 배우고, Gradio 가이드에서 시작에 도움이 되는 유용한 튜토리얼을 확인하세요!

첫 Gradio Space: 핫도그 분류기

다음 섹션에서 Space 생성, 구성, 코드 배포의 기초를 배울 거예요. 사진에 핫도그가 있는지 🌭 감지하는 julien-c/hotdog-not-hotdog 모델을 데모할 Hot Dog Classifier Gradio Space를 만들 거예요.

완성된 버전은 NimaBoscarino/hotdog-gradio에서 호스팅돼요.

새 Gradio Space 만들기

새 Space를 만들고 SDK로 Gradio를 선택해 시작해요. Hugging Face Spaces는 Git 저장소라서, 커밋을 푸시하며 Space를 점진적으로(그리고 협업적으로) 작업할 수 있어요. 계속하기 전에 Repository 시작하기 가이드로 파일 생성·편집 방법을 익혀 보세요.

의존성 추가하기

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()

이 파이썬 스크립트는 🤗 Transformers pipeline으로 julien-c/hotdog-not-hotdog 모델을 불러오며, Gradio 인터페이스가 이를 사용해요. Gradio 앱은 이미지를 업로드하게 하고 핫도그인지 아닌지 분류해요. 코드를 app.py 파일에 저장한 후 App 탭을 방문하면 앱이 동작하는 걸 볼 수 있어요!

다른 웹페이지에 Gradio Space 임베드하기

Web Components 또는 HTML <iframe> 태그로 Gradio Space를 다른 웹페이지에 임베드할 수 있어요. 자세한 내용은 우리 문서 또는 Gradio 문서를 참고하세요.

더 알아보기 (Learn more)