Closed proportionequation closed 9 months ago
진행상황 공유해주세요. 어떤가요
[Dataset 0]
caching latents.
checking cache validity...
100%|█████████████████████████████████████████| 41/41 [00:00<00:00, 872926.21it/s]
caching latents...
0%| | 0/41 [00:01<?, ?it/s]
Traceback (most recent call last):
File "/home/cora3/vscode_project/SweetBrothers/kohya_ss/kohya_ss/./sdxl_train.py", line 775, in
raise RuntimeError(f"NaN detected in latents: {info.absolute_path}") RuntimeError: NaN detected in latents <- error?
LoRA 학습 및 적용 성공
원본 LoRA 적용
좀 만 많은 예시가 필요해 보입니다. 조금의 느낌은 있는것 같아요.
예시 유저 데이터 학습해서 적용했을 때 정성평가 시 좋은 성적을 내는 것 같습니다. 좋았습니다.
from diffusers import StableDiffusionXLPipeline
import torch
pipe = StableDiffusionXLPipeline.from_pretrained("segmind/SSD-1B", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda")
#if using torch < 2.0
#pipe.enable_xformers_memory_efficient_attention()
prompt = "An astronaut riding a green horse" # Your prompt here
neg_prompt = "ugly, blurry, poor quality" # Negative prompt here
image = pipe(prompt=prompt, negative_prompt=neg_prompt).images[0]
print("done")
image.show()
from torch.onnx import export
from accelerate import Accelerator
export MODEL_NAME="segmind/SSD-1B"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="/home/cora3/vscode_project/SweetBrothers/kohya_ss/images/train/"
accelerate launch train_text_to_image_lora_sdxl.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--pretrained_vae_model_name_or_path=$VAE_NAME \
--dataset_name=$DATASET_NAME --caption_column="text" \
--resolution=1024 --random_flip \
--train_batch_size=1 \
--num_train_epochs=2 --checkpointing_steps=500 \
--learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0 \
--mixed_precision="fp16" \
--seed=42 \
--output_dir="sd-pokemon-model-lora-ssd" \
--validation_prompt="cute dragon creature" --report_to="wandb" \
--push_to_hub
export MODEL_NAME="stabilityai/stable-diffusion-xl-base-1.0"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="/home/cora3/vscode_project/SweetBrothers/kohya_ss/images/train/haerin10"
accelerate launch train_text_to_image_lora_sdxl.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--pretrained_vae_model_name_or_path=$VAE_NAME \
--dataset_name=$DATASET_NAME --caption_column="text" \
--resolution=1024 --random_flip \
--train_batch_size=1 \
--num_train_epochs=20 --checkpointing_steps=500 \
--learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0 \
--mixed_precision="fp16" \
--seed=42 \
--output_dir="haerin-model-lora40with-ssd_50" \
--validation_prompt="realistic, potrait, beautiful girl idol" --report_to="wandb" \
--push_to_hub
export MODEL_NAME="runwayml/stable-diffusion-v1-5"
export OUTPUT_DIR="haerin-model-lora10with-1_5"
export DATASET_NAME="/home/cora3/vscode_project/SweetBrothers/kohya_ss/images/train/haerin10"
accelerate launch --mixed_precision="fp16" train_text_to_image_lora.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--dataset_name=$DATASET_NAME \
--resolution=512 --center_crop --random_flip \
--train_batch_size=1 \
--gradient_accumulation_steps=4 \
--max_train_steps=15000 \
--learning_rate=1e-04 \
--max_grad_norm=1 \
--lr_scheduler="cosine" --lr_warmup_steps=0 \
--output_dir=${OUTPUT_DIR} \
--push_to_hub \
--report_to=wandb \
--checkpointing_steps=500 \
--validation_prompt="realistic, potrait, beautiful girl idol" \
--seed=1337
from diffusers import DiffusionPipeline
import torch
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16).to("cuda")
#Lora 1
#pipe.load_lora_weights(".", weight_name="lora_models/dd.safetensors")
#pipe.fuse_lora()
#Lora 2
#pipe.load_lora_weights(".", weight_name="lora_models/pxart.safetensors")
#pipe.fuse_lora()
#Lora 3
pipe.load_lora_weights(".", weight_name="lora_models/ink.safetensors")
pipe.fuse_lora()
generator = torch.manual_seed(0)
images_fusion = pipe("masterpiece, best quality, mountain", generator=generator, num_inference_steps=20).images[0]
images_fusion.save("out/img8.png")
학습시간 30분 +-10%기준이 소요되는 시간으로 비교하였고 추론 시간은 SSD-1B 가 제일 짧았고, SD1.5, SDXL 순으로 점점 길어졌으며 전부 2분 안 입니다.
LoRA 학습 후 LoRA 적용하였고, 옵션별로 비교한 결과 최종 결과로 face swap 모델인 easy photo 사용으로 결론지었습니다. api작성 후 원할한 작동 확인하였습니다.
음... 위 부분들의 각 모델의 옵션값은 보이는데 추론 결과는 따로 지표가 없는건가요? 확인 부탁드립니다.
추론 결과는 대용량이기에 slack에 압축 파일로 올려두었습니다.
추론 결과는 3주차에 올리는게 좋을 것 같습니다.
설명(Description)
특정인의 이미지 수를 5~30장 사이에서 LoRA를 학습한 후 적용한다.
할 일(Tasks)
참조(References)