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 cung cấp một giao diện dễ dàng và trực quan để chạy một mô hình từ một danh sách các đầu vào và hiển thị các đầu ra dưới các định dạng như hình ảnh, âm thanh, đối tượng 3D và nhiều hơn nữa. Gradio hiện thậm chí còn có thành phần Plot output để tạo các trực quan hóa dữ liệu với Matplotlib, Bokeh và Plotly! Để biết thêm chi tiết, hãy xem hướng dẫn Bắt đầu từ nhóm Gradio.

Việc chọn Gradio làm SDK khi tạo một Space mới sẽ khởi tạo Space của bạn với phiên bản Gradio mới nhất bằng cách đặt thuộc tính sdk thành gradio trong khối YAML của tệp README.md. Nếu bạn muốn thay đổi phiên bản Gradio, bạn có thể chỉnh sửa thuộc tính sdk_version.

Truy cập tài liệu Gradio để tìm hiểu đầy đủ về các tính năng của nó và xem Các hướng dẫn Gradio để có một số bài học hữu ích giúp bạn bắt đầu!

Space Gradio đầu tiên của bạn: Bộ phân loại xúc xích

Trong các phần tiếp theo, bạn sẽ học các kiến thức cơ bản về việc tạo một Space, cấu hình nó và triển khai mã của bạn lên đó. Chúng ta sẽ tạo một Space Hot Dog Classifier với Gradio để trình diễn mô hình julien-c/hotdog-not-hotdog, có khả năng phát hiện xem một bức ảnh cho trước có chứa xúc xích 🌭 hay không

Bạn có thể tìm thấy phiên bản hoàn chỉnh của dự án này được lưu trữ tại NimaBoscarino/hotdog-gradio.

Tạo một Space Gradio mới

Chúng ta sẽ bắt đầu bằng cách tạo một Space hoàn toàn mới và chọn Gradio làm SDK. Hugging Face Spaces là các kho Git, nghĩa là bạn có thể làm việc trên Space của mình theo từng bước (và hợp tác) bằng cách đẩy các commit. Hãy xem hướng dẫn Bắt đầu với Repositories để tìm hiểu cách tạo và chỉnh sửa các tệp trước khi tiếp tục.

Thêm các phụ thuộc

Đối với Hot Dog Classifier, chúng ta sẽ sử dụng 🤗 Transformers pipeline để dùng mô hình, vì vậy trước tiên cần cài đặt một số thư viện phụ thuộc. Bạn có thể thực hiện điều này bằng cách tạo tệp requirements.txt trong kho lưu trữ của mình và thêm các phụ thuộc sau vào đó:

transformers
torch

Trình chạy Spaces sẽ tự động cài đặt các phụ thuộc!

Tạo giao diện Gradio

Để tạo ứng dụng Gradio, hãy tạo một tệp mới trong kho có tên là app.py và thêm mã sau:

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

Tệp Python này sử dụng 🤗 Transformers pipeline để nạp mô hình julien-c/hotdog-not-hotdog, được dùng bởi giao diện Gradio. Ứng dụng Gradio sẽ yêu cầu bạn tải lên một hình ảnh, sau đó phân loại nó là hot dog hoặc not hot dog. Sau khi bạn đã lưu mã vào tệp app.py, hãy truy cập tab App để xem ứng dụng của bạn hoạt động!

Nhúng Gradio Spaces vào các trang web khác

Bạn có thể nhúng một Gradio Space vào các trang web khác bằng cách sử dụng Web Components hoặc thẻ HTML <iframe>. Xem tài liệu của chúng tôi hoặc tài liệu Gradio để biết thêm chi tiết.

Update on GitHub