如何在 Windows 上使用 GUI 在本地運行穩定的擴散

已發表: 2022-09-18

標題圖片。奇怪的禿鷲、可愛的灰貓和控制論的美杜莎。

您可以在 PC 上本地安裝 Stable Diffusion,但典型過程涉及大量使用命令行來安裝和使用的工作。 對我們來說幸運的是,Stable Diffusion 社區已經解決了這個問題。 以下是如何安裝一個使用圖形用戶界面在本地運行的 Stable Diffusion 版本!

目錄

什麼是穩定擴散?
運行此版本的穩定擴散需要什麼?
如何使用 GUI 安裝穩定的擴散
首先安裝 Python
安裝 Git 並下載 GitHub 存儲庫
下載所有檢查點
如何通過 GUI 使用穩定擴散生成圖像
如何掩蓋您創建的圖像以進行修復
如何修復“CUDA 內存不足”錯誤

什麼是穩定擴散?

Stable Diffusion 是一種 AI 模型,可以根據文本提示生成圖像,或者使用文本提示修改現有圖像,很像 MidJourney 或 DALL-E 2。它於 2022 年 8 月由 Stability.ai 首次發布。 它可以理解數以千計的不同單詞,並且可以用來創建幾乎任何您可以想像到的幾乎任何風格的圖像。

不過,Stable Diffusion 與大多數其他流行的 AI 藝術生成器有兩個關鍵區別:

  • 它可以在您的 PC 上本地運行
  • 這是一個開源項目
穩定擴散為您的 PC 帶來本地 AI 藝術生成
相關穩定擴散將本地 AI 藝術生成帶到您的 PC

最後一點確實是這裡的重要問題。 傳統上,Stable Diffusion 是通過命令行界面安裝和運行的。 它有效,但它可能很笨重、不直​​觀,並且對於那些本來會感興趣的人來說,這是一個重大的進入障礙。 但是,由於它是一個開源項目,社區很快為它創建了一個用戶界面,並開始添加他們自己的增強功能,包括優化以最大限度地減少視頻內存 (VRAM) 的使用以及內置放大和屏蔽。

運行此版本的穩定擴散需要什麼?

這個版本的 Stable Diffusion 是 Stability.ai 創建和維護的主存儲庫(repo)的一個分支——一個分支。 它有一個圖形用戶界面 (GUI)——比只有命令行界面的常規 Stable Diffusion 更易於使用——以及一個可以自動處理大部分設置的安裝程序。

相關:如何在您的 PC 上運行穩定的擴散以生成 AI 圖像

警告:與往常一樣,請小心您在 GitHub 上找到的第三方軟件分支。 我們已經使用它一段時間了,沒有任何問題,成千上萬的其他人也是如此,所以我們傾向於說它是安全的。 幸運的是,與一些開源項目的分支相比,這裡的代碼和更改很小。

這個分支還包含各種優化,應該允許它在具有更少 RAM 的 PC 上運行,使用 GFPGAN、ESRGAN、RealESRGAN 和 CodeFormer 的內置升級和麵部功能以及掩碼。 遮罩是一件大事——它允許您有選擇地將 AI 圖像生成應用到圖像的某些部分,而不會扭曲其他部分,這個過程通常稱為修復。

  • 您的硬盤驅動器上至少有 10 GB 可用空間
  • 具有 6 GB RAM 的 NVIDIA GPU(儘管您可能能夠使 4 GB 工作)
  • 運行 Windows 11、Windows 10、Windows 8.1 或 Windows 8 的 PC
  • WebUI GitHub 存儲庫,由 AUTOMATIC1111 提供
  • Python 3.10.6(新版本和大多數舊版本也應該沒問題)
  • 穩定擴散官方檢查站(注意 9 月下旬的 v1.5 檢查站!)
  • GFPGAN v1.3檢查點(v1.4 也可以工作)
  • 您可能需要的任何其他 ESRGAN 模型。 您可以根據需要使用任意多或少。

