Hub documentation

Sử dụng 🧨 diffusers trên Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Sử dụng 🧨 diffusers trên Hugging Face

Diffusers là thư viện hàng đầu cho các mô hình khuếch tán (diffusion) được huấn luyện trước tiên tiến nhất, dùng để tạo hình ảnh, âm thanh và thậm chí cả cấu trúc 3D của các phân tử. Dù bạn đang tìm một giải pháp suy luận đơn giản hay muốn tự huấn luyện mô hình khuếch tán của riêng mình, Diffusers là một bộ công cụ mô-đun hỗ trợ cả hai. Thư viện được thiết kế với trọng tâm là tính dễ dùng hơn hiệu suất, sự đơn giản hơn sự dễ dàng, và khả năng tùy chỉnh hơn các lớp trừu tượng.

Khám phá Diffusers trên Hub

Có hơn 10.000 pipeline tương thích với diffusers trên Hub, bạn có thể tìm thấy chúng bằng cách lọc ở phía bên trái của trang models. Các hệ thống diffusion thường được cấu thành từ nhiều thành phần như text encoder, UNet, VAE và scheduler. Mặc dù chúng không phải là các model độc lập, nhưng sự trừu tượng hóa pipeline giúp việc sử dụng chúng cho suy luận hoặc huấn luyện trở nên dễ dàng.

Bạn có thể tìm thấy các pipeline khuếch tán cho nhiều tác vụ khác nhau:

  • Tạo hình ảnh từ các câu lệnh văn bản tự nhiên (text-to-image).
  • Biến đổi hình ảnh bằng các prompt văn bản ngôn ngữ tự nhiên (image-to-image).
  • Tạo video từ mô tả bằng ngôn ngữ tự nhiên (text-to-video).

Bạn có thể thử trực tiếp các mô hình ngay trong trình duyệt nếu muốn kiểm tra chúng mà không cần tải xuống, nhờ vào các widget trong trình duyệt!

Các tệp trong kho Diffusers

Kho lưu trữ mô hình Diffusers chứa tất cả các thành phần con của mô hình cần thiết, chẳng hạn như autoencoder biến phân để mã hóa hình ảnh và giải mã latents, text encoder, mô hình transformer, và nhiều hơn nữa. Các thành phần con này được tổ chức theo bố cục nhiều thư mục.

Mỗi thư mục con chứa trọng số và cấu hình - khi áp dụng - cho từng thành phần, tương tự như một mô hình Transformers.

Trọng số thường được lưu dưới dạng tệp safetensors và cấu hình thường là tệp json chứa thông tin về kiến trúc mô hình.

Sử dụng các pipeline có sẵn

Tất cả các pipeline của diffusers chỉ cách một dòng lệnh là có thể sử dụng! Để chạy quá trình sinh, chúng tôi khuyến nghị luôn bắt đầu từ DiffusionPipeline:

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")

Nếu bạn muốn tải một thành phần pipeline cụ thể như UNet, bạn có thể thực hiện bằng cách:

from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet")

Chia sẻ các pipeline và mô hình của bạn

Tất cả các lớp pipeline, lớp model và lớp scheduler đều tương thích hoàn toàn với Hub. Cụ thể hơn, chúng có thể được tải từ Hub một cách dễ dàng bằng phương thức from_pretrained() và có thể được chia sẻ với người khác bằng phương thức push_to_hub().

Để biết thêm chi tiết, vui lòng xem tài liệu.

Tài nguyên bổ sung

Update on GitHub