多線程GUI經理,用於大規模創建AI生成的藝術,並支持多個GPU。
這是針對想要創建大量AI藝術品的用戶。如果您正在尋找一份存儲庫,該回購可以花費數小時調整單個圖像直到完美的選擇,請選擇更好(更新2022-12-06:Dream Factory現在使用自動1111的回購在後端,以便您獲得在兩個世界中最好的!)。如果您有數百個迅速的想法,並且想要輕鬆快速(嗯,就像您的GPU所能管理的一樣快!),看到它們以數百種不同的變化和/或樣式呈現,那麼這是給您的。
為了說明,幾個月來,我幾乎24/7跑了三個GPU跑步工廠,他們每天都在攪動成千上萬張圖像!我可以通過Dream Factory Web UI遠程檢查圖像,並對我的跑步作業進行修改。一些樣本(除了將分辨率減少到1024x1024以外,所有樣本都直接出現在夢境工廠中):
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
一些UI屏幕截圖:
![]() | ![]() | ![]() | ![]() |
您將至少需要一個Nvidia GPU,最好使用相當數量的VRAM。 3GB的VRAM應該足以產生512x512圖像,但是更多的GPU內存將使您可以創建較大的圖像(和/或更快地創建它們)。
您還需要一個工作的自動1111穩定的擴散WebUI。
這些說明在幾個Windows 10台式機上進行了測試,其中包括8-12GB VRAM的各種現代NVIDIA GPU,以及帶有舊NVIDIA TESLA M40 GPU(24GB VRAM)的Ubuntu Server 20.04.3系統。
[1]安裝anaconda,打開根終端並創建一個新的環境(並激活它):
conda create --name dream-factory python=3.10
conda activate dream-factory
[2]安裝一對所需的Python軟件包:
conda install -c anaconda git urllib3
[3]克隆此存儲庫,然後切換到其目錄:
git clone https://github.com/rbbrdckybk/dream-factory
cd dream-factory
[4]運行隨附的設置腳本以自動完成安裝的其餘部分:
python setup.py
[5]編輯您的config.txt文件,以指定自動1111 SD安裝的完整路徑:
你完成了!在嘗試測試Dream Factory之前,請確保您的自動1111安裝正常工作。此外,請確保將Auto1111的“設置”選項卡中的所有內容配置為您的喜好,因為Dream Factory將自動繼承您在此處設置的任何選項。
一旦您驗證了可以使用Auto1111安裝生成單個圖像,您就可以執行測試,以確保Dream Factory通過運行此操作(再次,從主要的Dream-Factory文件夾中)來工作:
python dream-factory.py --prompt_file prompts/example-standard.prompts
這應該使用一個簡單的示例提示文件啟動Web界面,並預先加載您的GPU應該開始自動處理。在第一次運行中,將自動下載幾個大文件(總計約2GB),因此可能需要幾分鐘才能開始發生。
最終,您應該看到輸出文件夾中出現的圖像(或者可以單擊Web UI中的“畫廊”鏈接並在此處觀看它們)。如果您獲得圖像,則所有內容都可以正常工作,您可以繼續前往下一節。
如果您想創建一個簡單的選擇來啟動Dream Factory,而不是每次打開Anaconda和/或打開命令行窗口,則可以按照以下步驟進行操作:
[1]打開Windows Explorer並瀏覽到此位置,其中[用戶名]是您的Windows用戶名:
C:Users[username]anaconda3Scripts
製作您在那裡找到的activate.bat文件的副本,並將其命名為activate-dream-factory.bat 。
[2]編輯您剛創建的activate-dream-factory.bat文件,並將這些行添加到文件末尾:
@CALL echo Starting Dream Factory...
@CALL conda.bat activate dream-factory
@CALL cd "[full path to your Dream Factory folder]"
@CALL python dream-factory.py
@CALL pause
用您在(例如:c: users [您的Windows用戶名] dream-factory)安裝的Dream Factory的路徑中替換[通往夢想工廠文件夾的完整路徑]。
保存文件並關閉。
[3]在桌面上(或任何地方)上將此文件的快捷方式放置在此文件上。單擊它應該啟動夢想工廠。
說明假定您已經完成了設置並驗證了安裝是否正常工作。
使用以下方式開始夢想工廠
python dream-factory.py
Web UI應自動打開,如果不訪問http:// localhost:8080(假設您沒有通過瀏覽器更改config.txt中的端口)。您的GPU(S)將自動開始初始化(每個GPU都需要在獨立模式下啟動Auto1111的時間)。
在頂部NAV中瀏覽“控制面板”,並通過下拉列表選擇兩個示例提示文件之一。您的GPU(S)應在完成初始化後立即開始處理任何一個。您可以瀏覽回到“狀態監視器”,應該看到您的GPU正在從所選提示文件中分配工作。如果您瀏覽到頂級導航中的“畫廊”,您會看到圖像完成後出現。
提示文件是Dream Factory的核心,並定義了您希望GPU做的工作。它們可以像您想要的那樣簡單或複雜。
在創建新提示文件之前,讓我們看看Dream Factory包含的兩個示例提示文件。首先在頂部NAV中單擊“提示編輯器”,然後在“選擇提示文件:”下拉列表中選擇“示例標準”。
您應該將提示文件加載到編輯器中。提示文件在頂部具有可選的[config]部分,並帶有定義穩定擴散設置的指令,至少一個[提示]部分包含提示(或將提示與其他[提示]部分組合的提示部分)。
示例文件包含的註釋應該使每個[Config]指令的作用以及[提示]部分將如何結合起來。有關任何不清楚的指令的幫助,請參見下面的命令參考。
您可以使用集成的編輯器(在頂部NAV中單擊“提示編輯器”,然後單擊“新標準”或“新隨機”以啟動新文件)。提示文件將使用包含通用指令的骨架自動創建,以及您的config.txt中包含的默認設置。
創建後,可以通過單擊編輯器頂部的名稱,輸入新名稱,然後單擊“重命名”來重命名提示文件。
如果您願意,還可以使用您選擇的文本編輯器在外部創建提示文件(使用.Prompt Extension命名並將其放在提示文件夾中)。如果您碰巧使用Notepad ++,則Dream-Factory/Primate/Notepad_plugin文件夾中有一個插件,它將為.prompt文件添加上下文敏感的突出顯示。
這些指令僅在標準和隨機提示文件的[配置]部分中有效:
這些指令在標準提示文件和隨機提示文件的[配置]部分以及標準提示文件的任何[提示]部分(!mode =標準)中均有效:
這些指令僅在標準提示文件的[config]部分(!mode =標準)中有效:
這些指令僅在隨機提示文件的[config]部分中有效(!mode =隨機):
最後,這些特殊指令僅在過程提示文件中有效(!mode = Process):
命令幫助和用法示例:
將提示文件模式設置為標準(默認)或隨機。標準提示文件通過遍歷所有可能的[提示]部分組合來工作,隨機提示文件只需從[提示]部分隨機選擇提示。請參閱提示/示例-Standard.prompts和Primpts/example-random.prompts,以詳細了解每個模式的工作方式。
!MODE = standard
請注意,存在!模式的第三個選項( !mode = process ),該選項使高級用戶可以使用Dream Factory在現有圖像上設置批處理處理任務(例如:批量上尺度上尺度,元數據標記,重命名等)。您可以在此處查看一個示例過程.prompts文件。
設置連接[提示]部分時將使用的定界符(默認是一個空間)。例如,如果您有兩個[提示]部分,並且第一個部分的最高條目是“肖像”,第二部分是“貓”,那麼當兩個部分組合在一起時,您將結束使用“貓的肖像”如果!
!DELIM = " "
將輸出圖像寬度設置為像素(默認為512)。請注意,這必須是64的倍數!
!WIDTH = 512
設置以像素為單位的輸出圖像高度(默認為512)。請注意,這必須是64的倍數!
!HEIGHT = 512
啟用或禁用Auto1111 HighRes修復程序。有效選項是是或否(默認值)。當在分辨率上生成圖像高於512x512時,應啟用這一點。
!HIGHRES_FIX = no
截至2023-09-22,您的Dream Factory Config.txt文件中有一個HIRES_FIX_MODE選項,可讓您指定簡單(默認)或高級。如果設置HIRES_FIX_MODE = advanced ,則可以啟用指定初始圖像生成大小的功能,以及確定最終大小的縮放係數(請參閱下面的!HighRes_scale_factor )。
在默認的簡單模式下,您只需設置!寬度和!高度。將文件置於所需的最終輸出圖像大小和中間步驟,並自動處理中間步驟。
DeNoising步驟的數量(默認值= 20)。更多步驟通常會以處理時間為代價將圖像質量提高到一個點。
!STEPS = 20
您還可以指定一個範圍(例如步驟= 30-55),並且在執行提示時將選擇範圍內的隨機值。
要使用的採樣器(默認為DPM ++ 2M)。這必須匹配您的自動1111 SD WebUI中的可用選項。您可以按CTRL+H或單擊編輯器右上角的幫助圖標以查看可用採樣器的參考列表(單擊採樣器將其複製到剪貼板上,以便您可以輕鬆地將其粘貼到編輯器中) 。
!SAMPLER = DPM++ 2M
使用的調度程序(默認為自動)。這必須與自動1111 WebUI(統一,Karras,指數,多指數,SGM統一)的值匹配。
!SCHEDULER = Karras
設置為一無所有或自動返回默認值。
指導量表,或您希望穩定的擴散遵循文本提示。默認值為7.5,總體而言,有用的值在5-30之間。
!SCALE = 7.5
您還可以指定一個範圍(例如!比例= 5.5-9),並且在執行提示時將選擇範圍內的隨機值。
在轉到下一個提示之前,要製作多少個提示的圖像(默認值= 1)。與以下batch_size選項不同,在增加此時,GPU內存沒有額外的成本。增加此過程時的處理時間會增加襯裡(例如:!樣品= 10的時間為!樣品= 1的長度)。
!SAMPLES = 1
您希望每個GPU並行生成多少圖像(默認值= 1)。 Batch_size的每次增加都需要更多的GPU VRAM,並且設置此值太高將導致GPU無法記憶和崩潰。但是,只要您知道自己有足夠的VRAM,就可以通過將其增加到1來實現中等速度的收益。這是一個高級設置,不包含在新的提示文件模板中,但是您可以手動將其添加到提示文件中。
!BATCH_SIZE = 1
將圖像設置為用於剝落過程的起點,而不是默認隨機噪聲。這可以是相對的(對於夢境工廠基本目錄)或絕對路徑,並且將其設置為一無所有,將清除任何以前設置的輸入圖像。
!INPUT_IMAGE = C:imagesdog.png # specifies the full path to an input image
!INPUT_IMAGE = cat.jpg # specifies an input image 'cat.jpg' in the DF home directory
!INPUT_IMAGE = # specifies no input image should be used
請注意,您也可以將圖像目錄傳遞給此指令:
!INPUT_IMAGE = C:images
如果傳遞了目錄,則文件夾中的每個圖像都將應用於以下提示。
設置輸入圖像影響的強度。有效值為0-1(默認值= 0.75)。接近0的值將導致輸出圖像與輸入圖像非常相似,並且接近1的值將導致相似之處較小的圖像。通常,0.2-0.8之間的值是最有用的。請注意,當!HighRes_fix =是的,以指示最終圖像應如何映射低分辨率初始化圖像。
!STRENGTH = 0.75
您還可以指定一個範圍(例如強度= 0.55-0.75),並且在執行提示時將選擇範圍內的隨機值。
設置要使用的模型。任何自定義型號都應安裝到Auto1111安裝的適當型號目錄中。您可以按CTRL+H或單擊編輯器右上角的幫助圖標以查看可用型號的參考列表(單擊模型以將其複製到剪貼板上,以便您可以輕鬆地將其粘貼到編輯器中)。將其設置為一無所有,將默認回到您在config.txt文件中設置的任何模型(如果您尚未設置默認值,將其設置為“無能為力”!)。
您還在此處設置了逗號分隔模型的列表。在標準模式下,Dream Factory將使用第一個模型,然後是第二個提示,依此類推。在隨機模式下,Dream Factory將每50個提示切換一次模型(可以在您的config.txt文件中更改此間隔)。
您也可以在此處使用保留的單詞“全部”,而Dream Factory將自動旋轉所有可用的模型。
請注意,您只能在[config]部分中指定多個模型;其他任何地方都不支持模型旋轉!
!CKPT_FILE = analog-style.ckpt # sets a new model to use
!CKPT_FILE = sd-v1-5-vae.ckpt, analog-style.ckpt # sets 2 models to rotate between
!CKPT_FILE = all # will rotate between all of your models
!CKPT_FILE = # sets the default model specified in your config.txt
注意:這使用通過集成引用可用的有效服務器值上的子字符串匹配,例如,如果'sd_1.5 dreamshaper_4bakedvae.safetensors [7f16bbbcd80]'是參考報告,那麼設置!它。
設置VAE使用。將其設置為無需將其恢復為自動VAE使用情況(或您的自動1111配置設置指定的任何內容)。
!VAE = vae-ft-mse-840000-ema-pruned.ckpt
!VAE =
注意:在此處,子字符串匹配是有效的。設定!
指定一個負面提示,用於隨後的所有提示(請記住,您可以將大多數指令直接放入標準提示文件的[提示]部分中!)。如果您有傾向於使用的“ catch all”負提示,則可以在config.txt文件中指定它,並將其填充為您創建的新提示文件上的默認值。將其設置為一無所知,將清除負面提示。
!NEG_PROMPT = watermark, blurry, out of focus
與自定義模型一起使用,該模型需要在模型triggers.txt文件中設置的“觸發單詞”(請參見下面的自定義模型)。這使您可以控制自動插入的觸發詞的位置。有效的選項是啟動(默認), end , first_comma ,關鍵字:[替換的關鍵字]和off :'start'將把觸發詞放在提示的前面,'end'將將其放在末尾,'first_comma '將其放置在第一個逗號之後(如果提示符中沒有逗號,或者在結尾處),'關鍵字:'將用模型觸發單詞替換提示中指定的關鍵字/短語,並且“ OFF”將禁用自動- 完全插入。
!AUTO_INSERT_MODEL_TRIGGER = start
請注意,這還將控制自動觸發器的行為,假設已經設置了有效的HighRes_ckpt_file,則使用關聯的觸發單詞設置了有效的HighRes_ckpt_file。
指定要在圖像創建中使用的種子價值。該值通常是隨機選擇的 - 使用具有相同種子值的相同設置應產生完全相同的輸出圖像。將其設置為一無所有,將表明應使用隨機種子值(默認值)。這是一個高級設置,不包含在新提示文件模板中,但是您可以手動將其添加到提示文件中。
!SEED = 42
每個輸出圖像是否應自動升級。升級可能需要大量時間,因此通常您只想在選定的圖像子集上進行此操作。有效選項是是或否(默認值)。
!USE_UPSCALE = no
設置要使用的升級模型。
!UPSCALE_MODEL = esrgan
請注意,這將對使用Auto1111安裝的任何高檔器進行串聯匹配。在這種情況下,應選擇ESRGAN_4X *(也是默認值)。
在!mode = process .prompts文件,您可以另外指定!upscale_model = sd or !
SD是一種特殊的選擇,它使用穩定擴散的IMG2IMG引擎來高檔圖像。這將比其他方法需要更長的時間,並且需要大量的GPU VRAM才能達到較大的圖像大小(以輸出2048x2048圖像需要〜12GB的VRAM),但可能會產生更高質量的結果,並具有添加細節的能力。使用!upscale_sd_strength = xxx(默認為0.3),用!upscale_model = sd來控制deno的強度。
此選項的工作原理與Auto1111中的HighRes修復程序的工作非常相似。它使您可以拍攝圖像並使用穩定的擴散來創建較大的版本,從而根據所使用的降解強度稍微更改圖像(在大多數情況下,0.3默認值應保持非常接近原始的值)。
!UPSCALE_MODEL = sd
!UPSCALE_SD_STRENGTH = 0.3
要使用!
Ultimate是一個特殊的選擇,需要在自動1111安裝中添加最終的SD高檔擴展名。
安裝後,您可以使用以下指令控制擴展名的設置(在下面的示例中,我們將其將強度設置為0.28,使用Esrgan_4x用作我們的上放大器,並以2.5倍的倍數將原始圖像更高。
!UPSCALE_MODEL = ultimate
!UPSCALE_SD_STRENGTH = 0.28
!UPSCALE_ULT_MODEL = esrgan
!UPSCALE_AMOUNT = 2.5
有關更多信息,請參見“夢想出廠 /提示目錄”中的示例process.prompts文件的底部。
要使用!upscale_model = ultimate,您必須首先將最終的SD高檔擴展安裝到auto1111。
高檔的因素。設置!upscale_amount = 2將是圖像的寬度和高度(導致分辨率四倍)。除非use_upscale = yes,否則沒有效果。
!UPSCALE_AMOUNT = 2
代碼形式的可見性在輸出映像上臉部增強。有效值在0-1之間。將其設置為0完全禁用CodeFormer增強功能。除非use_upscale = yes,否則沒有效果。
!UPSCALE_CODEFORMER_AMOUNT = 0.50
GFPGAN在輸出圖像上的可見性。有效值在0-1之間。將其設置為0完全禁用GFPGAN增強功能。除非use_upscale = yes,否則沒有效果。
!UPSCALE_GFPGAN_AMOUNT = 0.50
提高尺寸時,還要保留原始(非上限)圖像?有效選項是是或否(默認值)。如果設置為“是”,則將原件存儲在主輸出文件夾中的An /Originals子目錄中。除非use_upscale = yes,否則沒有效果。
!UPSCALE_KEEP_ORG = no
允許您指定自定義輸出文件名。您可以使用以下變量;創建圖像時,它們將被填寫:
<ad-model><ad-strength><cn-img><cn-model><date><date-year><date-month><date-day><height><hr-model><input-img><lora><model><neg-prompt><prompt><sampler><scheduler><scale><seed><steps><strength><styles><time><width>在過程模式文件中,可用以下內容:
<upscale-model><upscale-sd-strength>文件擴展名(.jpg)將自動添加。
!FILENAME = <date-year><date-month><date-day>-<model>-<width>x<height>-<prompt>
上面的示例可能會產生20230209-DELIBERATE_V11-768X1280-A-PHOTO-A-CUTE-CATE.JPG的輸出文件名。
請注意, <input-img>和<cn-img> (ControlNet輸入映像)將僅是基本文件名(無子目錄或文件擴展名)。
自定義文件名將以200個字符的形式截斷(不包括文件擴展名和任何必要的數字填充,以使文件唯一)。
設置剪輯跳過值。默認值為1,大多數模型都可以在此設置的設置最佳。但是,有些模型可能會給其他值提供最佳結果。
!CLIP_SKIP = 2
您可以將其設置為一無所有(!clip_skip =)清除它。
啟用或禁用無縫瓷磚模式。啟用後,輸出圖像將適用於無見接縫/邊緣的平鋪。
!SEAMLESS_TILING = on
設置為禁用(默認值)。
設置一個輸入映像,以與ControlNet一起使用。
!CONTROLNET_INPUT_IMAGE = posesexamplesopenpose-standing_arms_in_front.png
上面的示例將使用openpose-steration_arms_in_front.png作為ControlNET輸入圖像。請注意,如果您沒有安裝ControlNet擴展名,並且/或您也沒有通過!ControlNet_model指令指定ControlNet模型,則不會產生效果。
您可以通過發出另一項指令將其設置為“一無所有”(!controlNet_input_image =)來清除以前設置的輸入圖像。
請注意,您也可以將圖像目錄傳遞給此指令:
!CONTROLNET_INPUT_IMAGE = posesexamples
如果傳遞了目錄,則文件夾中的每個圖像都將應用於以下提示。
設置用於使用的控製網絡模型。
!CONTROLNET_MODEL = openpose
您可以在集成編輯器中按Control-H(或按適當的按鈕)打開顯示可用控製網絡模型的參考。請注意,如果您沒有安裝ControlNet擴展名,則設置ControlNet模型將無效,並且/或也未通過!CONTROLNET_INPUT_IMAGE DICERISIVE指定ControlNet輸入圖像。
請注意,如果您希望Dream Factory從您的!controlNET_INPUT_IMAGE FILENAME(S)中提取模型,則可以選擇為!controlNet_model(或自動,[默認] )指定自動。您必須以以下格式命名您的圖像才能起作用: [ControlNet model to use]-[rest of filename].ext 。例如,一個名為openpose-stance_arms_in_front.png的映像將指示當!controlNet_model = auto時,應使用openpose模型。
!CONTROLNET_MODEL = auto, depth
在此示例指令中,Dream Factory將嘗試提取從文件名中使用的模型,如果您的文件名不包含有效的模型,則將後備為“深度”作為默認模型。指定默認值是可選的,但是如果無法從文件名中識別模型並且不存在默認值,則將禁用ControlNet。
注意:這使用通過集成引用可用的有效服務器值上的子字符串匹配,例如,如果“ Control_Canne-Fp16”是參考報告的內容,則設置!controlnet_model = Canny會找到它。
設置ControlNet預處理器要使用。這用於從正常圖像中“提取”構成信息,因此可以與相應的控製網模型一起使用。如果您使用的是預生成的姿勢(例如“ Dream Factory Poses”文件夾中包含的示例),則不需要設置此設置(或者可以將其設置為“無”的默認值)。
!CONTROLNET_PRE = openpose
您可以在集成編輯器中按Control-H(或按下適當的按鈕)打開顯示您可用的控製網絡預處理器的參考。請注意,如果您沒有安裝ControlNet擴展名,則設置ControlNet預處理器將無效,並且/或您也沒有通過!controlNET_INPUT_IMAGE指令指定ControlNet輸入圖像。
在CN擴展v1.1.09 v1.1.09時,GuessMode不再支持替換!
使用ControlNET時,請使用此操作來啟用(是)或禁用(否,默認)猜測模式(或“非損失模式”)。
!CONTROLNET_GUESSMODE = yes
您可以在此處閱讀有關猜測模式的信息。
使用它來告訴ControlNet比ControlNet或反之亦然,或採用平衡的方法。選項是“平衡”(默認),“提示”(以更多提示)或“控製網”(更喜歡ControlNet)。
!CONTROLNET_CONTROLMODE = balanced
您可以在此處閱讀有關控制模式的信息。
使用ControlNET時,請使用它啟用(是)或禁用(否,默認)Pixel Perfect模式。啟用此功能時,將使用您指定的圖像高度和寬度(帶有!寬度和!高度)來生成ControlNet的預處理圖像。
!CONTROLNET_PIXELPERFECT = yes
使用ControlNET時,請使用此操作來啟用(是)或禁用(否,默認的)低VRAM模式。
!CONTROLNET_LOWVRAM = yes
如果您擁有較少VRAM的GPU,這可能會有所幫助。
使用它來設置控製網的重量(默認值= 1.0;設置為0-2)。
!CONTROLNET_WEIGHT = 1.0
允許您讓DREAM Factory自動根據輸入圖像或ControlNet輸入圖像的大小自動規模輸出圖像。有效選項為match_input_image_size , match_controlnet_image_size , match_input_image_aspect_ratio , match_controlnet_image_aspect_ratio , resize_longest_dimension:[size]或off (default)。
# output image will be set to the same size as your input image, regardless of any !WIDTH & !HEIGHT directives
!AUTO_SIZE = match_input_image_size
# output image will use the larger of your !WIDTH & !HEIGHT directives as the longer output dimension
# the shorter output dimension will be calculated so that the output image has the same aspect ratio as the ControlNet input image
!AUTO_SIZE = match_controlnet_image_aspect_ratio
# the output image will be re-sized so that the longer of your !WIDTH/!HEIGHT settings becomes the size specified here
# the shorter dimension will be calculated to maintain the same aspect ratio as the original !WIDTH/!HEIGHT settings
# useful if you have an existing prompt file full of size directives and want to quickly change the size on all of them
!AUTO_SIZE = resize_longest_dimension: 1280
請注意,所有重新彙編都將導致圖像尺寸被64分組(兩個維度都將被四捨五入至最近的劃分為64個數字)。
例如,使用!auto_size = match_controlnet_image_aspect_ratio ,如果將!寬度和!高度設置為1408,並傳遞1920x1080 ControlNet Input Imput Imput Image(16:9寬高比),則結果輸出圖像將為1408x768。較大的尺寸已設置為較大的寬度和!高度設置,並且已經計算出較小的尺寸,其尺寸盡可能接近16:9的縱橫比,較小的尺寸均勻地劃分為64。
在嵌入式IPTC元數據中設置圖像的標題。通常,只有計劃將圖像導出到其他使用IPTC標准進行編目等的應用程序中,等等。
IPTC_TITLE = Super awesome AI kitten image!
像往常一樣將其設置為一無所有。
在嵌入式IPTC元數據中設置圖像的描述。通常,只有計劃將圖像導出到其他使用IPTC標准進行編目等的應用程序中,等等。
IPTC_DESCRIPTION = This is an excellent AI image of a cute kitten.
像往常一樣將其設置為一無所有。
在嵌入的IPTC元數據中設置圖像的關鍵字。通常,只有計劃將圖像導出到其他使用IPTC標准進行編目等其他應用程序中。關鍵字應該是逗號分隔的列表。
IPTC_KEYWORDS = ai, kitten, cute
像往常一樣將其設置為一無所有。
在嵌入的IPTC元數據中設置圖像的版權語句。通常,只有計劃將圖像導出到其他使用IPTC標准進行編目等的應用程序中,等等。
IPTC_COPYRIGHT = Copyright © 2023 Super Awesome Image Studio
像往常一樣將其設置為一無所有。
告訴Dream Factory在及時文件中完成所有可能的組合後,是否繼續製作圖像。選項是是(默認)或否。如果設置為“否”,Dream Factory完成了所有提示後將閒置。
!REPEAT = yes
允許您在當前文件完成處理時指定另一個提示文件以加載。不包括路徑; Dream Factory將在您的config.txt文件中指定的提示位置中自動查找提示文件。請注意,這將在隨機提示文件或標準提示文件中沒有效果!重複=是,因為這些文件將永遠運行。
!NEXT_PROMPT_FILE = example-random
如果您省略,則將自動附加文件擴展名。
使用隨機模式提示文件時,將設置最小!如果!min_scale和!max_scale設置為不同的值,則Dream Factory將在每個提示符之間選擇它們之間的隨機值。
!MIN_SCALE = 6.0
棄用 - 考慮使用!scale = xx -xx.x格式。
使用隨機模式提示文件時,設置要使用的最大!比例值。如果!min_scale和!max_scale設置為不同的值,則Dream Factory將在每個提示符之間選擇它們之間的隨機值。
!MIN_SCALE = 18.5
棄用 - 考慮使用!scale = xx -xx.x格式。
使用隨機模式提示文件時,將設置最小值的強度值。如果!min_strength和!max_strength設置為不同的值,則Dream Factory將在每個提示符之間選擇它們之間的隨機值。
!MIN_STRENGTH = 0.45
棄用 - 考慮使用!強度= 0.xx -0.xx格式。
使用隨機模式提示文件時,設置最大!強度值要使用。如果!min_strength和!max_strength設置為不同的值,則Dream Factory將在每個提示符之間選擇它們之間的隨機值。
!MAX_STRENGTH = 0.80
棄用 - 考慮使用!強度= 0.xx -0.xx格式。
使用隨機模式提示文件時,請設置一個應從隨機輸入圖像中取出的目錄。如果設置了此設置,Dream Factory將選擇一個隨機輸入映像,以用於每個提示。
!RANDOM_INPUT_IMAGE_DIR = C:images # specifies the full path to a directory containing input images
!RANDOM_INPUT_IMAGE_DIR = images # specifies a relative path to a directory containing input images
!RANDOM_INPUT_IMAGE_DIR = # specifies no input images should be used
特別指令僅在!MODE = process .prompts文件,並且僅在與!UPSCALE_MODEL = sd一起使用時才有效。該指令允許您在執行SD高檔時指定要使用的不同模型(例如用於創建原始圖像的模型)。
!OVERRIDE_CKPT_FILE = juggernaut
注意:在此處,子字符串匹配是有效的。在示例中,“ Juggernaut”將與包含字符串“ Juggernaut”的第一個有效模型文件匹配。
特別指令僅在!MODE = process .prompts文件,並且僅在與!UPSCALE_MODEL = sd一起使用時才有效。該指令允許您在執行SD高檔時指定使用的其他VAE(例如用於創建原始圖像的VAE)。
!OVERRIDE_VAE = vae-ft-mse-840000-ema-pruned
注意:在此處,子字符串匹配是有效的。在示例中,“ vae-ft-mse-840000-ema-prouned”將與第一個包含字符串的有效VAE文件匹配。
特殊指令僅在!MODE = process .prompts文件中有效,並且在與!UPSCALE_MODEL = sd一起使用時只有任何效果。該指令允許您在config.txt文件中覆蓋Max_output_size的值設置(請參閱config-default.txt有關詳細說明)。
!OVERRIDE_MAX_OUTPUT_SIZE = 2,000,000
特殊指令僅在!MODE = process .prompts文件中有效,並且在與!UPSCALE_MODEL = sd一起使用時只有任何效果。該指令允許您在執行SD高檔時指定要使用的其他採樣器(例如用於創建原始圖像的採樣器)。
!OVERRIDE_SAMPLER = DPM++ 2M Karras
特殊指令僅在!MODE = process .prompts文件中有效,並且在與!UPSCALE_MODEL = sd一起使用時只有任何效果。該指令允許您在執行SD高檔時指定不同數量的步驟(例如,用於創建原始圖像的步驟值)。
!OVERRIDE_STEPS = 40
請注意,您正在覆蓋用於創建原始圖像的步驟數,而不是設置用於實際升級的步驟數(這取決於步驟值和!upscale_sd_strength的組合)。因此,例如,如果創建了原始映像,則使用120個步驟創建了!OVERRIDE_STEPS = 40在!process_mode sd sd upscale apscale作業中!UPSCALE_SD_STRENGTH = 0.30而不是40個步驟(120 * 0.3)。
當使用“特殊模式”中的任何一個= topscaling方法( !upscale_model = ultimate或!
!UPSCALE_SD_STRENGTH = 0.28
允許您在控制最終的SD高檔擴展時通過!
!UPSCALE_ULT_MODEL = remacri
請注意,允許匹配。在此示例中,將使用包含字符串“ remacri”(案例不敏感)的第一個有效的自動1111上升器。
允許在夢想中的工廠提示中使用自動1111樣式。對多種樣式使用逗號分隔的列表。您也可以將!樣式設置為隨機x ,以使夢想工廠每次執行提示時隨機選擇X樣式( !STYLES = random意味著單個隨機樣式)。設置!樣式一無所有。
!STYLES = pop art
!STYLES = pop art, victorian, neopunk
!STYLES = random
!STYLES = random 4
!STYLES =
注意:子字符串還可以(例如: !STYLES = pop如果它存在於自動1111樣式目錄中,則將與“ Pop Art”樣式匹配)。
允許您指定一個縮放係數,以應用於初始圖像以確定最終輸出大小。例如,如果您的!寬度和!高度都設置為1024,並且您設置了!HighRes_scale_factor = 1.5 ,則最終輸出圖像大小將為1536x1536。除非!HIGHRES_FIX = yes是的HIRES_FIX_MODE = advanced
!HIGHRES_SCALE_FACTOR = 1.25
將其設置為無需清除(如果在高級模式下設置highres_fix = yes,而不指定自己的highres_scale_factor,則將使用2.0的默認值)。
允許您在圖像生成的大量修復部分中指定要使用的上限器。除非!HIGHRES_FIX = yes 。
!HIGHRES_UPSCALER = ESRGAN_4x
設置為無需清除它(如果您在此處不設置任何東西並使用HighRes_fix = yes ,則將用作默認值。
允許您指定在圖像生成的大量固定部分中使用的不同模型。請注意,您可以在此處混合和匹配SDXL和SD 1.5型號(例如,使用SDXL進行初始一代,然後使用SD 1.5型號進行大量修復)!除非!HIGHRES_FIX = yes 。
!HIGHRES_CKPT_FILE = epicrealism
您也可以使用逗號分隔的模型列表。如果您還為主型號(!ckpt_file)使用多個模型,則將生成所有可能的組合。
!HIGHRES_CKPT_FILE = epicrealism, deliberate, dreamshaper
模型文件名上的子字符串匹配還可以(哈希也將起作用)。設置為無需清除它(如果您在此處不設置任何東西並使用HighRes_fix = yes ,則將用作默認值。
目前不工作; Auto1111還沒有API設置!允許您指定在圖像生成的大量固定部分中使用的其他VAE。除非!HIGHRES_FIX = yes 。
!HIGHRES_VAE = vae-ft-mse-840000-ema-pruned
VAE文件名上的子字符串匹配還可以。一無所有,可以清除它。
允許您指定在圖像生成的大量修復部分中使用的其他採樣器。除非!HIGHRES_FIX = yes 。
!HIGHRES_SAMPLER = Euler a
將其設置為清除(如果您在此處不設置任何東西並使用HighRes_fix = Yes ,則使用初始一代中使用的採樣器)。
允許您指定在圖像生成的大量修復部分中使用的其他調度程序。除非!HIGHRES_FIX = yes 。
!HIGHRES_SCHEDULER = Karras
設置為“一無所有”或自動清除它(如果您在此處不設置任何內容並使用HighRes_fix = Yes ,則將使用初始一代中使用的採樣器)。
允許您在圖像生成的大量固定部分中指定不同數量的步驟。除非!HIGHRES_FIX = yes 。
!HIGHRES_STEPS = 20
將其設置為無需清除它(如果您在此處不設置任何內容並使用HighRes_fix =是的,那麼將使用初始生成期間使用的步驟計數)。
允許您在圖像生成的大量修復部分中指定不同的提示。除非!HIGHRES_FIX = yes 。
!HIGHRES_PROMPT = highly detailed
您也可以將其設置為<remove loras> ,它將使用已刪除所有Lora/HyperNET參考的主提示。如果您使用SDXL Main Model&Lora(S)並想為高分辨率修復使用SD 1.5模型(在這種情況下,SDXL Loras與SD 1.5型號不兼容),這很有用,例如。
!HIGHRES_PROMPT = <remove loras>
最後,您可以使用特殊令牌在!HighRes_prompt中引用原始/主提示。如果您想以某種方式添加到原始提示中,很有用。
!HIGHRES_PROMPT = <prompt>, highly detailed, 8k
將其設置為無需清除它(如果您在此處不設置任何內容並使用HighRes_fix =是的,那麼將使用初始生成期間使用的提示)。
允許您在圖像生成的大量固定部分中指定不同的負提示。除非!HIGHRES_FIX = yes 。
!HIGHRES_NEG_PROMPT = ugly
您也可以在!HighRes_neg_prompt中使用特殊令牌<neg_prompt>來引用原始/主要負面提示。如果您想以某種方式添加到原始負面提示中,很有用。
!HIGHRES_NEG_PROMPT = <neg_prompt>, illustration, drawing
將其設置為無需清除它(如果您在此處不設置任何內容並使用HighRes_fix =是的,那麼將使用初始生成期間使用的負提示)。
允許您指定要使用的煉油廠模型。
!REFINER_CKPT_FILE = sd_xl_base_1.0_refiner
模型文件名上的子字符串匹配還可以(哈希也將起作用)。一無所有,可以清除它。
允許您在圖像生成期間(0-1)指定何時應切換到煉油廠模型。例如,設置0.50將在一半中完全執行開關。
!REFINER_SWITCH = 0.75
設置為無需清除它(如果您在這裡不設置任何東西,而是使用!
允許您通過Dream Factory指令控制Adetailer擴展。請注意,您必須已經安裝了Adetailer擴展程序才能使用這些擴展!
!ADETAILER_USE = yes
!ADETAILER_MODEL = face_yolov8n.pt
以上命令是激活Adetailer所需的最低命令。請注意,當前無法驗證提供給!adetailer_model的值是否有效通過API調用,因此,如果您在此處提供無效的模型,您會看到錯誤(您可以通過auto1111看到可用模型的列表)
設置!adetailer_use to no do停用Adetailer。
此外,以下可選指令允許其他控制:
# set these to use a specific checkpoint and/or vae during the ADetailer step
# substring matches are ok here
!ADETAILER_CKPT_FILE = deliberate
!ADETAILER_VAE = vae-ft-mse-840000-ema-pruned
# set these to use a specific prompt/negative prompt during the ADetailer step
# these will target only the area that ADetailer inpaints (e.g. faces, hands, etc)
!ADETAILER_PROMPT = detailed studio portrait of a middle-aged man
!ADETAILER_NEG_PROMPT = hands, cartoon, cgi, render, illustration, painting, drawing
# set these to override default ADetailer values
!ADETAILER_STRENGTH = 0.75
!ADETAILER_SCALE = 7.5
!ADETAILER_SAMPLER = Euler
!ADETAILER_CLIP_SKIP = 1
請注意,您可以在正常(!mode =標準)或過程(!mode = process)中使用這些Adetailer指令。最有效的工作流程可能是在不啟用Adetailer的情況下生成初始圖像,然後設置一個流程.PROMPTS文件以批量處理選定圖像的文件夾(例如,修復face/hands/etc)。
您可以從任何頁面上單擊頂部幫助的“畫廊”,以查看Dream Factory為您製作的圖像。默認情況下,您將查看最新創建的200張圖像(可以通過gallery_max_images設置在您的config.txt文件中更改要顯示的最大圖像數)。您還可以選擇一個特定的輸出文件夾,以通過頁面頂部附近的下拉菜單瀏覽。
選擇特定文件夾瀏覽時,將出現在文件夾名稱旁邊的zip圖標。單擊此功能將以.zip文件下載圖像的整個文件夾。
單擊任何圖像將打開該圖像的展開視圖,並顯示所選圖像的關聯元數據。在查看圖像時,還有幾個其他命令 - 這些命令由圖像上的圖標表示。在每個圖標上進行鼠標將帶來一個幫助氣泡,以解釋每個圖標的工作方式,以及命令的關聯熱鍵(例如:左右箭頭鍵瀏覽圖像,“ del”以刪除圖像等)。
通過HOTKEY刪除圖像(“ DEL”鍵)時,請注意禁用“確認對話框”以允許您快速刪除大量圖像(單擊圖像上方的刪除圖標上方會提示您通過附加彈出式刪除刪除)。如果您不小心刪除要保留的圖像,則可以在關閉Dream Factory向下之前的[dream factory]/server/temp文件夾中恢復它們(在每個關閉時都清除此文件夾!)。
雖然Dream Factory並非真正打算在移動設備上使用,但在查看畫廊中的圖像以快速瀏覽時,您可以向左和向右滑動。在查看圖像時刷向下,將列出“刪除確認”對話框。滑動互動僅在Chrome上進行了Android的測試,並且不能保證在其他移動平台上正常工作。
可以在此處找到一些更高級用戶的用法方案。
通配符文件是將簡單的文本文件放入您的夢境/提示/通配符目錄中。您可以使用__[wildcard filename]__ (這是2個下劃線,隨後是不帶.TXT擴展名的通配符,然後再進行2個下指數)來引用這些通配符。當Dream Factory構建最終提示時,它將用文件的隨機行替換通配符參考。
您可以按CTRL+H或單擊“使用集成編輯器”提示文件時單擊“幫助”按鈕,以查看可用的通配符列表(單擊一個將其複製到剪貼板上,以便於包含在提示文件中!)。
包括一個示例顏色。在您的任何提示中指定__colors__都會拉動隨機顏色。
允許(截至2023-02-16開始)嵌套通配符(對通配符文件中的通配符引用)。
您在Auto1111型號目錄中放置的任何自定義模型均可通過!CKPT_FILE指令在Dream Factory內使用。對於需要觸發單詞的模型(例如,Mo-Di模型要求您在提示中將短語“現代迪斯尼風格”放置在某個地方),您可以讓Dream Factory自動為您插入這些詞。
在每個Dream Factory啟動(第一個GPU完全初始化之後)之後,將在您的Dream Factory Root文件夾中創建/更新模型triggers.txt文件。您的每個可用型號都應顯示在此文件中,然後是逗號。要將觸發短語/令牌與模型相關聯,只需將其遵循該模型輸入的逗號即可。例如,以下條目將“現代迪斯尼風格”與名為“ modi-v1-pruned.ckpt”的模型相關聯:
moDi-v1-pruned.ckpt [ccf3615f], modern disney style
您可以使用!auto_insert_model_trigger控制自動插入的觸發詞的放置。
請注意,如果您啟用了Civitai集成,則模型triggers.txt文件中的條目將優先於civitai刮擦的觸發單詞。
如果您已將任何文本反演嵌入在您的自動11 SD WebUI中,則可以通過集成提示編輯器的內置幫助來引用它們。
只需按CTRL+H或單擊“使用集成編輯器”提示文件時單擊“幫助”按鈕,以查看您可用的嵌入式列表(單擊一個將其複製到剪貼板上,以便於包含在提示文件中!)。
(2023-03-13注意:應該將其視為WIP-編輯參考頁面非常粗糙,可能有一些錯誤!)
如果您已經安裝了Auto1111 ControlNet擴展名,並且至少安裝了ControlNet預先訓練的模型,則應在Dream Factory中自動啟用ControlNet功能。
您可以在此處參考當前控製網絡提示文件指令。
請注意,至少您需要在提示文件中同時設置!controlnet_input_image和!controlnet_model即可激活ControlNet。
如果您有一個控製網庫庫,則可以將它們放入位於主要夢想工廠文件夾附近的姿勢目錄中。姿勢圖像文件可以組織到自己的文件夾中(深度不超過一個級別)。
可選:您可以在每個文件夾中的每個文件夾中創建一個次級指導。在預覽子文件夾中,您可以放置與每個姿勢文件相對應的渲染映像- 這些預覽必須與姿勢文件相同(儘管您可能具有不同的圖像格式;當前.jpg或.png將起作用) 。這些預覽將與Dream Factory集成提示編輯器參考中的姿勢圖像文件一起出現。
查看Poses 示例Dream Factory文件夾,以獲取姿勢圖像文件及其相應的預覽文件的幾個示例。您應該能夠在“夢想出廠提示文件編輯器參考區域”中查看這些內容(在編輯任何提示文件打開時按Control-H)。
您可以通過輸入來將Dream Factory更新為最新版本:
python setup.py --update
可以在這裡找到常見問題的修復。
由於自動對其自動1111倉庫缺乏明確的許可,我選擇不包裝Dream Factory使用其自己的自動1111 SD WebUI版本。如果將來自動對自動1111進行重大更改,則夢想工廠可能會停止工作。如果出現問題,我將嘗試將其更新到最新的自動工程版本中的最新版本。
您可以通過轉到Auto1111安裝目錄並在命令行中鍵入此信息,以獲取自動1111的SD WebUI的已知兼容版本:
git checkout 82a973c04367123ae98bd9abdf80d9eda9b910e2
如果您發現哈希參考不是樹的錯誤,請運行git pull並重試。
如果/當您想返回最新版本時,您只需運行git checkout master即可。
(更新了2024-07-27,先前支持的哈希:BEF51AED032C0AAAA5CFD804445BC4CF0D85B408B5)