Structured_Dreambooth_LoRA
1.0.0
models , datasets , engines , tools , utils ,以使其更可讀和可維護,並且可以輕鬆擴展到其他任務。
conda create -n dreambooth python=3.8
conda activate dreambooth
# install pytorch
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
# install diffusers from source
pip install git+https://github.com/huggingface/diffusers
pip install -r requirements.txtStep1 :準備自定義圖像並將其放入文件夾中。通常,5至10張圖像就足夠了。我們建議您以相同尺寸的圖像裁剪,例如512x512,以避免不必要的人工製品。Step2 :初始化加速度環境。 Accelerate是一個Pytorch庫,它簡化了啟動多GPU培訓和評估工作的過程。它是通過擁抱臉而開發的。 accelerate configStep3 :運行培訓腳本。檢查點和样本都將保存在work_dirs文件夾中。通常,只需1-2分鐘即可用8GB GPU紀念量微調模型。 150個時代足以訓練一個物體,但是,在對人臉進行訓練時,我們建議您訓練800個時代。 Dreambooth的超級參數非常敏感,您可以參考原始博客以獲取一些見解。 accelerate launch main.py
--pretrained_model_name_or_path= " runwayml/stable-diffusion-v1-5 "
--instance_data_dir= " imgs/dogs "
--instance_prompt= " a photo of sks dog "
--validation_prompt= " a photo of sks dog is swimming "
--with_prior_preservation
--class_prompt== ' a photo of dog '
--resolution=512
--train_batch_size=1
--gradient_accumulation_steps=1
--learning_rate=2e-4
--max_train_steps=150
--validation_epochs 4事先保存用於避免過度擬合和語言拖船(請查看紙張以了解您是否有興趣)。為了事先保存,您將同一類的其他圖像作為培訓過程的一部分。好處是,您可以使用穩定的擴散模型本身生成這些圖像!培訓腳本將將生成的圖像保存到您指定的本地路徑中。
accelerate launch main.py
--pretrained_model_name_or_path= " runwayml/stable-diffusion-v1-5 "
--instance_data_dir= " imgs/dogs "
--instance_prompt= " a photo of sks dog "
--validation_prompt= " a photo of sks dog is swimming "
--resolution=512
--train_batch_size=1
--gradient_accumulation_steps=1
--learning_rate=2e-4
--max_train_steps=150
--validation_epochs 10您可以用Lora微調文本編碼器(剪輯)。但是,我們發現這導致了不融合的結果。這種現象與原始實施中報告的結果相反
accelerate launch main.py
--pretrained_model_name_or_path= " runwayml/stable-diffusion-v1-5 "
--instance_data_dir= " imgs/dogs "
--instance_prompt= " a photo of sks dog "
--validation_prompt= " a photo of sks dog is swimming "
--with_prior_preservation
--train_text_encoder
--class_prompt== ' a photo of dog '
--resolution=512
--train_batch_size=1
--gradient_accumulation_steps=1
--learning_rate=2e-4
--max_train_steps=150
--validation_epochs 4訓練後,您可以使用以下命令從提示中生成圖像。我們還為狗提供了一個驗證的檢查站(示例)
wget https://github.com/Mountchicken/Structured_Dreambooth_LoRA/releases/download/checkpoint_dog/checkpoint-200.zip
unzip -q checkpoint-200.zip accelerate launch main.py
--pretrained_model_name_or_path= " runwayml/stable-diffusion-v1-5 "
--checkpoint_dir= " checkpoint-200 "
--prompt= " A photo of sks dog is swimming
--output_dir= $OUTPUT_DIR