Gradio의 Interface
는 주요한 상위 클래스이다.
Interface
클래스를 사용하면 함수와 ML 모델에 대한 GUI를 생성할 수 있다.
app = gr.Interface(fn=user_greeting, inputs="text", outputs="text")
#run the app
app.launch()
위에서 정의한 애플리케이션에서 Interface
클래스는 fn
, inputs
, outputs
등 세 가지 필수 매개변수를 가지고 있음을 알 수 있다.
Fn은 Gradio 인터페이스로 래핑한 임의의 함수 또는 ML 모델이다.
이 함수는 하나 이상의 매개변수를 받아들이고 하나 이상의 값을 반환한다:
text
, image
, 또는 mic
과 같은 여러 사전 제공 구성 요소를 제공한다.fn
에서 지정한 매개변수의 수와 일치해야 한다.None
으로 설정되면 출력 구성 요소만 표시된다.image
, text
, 또는 label
과 같은 여러 사전 제공 출력 구성 요소를 제공한다.fn
이 출력하는 값의 수와 일치해야 한다.None
으로 설정되면 입력 구성 요소만 표시된다.추가 매개변수와 해당 기능에 대해서는 Gradio 문서를 참조하자.
여러 인터페이스를 생성한 경우, Gradio는 인터페이스를 결합하기 위해 TabbedInterface
, Parallel
, Series
와 같은 클래스를 제공한다.
예를 들어, Welcome 애플리케이션을 기반으로 또 다른 임의의 함수를 정의하고 TabbedInterface
를 사용하여 인터페이스를 결합할 수 있다.
import gradio as gr
title = "Multiple Interfaces"
#앱 1
def user_greeting(name):
return "안녕하세요! " + name + "님, Gradio 애플리케이션에 오신 것을 환영합니다!😎"
#앱 2
def user_help(do):
return "오늘은 " + do + "를 할 예정입니다. 멋진 선택이에요!"
#인터페이스 1
app1 = gr.Interface(fn=user_greeting, inputs="text", outputs="text")
#인터페이스 2
app2 = gr.Interface(fn=user_help, inputs="text", outputs="text")
demo = gr.TabbedInterface([app1, app2], ["환영", "할 일"])
demo.launch()