使用Uni Fied Workflow導航擴散模型的Uni詩歌。

Unidiffusion是一個工具箱,可根據擴散器提供最新的培訓和推理算法。 Unidiffusion針對希望深入自定義穩定擴散培訓的研究人員和用戶。我們希望該代碼存儲庫可以為未來的研究和應用擴展提供出色的支持。
如果您還想實施以下內容,請與Unidiffusion一起玩樂
cross attention (或convolution / feedforward / ...)層。lr / weight decay / ...。注意:一致開發仍在開發中。某些模塊是從其他代碼存儲庫中藉來的,尚未進行測試,尤其是默認情況下,在配置系統中未啟用的組件。我們正在努力改善該項目。
在一致中,所有訓練方法都分解為三個維度
它允許我們使用強大的配置系統進行統一的培訓管道。
這是一個簡單的示例。在擴散器中,培訓text-to-image finetune和dreambooth喜歡:
python train_dreambooth.py --arg ......
python train_finetune.py --arg ......並且結合或調整某些方法很困難(例如,只有在Dreambooth期間訓練交叉注意)。
在Unidiffusion中,我們可以輕鬆地在配置文件中設計自己的培訓參數:
# text-to-image finetune
unet . training_args = { '' : { 'mode' : 'finetune' }}
# text-to-image finetune with lora
unet . training_args = { '' : { 'mode' : 'lora' }}
# update cross attention with lora
unet . training_args = { 'attn2' : { 'mode' : 'lora' }}
# dreambooth
unet . training_args = { '' : { 'mode' : 'finetune' }}
text_encoder . training_args = { 'text_embedding' : { 'initial' : True }}
# dreambooth with small lr for text-encoder
unet . training_args = { '' : { 'mode' : 'finetune' }}
text_encoder . training_args = { 'text_embedding' : { 'initial' : True , 'optim_kwargs' : { 'lr' : 1e-6 }}}然後運行
accelerate launch scripts/train.py --config-file /path/to/your/config這有助於更輕鬆的定制,組合和增強方法,還可以通過配置文件比較方法之間的相似性和差異。
在Unidiffusion中,我們為模塊選擇提供了常規的匹配系統。它允許我們通過常規匹配選擇模塊。有關更多詳細信息,請參見定期匹配以獲取模塊選擇。
我們為PEFT/PETL方法提供了強有力的支持。有關更多詳細信息,請參見PEFT/PETL方法。
pip install -e requirements.txtaccelerate config
wandb login有關詳細信息,請參見火車文字反轉 / Dreambooth / lora /文本對圖像的芬日。
accelerate launch scrits/common.py --config-file configs/train/text_to_image_finetune.py注意:個性化方法是在可訓練的參數,PEFT/PETL方法和培訓過程中分解的。有關更多詳細信息,請參見配置文件。
將來我們將添加以下功能。我們也歡迎社區的貢獻。隨意提取請求或打開問題以討論新功能的想法。
我們歡迎開源社區的捐款!
如果您在研究中使用此工具箱或希望參考此處發布的基線結果,請使用以下Bibtex條目:
@misc { pu2022diffusion ,
author = { Pu Cao, Tianrui Huang, Lu Yang, Qing Song } ,
title = { UniDiffusion } ,
howpublished = { url{https://github.com/PRIV-Creation/UniDiffusion} } ,
year = { 2023 }
}