如何使用 GUI 安裝穩定的擴散

安裝過程已顯著簡化,但在使用安裝程序之前,您仍需要手動執行幾個步驟。

首先安裝 Python

您應該做的第一件事是安裝 repo 的作者推薦的 Python 版本 3.10.6。 前往該鏈接,向頁面底部滾動,然後單擊“Windows Installer(64 位)”。

單擊您下載的可執行文件並按照提示進行操作。 如果您已經安裝了 Python(而且您肯定會安裝),只需單擊“升級”。 否則按照推薦的提示進行操作。

注意:如果您有一個選項,請確保將 Python 3.10.6 添加到 PATH 中。

安裝 Git 並下載 GitHub 存儲庫

您需要先在 Windows 上下載並安裝 Git,然後才能運行 Stable Diffusion 安裝程序。 只需下載 64 位 Git 可執行文件,運行它,然後使用推薦的設置,除非您有特別的想法。

相關:如何在 Windows 上安裝 Git

接下來,您需要從 GitHub 存儲庫下載文件。 單擊綠色的“代碼”按鈕,然後單擊菜單底部的“下載 ZIP”。

在文件資源管理器或您喜歡的文件歸檔程序中打開 ZIP 文件,然後將內容解壓縮到您想要的任何位置。 請記住,該文件夾是您運行 Stable Diffusion 所需的位置。 此示例將它們提取到 C:\ 目錄,但這不是必需的。

將“stable-diffusion-webui-master”文件夾拖到任何你想要的地方。

注意:確保您不會不小心將“stable-diffusion-webui-master”拖到另一個文件夾而不是空白空間 - 如果這樣做,它將放入該文件夾,而不是您想要的父文件夾。

下載所有檢查點

您需要幾個檢查點才能使其正常工作。 第一個也是最重要的是穩定擴散檢查點。 您需要創建一個帳戶來下載檢查點,但該帳戶的要求並不高 - 他們只需要一個姓名和電子郵件地址,您就可以開始了。

注意:檢查點下載為數 GB。 不要指望它會立即完成。

將“sd-v1-4.ckpt”複製並粘貼到上一節的“stable-diffusion-webui-master”文件夾中,然後右鍵單擊“sd-v1-4.ckpt”並點擊重命名。 在文本字段中輸入“model.ckpt”,然後按 Enter。 確保它是“model.ckpt”——否則這將不起作用。

注意:重命名功能是 Windows 11 上的一個圖標。

您還需要下載 GFPGAN 檢查點。 我們正在使用的 repo 的作者要求使用 GFPGAN v1.3 檢查點,但如果您想嘗試一下,也許可以使用 v1.4。 向下滾動頁面,然後單擊“V1.3 模型”。

將該文件“GFPGANv1.3.pth”放入“stable-diffusion-webui-master”文件夾中,就像使用“sd-v1-4.ckpt”文件一樣,但不要重命名它。 “stable-diffusion-webui-master”文件夾現在應該包含這些文件:

這是您重命名 Stable Diffusion 模型並添加 GFPGAN 模型後文件夾的樣子。

您還可以根據需要下載任意數量的 ESRGAN 檢查點。 它們通常打包為 ZIP 文件。 下載後,打開 ZIP 文件,然後將“.pth”文件解壓到“ESRGAN”文件夾中。 這是一個例子:

ESRGAN 模型的位置。

ESRGAN 模型傾向於提供更具體的功能,因此請挑選一些對您有吸引力的模型。

現在,您只需雙擊位於主“stable-diffusion-webui-master”文件夾中的“webui-user.bat”文件。 將出現一個控制台窗口並開始獲取所有其他重要文件、構建 Python 環境並設置 Web 用戶界面。 它看起來像這樣:

