Repositori ini terutama menyediakan Gradio GUI untuk pelatih Difusi Stabil Kohya. Namun, dukungan untuk OS Linux juga ditawarkan melalui kontribusi komunitas. Dukungan MacOS saat ini belum optimal, namun mungkin berfungsi jika kondisi mendukung.
GUI memungkinkan Anda mengatur parameter pelatihan dan menghasilkan serta menjalankan perintah CLI yang diperlukan untuk melatih model.
GUI Kohya
Batas File Halaman
Tidak ada modul yang disebut tkinter
Pelatihan LORA tentang TESLA V100 - Masalah Pemanfaatan GPU
Ringkasan Masalah
Solusi Potensial
Meluncurkan GUI di Windows
Meluncurkan GUI di Linux dan macOS
Peningkatan Windows
Peningkatan Linux dan macOS
jendela
Linux dan macOS
Runpod
Buruh pelabuhan
Pra-persyaratan Windows
Pengaturan Windows
Opsional: CUDNN 8.9.6.50
Pra-persyaratan Linux
Pengaturan Linux
Instal Lokasi
Instalasi manual
Templat Runpod yang sudah dibuat sebelumnya
jendela
Linux, OSX
Siapkan Docker Anda untuk dukungan GPU
Desain Dockerfile kami
Gunakan image Docker yang sudah dibuat sebelumnya
Pembuatan buruh pelabuhan lokal
build buruh pelabuhan runpod ashleyklynhans
Daftar isi
? Kolaborasi
Instalasi
Perbaikan
Memulai Layanan GUI
Default Jalur Kustom
LoRA
Contoh pembuatan gambar selama pelatihan
Pemecahan masalah
pelatihan SDXL
Kerugian yang terselubung
Ubah Riwayat
Notebook Colab ini tidak saya buat atau kelola; namun, tampaknya hal tersebut berfungsi secara efektif. Sumbernya dapat ditemukan di: https://github.com/camenduru/kohya_ss-colab.
Saya ingin mengucapkan terima kasih kepada camendutu atas kontribusinya yang berharga. Jika Anda mengalami masalah apa pun dengan notebook Colab, harap laporkan masalah tersebut di repositori mereka.
Kolaborasi | Informasi |
---|---|
kohya_ss_gui_colab |
Untuk menginstal dependensi yang diperlukan pada sistem Windows, ikuti langkah-langkah berikut:
Instal Python 3.10.11.
Selama proses instalasi, pastikan Anda memilih opsi untuk menambahkan Python ke variabel lingkungan 'PATH'.
Instal perangkat CUDA 11.8.
Instal Git.
Instal Visual Studio 2015, 2017, 2019, dan 2022 yang dapat didistribusikan ulang.
Untuk menyiapkan proyek, ikuti langkah-langkah berikut:
Buka terminal dan navigasikan ke direktori instalasi yang diinginkan.
Kloning repositori dengan menjalankan perintah berikut:
git clone --rekursif https://github.com/bmaltais/kohya_ss.git
Ubah ke direktori kohya_ss
:
cd kohya_ss
Jalankan salah satu skrip pengaturan berikut dengan menjalankan perintah berikut:
Untuk sistem yang hanya menginstal python 3.10.11:
.setup.bat
Untuk sistem yang hanya menginstal lebih dari satu rilis python:
.setup-3.10.bat
Selama langkah percepatan konfigurasi, gunakan nilai default seperti yang diusulkan selama konfigurasi kecuali Anda tahu bahwa perangkat keras Anda memerlukan sebaliknya. Jumlah VRAM pada GPU Anda tidak mempengaruhi nilai yang digunakan.
Langkah-langkah berikut bersifat opsional tetapi akan meningkatkan kecepatan pembelajaran bagi pemilik GPU NVIDIA 30X0/40X0. Langkah-langkah ini memungkinkan ukuran batch pelatihan yang lebih besar dan kecepatan pelatihan yang lebih cepat.
Jalankan .setup.bat
dan pilih 2. (Optional) Install cudnn files (if you want to use the latest supported cudnn version)
.
Untuk menginstal dependensi yang diperlukan pada sistem Linux, pastikan Anda memenuhi persyaratan berikut:
Pastikan dukungan venv
sudah diinstal sebelumnya. Anda dapat menginstalnya di Ubuntu 22.04 menggunakan perintah:
tepat instal python3.10-venv
Instal Toolkit CUDA 11.8 dengan mengikuti instruksi yang diberikan di tautan ini.
Pastikan Anda menginstal Python versi 3.10.9 atau lebih tinggi (tetapi lebih rendah dari 3.11.0) di sistem Anda.
Untuk menyiapkan proyek di Linux atau macOS, lakukan langkah-langkah berikut:
Buka terminal dan navigasikan ke direktori instalasi yang diinginkan.
Kloning repositori dengan menjalankan perintah berikut:
git clone --rekursif https://github.com/bmaltais/kohya_ss.git
Ubah ke direktori kohya_ss
:
cd kohya_ss
Jika Anda mengalami masalah izin, buat skrip setup.sh
dapat dieksekusi dengan menjalankan perintah berikut:
chmod +x ./setup.sh
Jalankan skrip pengaturan dengan menjalankan perintah berikut:
./setup.sh
Catatan: Jika Anda memerlukan opsi atau informasi tambahan tentang lingkungan runpod, Anda dapat menggunakan setup.sh -h
atau setup.sh --help
untuk menampilkan pesan bantuan.
Lokasi instalasi default di Linux adalah direktori tempat skrip berada. Jika instalasi sebelumnya terdeteksi di lokasi tersebut, pengaturan akan dilanjutkan di sana. Jika tidak, instalasi akan kembali ke /opt/kohya_ss
. Jika /opt
tidak dapat ditulisi, lokasi penggantiannya adalah $HOME/kohya_ss
. Terakhir, jika tidak ada opsi sebelumnya yang memungkinkan, instalasi akan dilakukan di direktori saat ini.
Untuk macOS dan sistem non-Linux lainnya, proses instalasi akan mencoba mendeteksi direktori instalasi sebelumnya berdasarkan tempat skrip dijalankan. Jika instalasi sebelumnya tidak ditemukan, lokasi defaultnya adalah $HOME/kohya_ss
. Anda dapat mengesampingkan perilaku ini dengan menentukan direktori instalasi khusus menggunakan opsi -d
atau --dir
saat menjalankan skrip pengaturan.
Jika Anda memilih untuk menggunakan mode interaktif, nilai default untuk layar konfigurasi percepatan adalah "Mesin ini", "Tidak Ada", dan "Tidak" untuk pertanyaan selanjutnya. Jawaban default ini sama dengan instalasi Windows.
Untuk menginstal komponen yang diperlukan untuk Runpod dan menjalankan kohya_ss, ikuti langkah-langkah berikut:
Pilih templat Runpod pytorch 2.0.1. Ini penting. Templat lain mungkin tidak berfungsi.
SSH ke Runpod.
Kloning repositori dengan menjalankan perintah berikut:
cd /ruang kerja git clone --rekursif https://github.com/bmaltais/kohya_ss.git
Jalankan skrip pengaturan:
cd kohya_ss ./setup-runpod.sh
Jalankan GUI dengan:
./gui.sh --berbagi --tanpa kepala
atau dengan ini jika Anda mengekspos 7860 secara langsung melalui konfigurasi runpod:
./gui.sh --listen=0.0.0.0 --tanpa kepala
Hubungkan ke URL publik yang ditampilkan setelah proses instalasi selesai.
Untuk menjalankan dari template Runpod yang telah dibuat sebelumnya, Anda dapat:
Buka template Runpod dengan mengklik https://runpod.io/gsc?template=ya6013lj5a&ref=w18gds2n.
Terapkan templat pada host yang diinginkan.
Setelah diterapkan, sambungkan ke Runpod di HTTP 3010 untuk mengakses GUI kohya_ss. Anda juga dapat terhubung ke auto1111 melalui HTTP 3000.
Setelah Anda menginstal Docker Desktop , CUDA Toolkit , NVIDIA Windows Driver , dan memastikan bahwa Docker Anda berjalan dengan WSL2 , Anda siap berangkat.
Berikut adalah dokumentasi resmi untuk referensi lebih lanjut.
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#nvidia-compute-software-support-on-wsl-2 https://docs.docker.com/desktop/wsl/use -wsl/#gpu-dukungan
Instal Driver GPU NVIDIA jika Anda belum menginstalnya.
https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html
Instal NVIDIA Container Toolkit dengan panduan ini.
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
Semua data pelatihan harus disimpan di subdirektori dataset
, yang dipasang ke dalam wadah di /dataset
.
Harap dicatat bahwa fungsi pemilih file tidak tersedia. Sebagai gantinya, Anda perlu memasukkan jalur folder dan jalur file konfigurasi secara manual.
TensorBoard telah dipisahkan dari proyek.
TensorBoard tidak disertakan dalam image Docker.
Tombol "Mulai TensorBoard" telah disembunyikan.
TensorBoard diluncurkan dari container berbeda seperti yang ditunjukkan di sini.
Browser tidak akan diluncurkan secara otomatis. Anda perlu membuka browser secara manual dan menavigasi ke http://localhost:7860/ dan http://localhost:6006/
Dockerfile ini telah dirancang agar mudah digunakan. Anda dapat membuang container kapan saja dan memulai ulang dengan versi kode baru.
git clone --rekursif https://github.com/bmaltais/kohya_ss.gitcd kohya_ss buruh pelabuhan menyusun -d
Untuk memperbarui sistem, lakukan docker compose down && docker compose up -d --pull always
Penting
Kloning repositori Git secara rekursif untuk memasukkan submodul:
git clone --recursive https://github.com/bmaltais/kohya_ss.git
git clone --rekursif https://github.com/bmaltais/kohya_ss.gitcd kohya_ss buruh pelabuhan menyusun -d --build
Catatan
Membangun gambar mungkin memerlukan waktu hingga 20 menit untuk selesai.
Untuk memperbarui sistem, checkout ke versi kode baru dan bangun kembali menggunakan docker compose down && docker compose up -d --build --pull always
Jika Anda menggunakan Linux, port container Docker alternatif dengan batasan lebih sedikit tersedia di sini.
Anda mungkin ingin menggunakan repositori berikut saat menjalankan runpod:
Templat Kohya_ss mandiri: https://github.com/ashleyklynhans/kohya-docker
Templat GUI Auto1111 + Kohya_ss: https://github.com/ashleyklynhans/stable-diffusion-docker
Untuk meningkatkan instalasi Anda ke versi baru, ikuti petunjuk di bawah ini.
Jika rilis baru tersedia, Anda dapat mengupgrade repositori Anda dengan menjalankan perintah berikut dari direktori root proyek:
Tarik perubahan terbaru dari repositori:
git tarik
Jalankan skrip pengaturan:
.setup.bat
Untuk meningkatkan instalasi Anda di Linux atau macOS, ikuti langkah-langkah berikut:
Buka terminal dan navigasikan ke direktori root proyek.
Tarik perubahan terbaru dari repositori:
git tarik
Segarkan dan perbarui semuanya:
./setup.sh
Untuk meluncurkan layanan GUI, Anda dapat menggunakan skrip yang disediakan atau menjalankan skrip kohya_gui.py
secara langsung. Gunakan argumen baris perintah yang tercantum di bawah ini untuk mengonfigurasi layanan yang mendasarinya.
--listen: Specify the IP address to listen on for connections to Gradio.
--username: Set a username for authentication.
--password: Set a password for authentication.
--server_port: Define the port to run the server listener on.
--inbrowser: Open the Gradio UI in a web browser.
--share: Share the Gradio UI.
--language: Set custom language
Di Windows, Anda dapat menggunakan skrip gui.ps1
atau gui.bat
yang terletak di direktori root. Pilih skrip yang sesuai dengan preferensi Anda dan jalankan di terminal, berikan argumen baris perintah yang diinginkan. Berikut ini contohnya:
gui.ps1 --listen 127.0.0.1 --server_port 7860 --inbrowser --share
atau
gui.bat --listen 127.0.0.1 --server_port 7860 --inbrowser --share
Untuk meluncurkan GUI di Linux atau macOS, jalankan skrip gui.sh
yang terletak di direktori root. Berikan argumen baris perintah yang diinginkan sebagai berikut:
gui.sh --listen 127.0.0.1 --server_port 7860 --inbrowser --share
Repositori sekarang menyediakan file konfigurasi default bernama config.toml
. File ini adalah template yang dapat Anda sesuaikan dengan kebutuhan Anda.
Untuk menggunakan file konfigurasi default, ikuti langkah-langkah berikut:
Salin file config example.toml
dari direktori root repositori ke config.toml
.
Buka file config.toml
di editor teks.
Ubah jalur dan pengaturan sesuai kebutuhan Anda.
Pendekatan ini memungkinkan Anda dengan mudah menyesuaikan konfigurasi agar sesuai dengan kebutuhan spesifik Anda untuk membuka folder default yang diinginkan untuk setiap jenis input folder/file yang didukung di GUI.
Anda dapat menentukan jalur ke config.toml Anda (atau nama lain yang Anda suka) saat menjalankan GUI. Misalnya: ./gui.bat --config c:my_config.toml
Untuk melatih LoRA, saat ini Anda dapat menggunakan kode train_network.py
. Anda dapat membuat jaringan LoRA dengan menggunakan GUI lengkap.
Setelah Anda membuat jaringan LoRA, Anda dapat menghasilkan gambar menggunakan auto1111 dengan menginstal ekstensi ini.
File prompt mungkin terlihat seperti ini, misalnya:
# prompt 1mahakarya, kualitas terbaik, (1gadis), dalam kemeja putih, tubuh bagian atas, memandang penonton, latar belakang sederhana --n kualitas rendah, kualitas terburuk, anatomi buruk, komposisi buruk, buruk, usaha rendah --w 768 --h 768 --d 1 --l 7.5 --s 28# prompt 2mahakarya, kualitas terbaik, 1anak laki-laki, dalam setelan bisnis, berdiri di jalan, melihat ke belakang --n (kualitas rendah, kualitas terburuk), anatomi buruk, komposisi buruk, buruk , usaha rendah --w 576 --h 832 --d 2 --l 5,5 --s 40
Baris yang dimulai dengan #
adalah komentar. Anda dapat menentukan opsi untuk gambar yang dihasilkan dengan opsi seperti --n
setelah perintah. Opsi berikut dapat digunakan:
--n
: Perintah negatif untuk opsi berikutnya.
--w
: Menentukan lebar gambar yang dihasilkan.
--h
: Menentukan tinggi gambar yang dihasilkan.
--d
: Menentukan benih gambar yang dihasilkan.
--l
: Menentukan skala CFG dari gambar yang dihasilkan.
--s
: Menentukan jumlah langkah dalam pembangkitan.
Pembobotan cepat seperti ( )
dan [ ]
berfungsi.
Jika Anda mengalami masalah apa pun, lihat langkah pemecahan masalah di bawah.
Jika Anda mengalami kesalahan X terkait file halaman, Anda mungkin perlu meningkatkan batas ukuran file halaman di Windows.
Jika Anda menemukan kesalahan yang menunjukkan bahwa modul tkinter
tidak ditemukan, coba instal ulang Python 3.10 di sistem Anda.
Saat melatih LORA pada TESLA V100, pengguna melaporkan penggunaan GPU yang rendah. Selain itu, terdapat kesulitan dalam menentukan GPU selain default untuk pelatihan.
Pemilihan GPU: Pengguna dapat menentukan ID GPU dalam konfigurasi pengaturan untuk memilih GPU yang diinginkan untuk pelatihan.
Meningkatkan Beban GPU: Memanfaatkan pengoptimal adamW8bit
dan meningkatkan ukuran batch dapat membantu mencapai 70-80% penggunaan GPU tanpa melebihi batas memori GPU.
Dokumentasi pada bagian ini nantinya akan dipindahkan ke dokumen terpisah.
Kerugian yang terselubung didukung di setiap skrip pelatihan. Untuk mengaktifkan kerugian yang disamarkan, tentukan opsi --masked_loss
.
Fitur ini belum sepenuhnya diuji, jadi mungkin ada bug. Jika Anda menemukan masalah apa pun, silakan buka Masalah.
Kumpulan data ControlNet digunakan untuk menentukan topeng. Gambar topeng harus berupa gambar RGB. Nilai piksel 255 di saluran R diperlakukan sebagai masker (kerugian dihitung hanya untuk piksel dengan masker), dan 0 diperlakukan sebagai non-mask. Nilai piksel 0-255 dikonversi menjadi 0-1 (yaitu, nilai piksel 128 diperlakukan sebagai setengah bobot kerugian). Lihat detail spesifikasi kumpulan data di dokumentasi LLLite.
Lihat informasi rilis.