Cara Menjalankan Difusi Stabil Secara Lokal Dengan GUI di Windows
Diterbitkan: 2022-09-18Anda dapat menginstal Stable Diffusion secara lokal di PC Anda, tetapi proses tipikal melibatkan banyak pekerjaan dengan baris perintah untuk menginstal dan menggunakan. Untungnya bagi kami, komunitas Difusi Stabil telah memecahkan masalah itu. Berikut cara menginstal versi Difusi Stabil yang berjalan secara lokal dengan antarmuka pengguna grafis!
Apa itu Difusi Stabil?
Apa yang Anda Butuhkan untuk Menjalankan Versi Difusi Stabil Ini?
Cara Menginstal Difusi Stabil dengan GUI
Instal Python Pertama
Instal Git dan Unduh Repo GitHub
Unduh Semua Pos Pemeriksaan
Cara Menghasilkan Gambar Menggunakan Difusi Stabil dengan GUI
Cara Menyamarkan Gambar yang Anda Buat ke Inpaint
Cara Memperbaiki Kesalahan "CUDA Out Of Memory"
Apa itu Difusi Stabil?
Difusi Stabil adalah model AI yang dapat menghasilkan gambar dari perintah teks, atau memodifikasi gambar yang ada dengan perintah teks, seperti MidJourney atau DALL-E 2. Ini pertama kali dirilis pada Agustus 2022 oleh Stability.ai. Ini memahami ribuan kata yang berbeda dan dapat digunakan untuk membuat hampir semua gambar yang dapat disulap oleh imajinasi Anda dalam hampir semua gaya.
Ada dua perbedaan penting yang membedakan Difusi Stabil dari sebagian besar generator seni AI populer lainnya, meskipun:
- Ini dapat dijalankan secara lokal di PC Anda
- Ini adalah proyek sumber terbuka
Poin terakhir adalah benar-benar masalah penting di sini. Secara tradisional, Difusi Stabil diinstal dan dijalankan melalui antarmuka baris perintah. Ini berhasil, tetapi bisa menjadi kikuk, tidak intuitif, dan ini merupakan penghalang masuk yang signifikan bagi orang-orang yang seharusnya tertarik. Namun, karena ini adalah proyek open source, komunitas dengan cepat membuat antarmuka pengguna untuknya dan mulai menambahkan augmentasi mereka sendiri, termasuk pengoptimalan untuk meminimalkan penggunaan video ram (VRAM) dan membangun upscaling dan masking.
Apa yang Anda Butuhkan untuk Menjalankan Versi Difusi Stabil Ini?
Versi Difusi Stabil ini adalah cabang — cabang — dari repositori utama (repo) yang dibuat dan dikelola oleh Stability.ai. Ini memiliki antarmuka pengguna grafis (GUI) — membuatnya lebih mudah digunakan daripada Difusi Stabil biasa, yang hanya memiliki antarmuka baris perintah — dan penginstal yang akan menangani sebagian besar pengaturan secara otomatis.
TERKAIT: Cara Menjalankan Difusi Stabil di PC Anda untuk Menghasilkan Gambar AI
Peringatan: Seperti biasa, berhati-hatilah dengan garpu perangkat lunak pihak ketiga yang Anda temukan di GitHub. Kami telah menggunakan ini untuk sementara waktu sekarang tanpa masalah, dan begitu pula ribuan lainnya, jadi kami cenderung mengatakan itu aman. Untungnya, kode dan perubahan di sini kecil dibandingkan dengan beberapa cabang proyek sumber terbuka.
Fork ini juga berisi berbagai pengoptimalan yang memungkinkannya berjalan di PC dengan RAM lebih sedikit, peningkatan built-in dan kemampuan wajah menggunakan GFPGAN, ESRGAN, RealESRGAN, dan CodeFormer, dan masking. Masking adalah masalah besar — ini memungkinkan Anda untuk secara selektif menerapkan pembuatan gambar AI ke bagian tertentu dari gambar tanpa mendistorsi bagian lain, sebuah proses yang biasanya disebut inpainting.
- Minimal 10 gigabyte gratis di hard drive Anda
- GPU NVIDIA dengan RAM 6 GB (meskipun Anda mungkin dapat membuat 4 GB berfungsi)
- PC yang menjalankan Windows 11, Windows 10, Windows 8.1, atau Windows 8
- Repo GitHub WebUI, oleh AUTOMATIC1111
- Python 3.10.6 (Versi yang lebih baru dan sebagian besar versi yang lebih lama juga akan baik-baik saja)
- Pos Pemeriksaan Resmi Difusi Stabil (Perhatikan pos pemeriksaan v1.5 pada akhir September!)
- Pos Pemeriksaan GFPGAN v1.3 (v1.4 mungkin juga berfungsi)
- Model ESRGAN tambahan apa pun yang mungkin Anda inginkan. Anda dapat menggunakan sebanyak atau sesedikit yang Anda inginkan.
Cara Menginstal Difusi Stabil dengan GUI
Proses instalasi telah disederhanakan secara signifikan, tetapi masih ada beberapa langkah yang perlu Anda lakukan secara manual sebelum installer dapat digunakan.
Instal Python Pertama
Hal pertama yang harus Anda lakukan adalah menginstal versi Python, 3.10.6, yang direkomendasikan oleh penulis repo. Buka tautan itu, gulir ke bagian bawah halaman, dan klik "Penginstal Windows (64-Bit)."
Klik executable yang Anda unduh dan ikuti petunjuknya. Jika Anda sudah menginstal Python (dan Anda pasti sudah melakukannya), cukup klik “Upgrade.” Jika tidak, ikuti petunjuk yang disarankan.
Catatan: Pastikan Anda menambahkan Python 3.10.6 ke PATH jika Anda mendapatkan opsi untuk itu.
Instal Git dan Unduh Repo GitHub
Anda perlu mengunduh dan menginstal Git di Windows sebelum penginstal Stable Diffusion dapat dijalankan. Cukup unduh Git 64-bit yang dapat dieksekusi, jalankan, dan gunakan pengaturan yang disarankan kecuali Anda memiliki sesuatu yang spesifik dalam pikiran.
TERKAIT: Cara Menginstal Git di Windows
Selanjutnya, Anda perlu mengunduh file dari repo GitHub. Klik tombol "Kode" hijau, lalu klik "Unduh ZIP" di bagian bawah menu.
Buka file ZIP di File Explorer atau program pengarsipan file pilihan Anda, lalu ekstrak konten di mana pun Anda inginkan. Ingatlah bahwa folder adalah tempat Anda harus pergi untuk menjalankan Difusi Stabil. Contoh ini mengekstraknya ke direktori C:\, tetapi itu tidak penting.
Catatan: Pastikan Anda tidak secara tidak sengaja menyeret “stable-diffusion-webui-master” ke folder lain daripada ruang kosong — jika Anda melakukannya, folder tersebut akan jatuh ke folder tersebut, bukan folder induk yang Anda maksud.
Unduh Semua Pos Pemeriksaan
Ada beberapa pos pemeriksaan yang Anda perlukan agar ini berfungsi. Yang pertama dan terpenting adalah Stable Diffusion Checkpoints. Anda perlu membuat akun untuk mengunduh pos pemeriksaan, tetapi tidak banyak yang diperlukan untuk akun tersebut — yang mereka butuhkan hanyalah nama dan alamat email, dan Anda siap melakukannya.
Catatan: Unduhan pos pemeriksaan adalah beberapa gigabyte. Jangan berharap itu dilakukan secara instan.
Copy dan paste “sd-v1-4.ckpt” ke folder “stable-diffusion-webui-master” dari bagian sebelumnya, lalu klik kanan “sd-v1-4.ckpt” dan tekan rename. Ketik "model.ckpt" ke dalam bidang teks dan tekan Enter. Pastikan itu adalah "model.ckpt" — ini tidak akan berfungsi sebaliknya.
Catatan: Fungsi ganti nama adalah ikon di Windows 11.
Anda juga perlu mengunduh pos pemeriksaan GFPGAN. Penulis repo yang kami gunakan memanggil pos pemeriksaan GFPGAN v1.3, tetapi Anda mungkin dapat menggunakan v1.4 jika Anda ingin mencobanya. Gulir ke bawah halaman, lalu klik "model V1.3."
Tempatkan file tersebut, “GFPGANv1.3.pth,” ke dalam folder “stable-diffusion-webui-master” seperti yang Anda lakukan dengan file “sd-v1-4.ckpt”, tetapi jangan rename. Folder "stable-diffusion-webui-master" sekarang harus berisi file-file ini:
Anda juga dapat mengunduh pos pemeriksaan ESRGAN sebanyak yang Anda inginkan. Mereka biasanya dikemas sebagai file ZIP. Setelah mengunduh satu, buka file ZIP, lalu ekstrak file “.pth” ke dalam folder “ESRGAN”. Berikut ini contohnya:
Model ESRGAN cenderung menyediakan fungsionalitas yang lebih spesifik, jadi pilihlah pasangan yang menarik bagi Anda.
Sekarang, Anda hanya perlu mengklik dua kali file “webui-user.bat”, yang terletak di folder “stable-diffusion-webui-master” utama. Jendela konsol akan muncul dan mulai mengambil semua file penting lainnya, membangun lingkungan Python, dan menyiapkan antarmuka pengguna web. Ini akan terlihat seperti ini:
Catatan: Harapkan saat pertama kali Anda menjalankan ini memakan waktu setidaknya beberapa menit. Perlu mengunduh banyak hal dari Internet. Jika tampaknya hang untuk waktu yang lama pada satu langkah, coba pilih jendela konsol dan tekan tombol Enter.
Setelah selesai, konsol akan menampilkan:
Berjalan di URL lokal: http://127.0.0.1:7860 Untuk membuat tautan publik, setel `share=True` di `launch()`
TERKAIT: Apa itu Alamat IP 127.0.0.1, dan Bagaimana Anda Menggunakannya?
Cara Menghasilkan Gambar Menggunakan Difusi Stabil dengan GUI
Baiklah, Anda telah menginstal varian WebUI dari Difusi Stabil, dan konsol Anda memberi tahu Anda bahwa itu "berjalan di URL lokal: http://127.0.0.1:7860."
Catatan: Apa sebenarnya artinya, apa yang terjadi? 127.0.0.1 adalah alamat localhost — alamat IP yang diberikan komputer Anda sendiri. Versi Difusi Stabil ini membuat server di PC lokal Anda yang dapat diakses melalui alamat IP-nya sendiri, tetapi hanya jika Anda terhubung melalui port yang benar: 7860.
Buka browser Anda, masukkan "127.0.0.1:7860" atau "localhost:7860" ke bilah alamat, dan tekan Enter. Anda akan melihat ini di tab txt2img:
Jika Anda pernah menggunakan Difusi Stabil sebelumnya, pengaturan ini akan familier bagi Anda, tetapi berikut adalah gambaran singkat tentang arti opsi terpenting:
- Prompt: Deskripsi tentang apa yang ingin Anda buat.
- Tombol Roll: Menerapkan gaya artistik acak ke prompt Anda.
- Langkah Pengambilan Sampel: Berapa kali gambar akan disempurnakan sebelum Anda menerima output. Lebih banyak umumnya lebih baik, tetapi ada hasil yang semakin berkurang.
- Metode Pengambilan Sampel: Matematika dasar yang mengatur bagaimana pengambilan sampel ditangani. Anda dapat menggunakan salah satu dari ini, tetapi euler_a dan PLMS tampaknya menjadi opsi yang paling populer. Anda dapat membaca lebih lanjut tentang PLMS di makalah ini.
- Pulihkan Wajah: Menggunakan GFPGAN untuk mencoba memperbaiki wajah yang aneh atau terdistorsi.
- Batch Count: Jumlah gambar yang akan dihasilkan.
- Ukuran Batch: Jumlah “batch”. Pertahankan ini pada 1 kecuali Anda memiliki VRAM dalam jumlah besar.
- Skala CFG: Seberapa cermat Difusi Stabil akan mengikuti perintah yang Anda berikan. Angka yang lebih besar berarti mengikutinya dengan sangat hati-hati, sedangkan angka yang lebih rendah memberinya lebih banyak kebebasan berkreasi.
- Lebar: Lebar gambar yang ingin Anda buat.
- Tinggi: Lebar gambar yang ingin Anda buat.
- Seed: Angka yang memberikan input awal untuk generator angka acak. Biarkan di -1 untuk menghasilkan benih baru secara acak.
Mari buat lima gambar berdasarkan perintah: “sapi dataran tinggi di hutan ajaib, fotografi film 35mm, tajam” dan lihat apa yang kita dapatkan menggunakan sampler PLMS, 50 langkah pengambilan sampel, dan skala CFG 5.
Tip: Anda selalu dapat menekan tombol "Interrupt" untuk menghentikan pembuatan jika pekerjaan Anda memakan waktu terlalu lama.
Jendela keluaran akan terlihat seperti ini:
Catatan: Gambar Anda akan berbeda.
Gambar atas-tengah adalah yang akan kita gunakan untuk mencoba masking nanti. Sebenarnya tidak ada alasan untuk pilihan khusus ini selain preferensi pribadi. Ambil gambar apa pun yang Anda suka.
Pilih, lalu klik "Kirim ke Inpaint."
Cara Menyamarkan Gambar yang Anda Buat ke Inpaint
Inpainting adalah fitur yang fantastis. Biasanya Difusi Stabil digunakan untuk membuat seluruh gambar dari prompt, tetapi inpainting memungkinkan Anda secara selektif menghasilkan (atau meregenerasi) bagian gambar. Ada dua opsi penting di sini: inpaint masked, inpaint not masked.
Inpaint masked akan menggunakan prompt untuk menghasilkan citra di dalam area yang Anda sorot, sedangkan inpaint not masked akan melakukan kebalikannya — hanya area yang Anda mask yang akan dipertahankan.
Kami akan membahas sedikit tentang topeng Inpaint terlebih dahulu. Seret mouse Anda pada gambar dengan menahan klik kiri dan Anda akan melihat lapisan putih muncul di atas gambar Anda. Gambarlah bentuk area yang ingin Anda ganti, dan pastikan untuk mengisinya seluruhnya. Anda tidak melingkari suatu wilayah, Anda menutupi seluruh wilayah.
Tips: Jika Anda hanya menambahkan sesuatu ke gambar yang sudah ada, akan sangat membantu jika mencoba membuat bidang bertopeng sejajar dengan perkiraan bentuk yang Anda coba buat. Menutupi bentuk segitiga saat Anda menginginkan lingkaran, misalnya, adalah kontra-produktif.
Mari kita ambil contoh sapi dataran tinggi kita dan beri dia topi koki. Tutupi suatu wilayah kira-kira berbentuk topi Koki, dan pastikan untuk mengatur "Ukuran Batch" menjadi lebih dari 1. Anda mungkin perlu beberapa untuk mendapatkan hasil yang ideal.
Selain itu, Anda harus memilih “Latent Noise” daripada “Fill”, “Original”, atau “Latent Nothing”. Ini cenderung menghasilkan hasil terbaik ketika Anda ingin menghasilkan objek yang sama sekali baru dalam sebuah adegan.
Catatan: Anda akan melihat tepi kiri topi telah menghapus bagian tanduknya. Itu terjadi karena pengaturan "Mask Blur" agak terlalu tinggi. Jika Anda melihat hal-hal seperti itu di gambar Anda, coba kurangi nilai "Mask Blur".
Baiklah — mungkin topi koki bukanlah pilihan yang tepat untuk sapi dataran tinggi Anda. Sapi dataran tinggi Anda lebih menyukai suasana awal abad ke-20, jadi mari beri dia topi bowler.
Bagaimana positif necis.
Tentu saja, Anda juga bisa melakukan kebalikannya dengan Inpaint Not Masked. Secara konseptual mirip, kecuali wilayah yang Anda tentukan dibalik. Alih-alih menandai wilayah yang ingin Anda ubah, Anda menandai wilayah yang ingin Anda pertahankan. Ini sering berguna ketika Anda ingin memindahkan objek kecil ke latar belakang yang berbeda.
Cara Memperbaiki Kesalahan "CUDA Out Of Memory"
Semakin besar gambar yang Anda buat, semakin banyak memori video yang diperlukan. Hal pertama yang harus Anda coba adalah menghasilkan gambar yang lebih kecil. Difusi Stabil menghasilkan gambar yang bagus — meskipun sangat berbeda — pada 256×256.
Jika Anda ingin membuat gambar yang lebih besar di komputer yang tidak memiliki masalah dengan gambar 512x512, atau Anda mengalami berbagai kesalahan "Memori Habis", ada beberapa perubahan pada konfigurasi yang akan membantu.
Buka "webui-user.bat" di Notepad, atau editor teks biasa lainnya yang Anda inginkan. Cukup klik kanan “webui-user.bat,” klik “Edit,” lalu pilih Notepad. Identifikasi baris yang berbunyi set COMMANDLINE_ARGS=
. Di situlah Anda akan menempatkan perintah untuk mengoptimalkan cara Difusi Stabil berjalan.
TERKAIT: Cara Menulis Skrip Batch di Windows
Jika Anda hanya ingin membuat gambar besar, atau kehabisan RAM pada GPU seri GTX 10XX, cobalah --opt-split-attention
terlebih dahulu. Ini akan terlihat seperti ini:
Kemudian klik File > Simpan. Atau, Anda dapat menekan Ctrl + S pada keyboard Anda.
Jika Anda masih mendapatkan kesalahan memori, coba tambahkan --medvram
ke daftar argumen baris perintah (COMMANDLINE_ARGS).
Anda dapat menambahkan --always-batch-cond-uncond
untuk mencoba dan memperbaiki masalah memori tambahan jika perintah sebelumnya tidak membantu. Ada juga alternatif untuk --medvram
yang mungkin lebih mengurangi penggunaan VRAM, --lowvram
, tetapi kami tidak dapat membuktikan apakah itu akan benar-benar berfungsi atau tidak.
Penambahan antarmuka pengguna adalah langkah maju yang penting dalam membuat alat berbasis AI semacam ini dapat diakses oleh semua orang. Kemungkinannya hampir tidak terbatas, dan bahkan pandangan sekilas ke komunitas online yang didedikasikan untuk seni AI akan menunjukkan kepada Anda betapa kuatnya teknologi ini, bahkan saat masih dalam masa pertumbuhan. Tentu saja, jika Anda tidak memiliki komputer game, atau Anda tidak ingin khawatir tentang pengaturannya, Anda selalu dapat menggunakan salah satu generator seni AI online. Ingatlah bahwa Anda tidak dapat menganggap entri Anda bersifat pribadi.