注意:預計第一次運行此程序至少需要幾分鐘。 它需要從互聯網上下載一堆東西。 如果它似乎在某個步驟中掛起的時間過長,只需嘗試選擇控制台窗口並按 Enter 鍵即可。

WebUI 客戶端下載並安裝所有資產。

完成後,控制台將顯示:

 在本地 URL 上運行:http://127.0.0.1:7860
要創建公共鏈接,請在 `launch()` 中設置 `share=True`

相關:什麼是 127.0.0.1 IP 地址,以及如何使用它?

如何通過 GUI 使用穩定擴散生成圖像

好的,你已經安裝了 Stable Diffusion 的 WebUI 變體,你的控制台讓你知道它“在本地 URL 上運行:http://127.0.0.1:7860”。

注意:這到底是什麼意思,發生了什麼? 127.0.0.1 是本地主機地址——您的計算機為自己提供的 IP 地址。 此版本的 Stable Diffusion 在您的本地 PC 上創建一個服務器,該服務器可通過其自己的 IP 地址訪問,但前提是您通過正確的端口連接:7860。

打開瀏覽器,在地址欄中輸入“127.0.0.1:7860”或“localhost:7860”,然後回車。 您將在 txt2img 選項卡上看到:

Google Chrome 中 WebUI 客戶端的首頁。

如果您以前使用過 Stable Diffusion,這些設置對您來說會很熟悉,但這裡簡要概述了最重要的選項的含義:

  • 提示:您想要創建的內容的描述。
  • 滾動按鈕:將隨機的藝術風格應用於您的提示。
  • 採樣步驟:在您收到輸出之前對圖像進行細化的次數。 通常越多越好,但收益會遞減。
  • 抽樣方法:控制抽樣處理方式的基礎數學。 您可以使用其中任何一種,但 euler_a 和 PLMS 似乎是最受歡迎的選項。 您可以在本文中閱讀有關 PLMS 的更多信息。
  • 恢復面孔:使用 GFPGAN 嘗試修復離奇或扭曲的面孔。
  • Batch Count:要生成的圖像數量。
  • 批次大小: “批次”的數量。 除非您有大量的 VRAM,否則將其保持為 1。
  • CFG 量表: Stable Diffusion 將如何仔細遵循您給出的提示。 較大的數字意味著它非常仔細地遵循它,而較小的數字則賦予它更多的創作自由。
  • 寬度:要生成的圖像的寬度。
  • 高度:要生成的圖像的寬度。
  • 種子:為隨機數生成器提供初始輸入的數字。 將其保留為 -1 以隨機生成新種子。

讓我們根據提示生成五張圖像:“魔法森林中的高地牛,35mm 膠片攝影,銳利”,看看我們使用 PLMS 採樣器、50 個採樣步驟和 5 的 CFG 比例得到了什麼。

提示:如果您的工作耗時過長,您可以隨時點擊“中斷”按鈕停止生成。

輸出窗口將如下所示:

輸出有關高地奶牛的提示。五頭高地牛,兩頭黑色和白色。

注意:您的圖像會有所不同。

中間頂部的圖像是我們稍後將用於嘗試遮罩的圖像。 除了個人喜好之外,這種特定選擇並沒有真正的原因。 抓住任何你喜歡的圖像。

一頭可愛的高地牛在森林裡。

選擇它,然後單擊“發送到 Inpaint”。

如何掩蓋您創建的圖像以進行修復

修復是一個很棒的功能。 通常穩定擴散用於從提示創建整個圖像,但修復允許您有選擇地生成(或重新生成)圖像的一部分。 這裡有兩個關鍵選項:inpaint masked,inpaint not masked。

Inpaint masked 將使用提示在您突出顯示的區域內生成圖像,而 inpaint not masked 將執行完全相反的操作 - 只有您遮罩的區域將被保留。

