Diffusers documentation
Tổng quan
Tổng quan
🤗 Diffusers cung cấp một bộ các script huấn luyện để bạn tự huấn luyện các mô hình khuếch tán của riêng mình. Bạn có thể tìm thấy tất cả các script huấn luyện của chúng tôi trong diffusers/examples.
Mỗi script huấn luyện là:
- Tự chứa: script huấn luyện không phụ thuộc vào bất kỳ tệp cục bộ nào, và tất cả các gói cần thiết để chạy script được cài đặt từ tệp
requirements.txt. - Dễ dàng tùy chỉnh: các script huấn luyện là ví dụ về cách huấn luyện một mô hình khuếch tán cho một tác vụ cụ thể và sẽ không hoạt động ngay lập tức cho mọi kịch bản huấn luyện. Bạn có thể sẽ cần điều chỉnh script huấn luyện cho trường hợp sử dụng cụ thể của mình. Để hỗ trợ bạn, chúng tôi đã công khai hoàn toàn mã tiền xử lý dữ liệu và vòng lặp huấn luyện để bạn có thể sửa đổi cho mục đích sử dụng của riêng mình.
- Dễ tiếp cận cho người mới: các script huấn luyện được thiết kế để dễ tiếp cận và dễ hiểu cho người mới bắt đầu, thay vì bao gồm các phương pháp tiên tiến nhất để đạt được kết quả tốt nhất và cạnh tranh nhất. Bất kỳ phương pháp huấn luyện nào mà chúng tôi coi là quá phức tạp đều được cố tình loại bỏ.
- Mục đích đơn lẻ: mỗi script huấn luyện được thiết kế rõ ràng chỉ cho một nhiệm vụ duy nhất để đảm bảo tính dễ đọc và dễ hiểu.
Bộ tập hợp các script huấn luyện hiện tại của chúng tôi bao gồm:
| Huấn luyện | Hỗ trợ SDXL | Hỗ trợ LoRA |
|---|---|---|
| sinh ảnh không điều kiện | ||
| text-to-image | 👍 | 👍 |
| textual inversion | ||
| DreamBooth | 👍 | 👍 |
| ControlNet | 👍 | |
| InstructPix2Pix | 👍 | |
| Custom Diffusion | ||
| T2I-Adapters | 👍 | |
| Kandinsky 2.2 | 👍 |
Các ví dụ này được chủ động bảo trì, vì vậy hãy thoải mái mở một issue nếu chúng không hoạt động như mong đợi. Nếu bạn cảm thấy cần bổ sung một ví dụ huấn luyện khác, chúng tôi rất hoan nghênh bạn khởi tạo một Feature Request để thảo luận ý tưởng tính năng của bạn với chúng tôi và xem liệu nó có đáp ứng các tiêu chí của chúng tôi về việc tự chứa, dễ chỉnh sửa, thân thiện với người mới bắt đầu và chỉ phục vụ một mục đích duy nhất hay không.
Cài đặt
Hãy đảm bảo bạn có thể chạy thành công các phiên bản mới nhất của các script mẫu bằng cách cài đặt thư viện từ mã nguồn trong một môi trường ảo mới:
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .Sau đó, điều hướng đến thư mục của script huấn luyện (ví dụ, DreamBooth) và cài đặt tệp requirements.txt. Một số script huấn luyện có tệp yêu cầu riêng cho SDXL hoặc LoRA. Nếu bạn đang sử dụng một trong những script này, hãy đảm bảo cài đặt tệp yêu cầu tương ứng của nó.
cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txtĐể tăng tốc độ huấn luyện và giảm mức sử dụng bộ nhớ, chúng tôi khuyến nghị:
- sử dụng PyTorch 2.0 trở lên để tự động dùng scaled dot product attention trong quá trình huấn luyện (bạn không cần thay đổi bất kỳ phần nào trong mã huấn luyện)
- cài đặt xFormers để bật cơ chế chú ý tiết kiệm bộ nhớ