Updated Readme with SD2.0 examples
This commit is contained in:
parent
6b87353f17
commit
e84f3ccd01
131
README.md
131
README.md
@ -74,6 +74,8 @@ my_sks_dog_dreambooth
|
||||
|
||||
## Execution
|
||||
|
||||
### SD1.5 example
|
||||
|
||||
Edit and paste the following in a Powershell terminal:
|
||||
|
||||
```powershell
|
||||
@ -95,6 +97,135 @@ accelerate launch --num_cpu_threads_per_process 6 train_db_fixed.py `
|
||||
--save_every_n_epochs=1
|
||||
```
|
||||
|
||||
### SD2.0 512 Base example
|
||||
|
||||
```powershell
|
||||
# variable values
|
||||
$pretrained_model_name_or_path = "D:\models\512-base-ema.ckpt"
|
||||
$data_dir = "D:\models\dariusz_zawadzki\kohya_reg\data"
|
||||
$reg_data_dir = "D:\models\dariusz_zawadzki\kohya_reg\reg"
|
||||
$logging_dir = "D:\models\dariusz_zawadzki\logs"
|
||||
$output_dir = "D:\models\dariusz_zawadzki\train_db_fixed_model_reg_v2"
|
||||
$resolution = "512,512"
|
||||
$lr_scheduler="polynomial"
|
||||
$cache_latents = 1 # 1 = true, 0 = false
|
||||
|
||||
$image_num = Get-ChildItem $data_dir -Recurse -File -Include *.png, *.jpg, *.webp | Measure-Object | %{$_.Count}
|
||||
|
||||
Write-Output "image_num: $image_num"
|
||||
|
||||
$dataset_repeats = 200
|
||||
$learning_rate = 2e-6
|
||||
$train_batch_size = 4
|
||||
$epoch = 1
|
||||
$save_every_n_epochs=1
|
||||
$mixed_precision="bf16"
|
||||
$num_cpu_threads_per_process=6
|
||||
|
||||
# You should not have to change values past this point
|
||||
if ($cache_latents -eq 1) {
|
||||
$cache_latents_value="--cache_latents"
|
||||
}
|
||||
else {
|
||||
$cache_latents_value=""
|
||||
}
|
||||
|
||||
$repeats = $image_num * $dataset_repeats
|
||||
$mts = [Math]::Ceiling($repeats / $train_batch_size * $epoch)
|
||||
|
||||
Write-Output "Repeats: $repeats"
|
||||
|
||||
cd D:\kohya_ss
|
||||
.\venv\Scripts\activate
|
||||
|
||||
accelerate launch --num_cpu_threads_per_process $num_cpu_threads_per_process train_db_fixed.py `
|
||||
--v2 `
|
||||
--pretrained_model_name_or_path=$pretrained_model_name_or_path `
|
||||
--train_data_dir=$data_dir `
|
||||
--output_dir=$output_dir `
|
||||
--resolution=$resolution `
|
||||
--train_batch_size=$train_batch_size `
|
||||
--learning_rate=$learning_rate `
|
||||
--max_train_steps=$mts `
|
||||
--use_8bit_adam `
|
||||
--xformers `
|
||||
--mixed_precision=$mixed_precision `
|
||||
$cache_latents_value `
|
||||
--save_every_n_epochs=$save_every_n_epochs `
|
||||
--logging_dir=$logging_dir `
|
||||
--save_precision="fp16" `
|
||||
--reg_data_dir=$reg_data_dir `
|
||||
--seed=494481440 `
|
||||
--lr_scheduler=$lr_scheduler
|
||||
|
||||
# Add the inference yaml file along with the model for proper loading. Need to have the same name as model... Most likelly "last.yaml" in our case.
|
||||
cp v2_inference\v2-inference.yaml $output_dir"\last.yaml"
|
||||
```
|
||||
|
||||
### SD2.0 768v Base example
|
||||
|
||||
```powershell
|
||||
# variable values
|
||||
$pretrained_model_name_or_path = "C:\Users\berna\Downloads\768-v-ema.ckpt"
|
||||
$data_dir = "D:\dreambooth\train_paper_artwork\kohya\data"
|
||||
$logging_dir = "D:\dreambooth\train_paper_artwork"
|
||||
$output_dir = "D:\models\paper_artwork\train_db_fixed_model_v2_768v"
|
||||
$resolution = "768,768"
|
||||
$lr_scheduler="polynomial"
|
||||
$cache_latents = 1 # 1 = true, 0 = false
|
||||
|
||||
$image_num = Get-ChildItem $data_dir -Recurse -File -Include *.png, *.jpg, *.webp | Measure-Object | %{$_.Count}
|
||||
|
||||
Write-Output "image_num: $image_num"
|
||||
|
||||
$dataset_repeats = 200
|
||||
$learning_rate = 2e-6
|
||||
$train_batch_size = 4
|
||||
$epoch = 1
|
||||
$save_every_n_epochs=1
|
||||
$mixed_precision="bf16"
|
||||
$num_cpu_threads_per_process=6
|
||||
|
||||
# You should not have to change values past this point
|
||||
if ($cache_latents -eq 1) {
|
||||
$cache_latents_value="--cache_latents"
|
||||
}
|
||||
else {
|
||||
$cache_latents_value=""
|
||||
}
|
||||
|
||||
$repeats = $image_num * $dataset_repeats
|
||||
$mts = [Math]::Ceiling($repeats / $train_batch_size * $epoch)
|
||||
|
||||
Write-Output "Repeats: $repeats"
|
||||
|
||||
cd D:\kohya_ss
|
||||
.\venv\Scripts\activate
|
||||
|
||||
accelerate launch --num_cpu_threads_per_process $num_cpu_threads_per_process train_db_fixed.py `
|
||||
--v2 `
|
||||
--v_parameterization `
|
||||
--pretrained_model_name_or_path=$pretrained_model_name_or_path `
|
||||
--train_data_dir=$data_dir `
|
||||
--output_dir=$output_dir `
|
||||
--resolution=$resolution `
|
||||
--train_batch_size=$train_batch_size `
|
||||
--learning_rate=$learning_rate `
|
||||
--max_train_steps=$mts `
|
||||
--use_8bit_adam `
|
||||
--xformers `
|
||||
--mixed_precision=$mixed_precision `
|
||||
$cache_latents_value `
|
||||
--save_every_n_epochs=$save_every_n_epochs `
|
||||
--logging_dir=$logging_dir `
|
||||
--save_precision="fp16" `
|
||||
--seed=494481440 `
|
||||
--lr_scheduler=$lr_scheduler
|
||||
|
||||
# Add the inference 768v yaml file along with the model for proper loading. Need to have the same name as model... Most likelly "last.yaml" in our case.
|
||||
cp v2_inference\v2-inference-v.yaml $output_dir"\last.yaml"
|
||||
```
|
||||
|
||||
## Finetuning
|
||||
|
||||
If you would rather use model finetuning rather than the dreambooth method you can use a command similat to the following. The advantage of fine tuning is that you do not need to worry about regularization images... but you need to provide captions for every images. The caption will be used to train the model. You can use auto1111 to preprocess your training images and add either BLIP or danbooru captions to them. You then need to edit those to add the name of the model and correct any wrong description.
|
||||
|
Loading…
Reference in New Issue
Block a user