我們將首先介紹一些有關 Inpaint masked 的內容。 按住左鍵在圖像上拖動鼠標,您會注意到圖像頂部出現一個白色層。 畫出要替換的區域的形狀,並確保將其完全填充。 您不是在環繞一個區域,而是在整個區域中進行掩蔽。

提示:如果您只是在現有圖片中添加一些內容,嘗試使蒙版區域與您嘗試創建的近似形狀對齊會很有幫助。 例如,當你想要一個圓形時,掩蓋一個三角形會適得其反。

讓我們以我們的高原牛為例,給他一頂廚師帽。 以近似廚師帽的形狀遮住一個區域,並確保將“Batch Size”設置為大於 1。您可能需要多個才能獲得理想的(ish)結果。

此外,您應該選擇“Latent Noise”而不是“Fill”、“Original”或“Latent Nothing”。 當您想在場景中生成一個全新的對象時,它往往會產生最佳結果。

注意:你會注意到帽子的左邊緣已經刪除了他的部分角。 發生這種情況是因為“蒙版模糊”設置有點太高了。 如果您在圖像中看到類似的東西,請嘗試降低“蒙版模糊”值。
一頭戴著廚師帽的高地牛。
提示:廚師帽設置:Inpaint Masked、Latent Diffusion、CFG 9.5、去噪強度 0.75、採樣步數 = 50、採樣方法 = Euler_A

好吧——也許一頂廚師帽不適合你的高原奶牛。 你的高地奶牛更喜歡 20 世紀初的氛圍,所以讓我們給他一頂圓頂禮帽吧。

一頭戴著圓頂禮帽的高地牛。
提示:Bwel hat 設置:Inpaint Masked、Latent Diffusion、CFG 9.5、降噪強度 0.75、採樣步數 = 50、採樣方法 = Euler_A

多麼積極簡潔。

當然,您也可以使用 Inpaint Not Masked 進行完全相反的操作。 它在概念上是相似的,除了您定義的區域是相反的。 不是標出要更改的區域,而是標出要保留的區域。 當您想將一個小對象移動到不同的背景上時,它通常很有用。

如何修復“CUDA 內存不足”錯誤

您製作的圖像越大,需要的視頻內存就越多。 您應該嘗試的第一件事是生成較小的圖像。 Stable Diffusion 在 256×256 下產生良好的(儘管非常不同)圖像。

如果您渴望在沒有 512×512 圖像問題的計算機上製作更大的圖像,或者遇到各種“內存不足”錯誤,那麼對配置進行一些更改應該會有所幫助。

在記事本或您想要的任何其他純文本編輯器中打開“webui-user.bat”。 只需右鍵單擊“webui-user.bat”,單擊“編輯”,然後選擇記事本。 識別讀取set COMMANDLINE_ARGS=的行。 這就是您要放置命令以優化穩定擴散運行方式的位置。

相關:如何在 Windows 上編寫批處理腳本

如果您只想製作大圖,或者 GTX 10XX 系列 GPU 上的 RAM 不足,請先嘗試--opt-split-attention 。 它看起來像這樣:

然後單擊文件 > 保存。 或者,您可以按鍵盤上的 Ctrl+S。

如果您仍然遇到內存錯誤,請嘗試將--medvram添加到命令行參數列表 (COMMANDLINE_ARGS)。

如果之前的命令沒有幫助,您可以添加--always-batch-cond-uncond來嘗試修復其他內存問題。 還有一種替代--medvram的方法可能會進一步減少 VRAM 的使用, --lowvram ,但我們無法證明它是否真的有效。

添加用戶界面是讓所有人都可以使用這些人工智能驅動工具的關鍵一步。 可能性幾乎是無窮無盡的,即使是快速瀏覽專注於人工智能藝術的在線社區,也會向您展示這項技術有多麼強大,即使在它還處於起步階段。 當然,如果您沒有遊戲電腦,或者您不想擔心設置,您可以隨時使用在線 AI 藝術生成器之一。 請記住,您不能假設您的條目是私人的。