Skip to main content

Stable Diffusion - Model Training

ตัวอย่างจะเน้นการฝึกภาพบุคคล

เตรียมภาพเพื่อฝึกโมเดล

สมมุติว่าต้องการฝึกหน้าคน เช่นนาย A ให้เตรียมภาพไว้อย่างน้อย 10-20 รูป ก็เพียงพอโดย

  • เน้นภาพคม ๆ คุณภาพสูง noise ไม่เยอะ
  • พื้นหลังและสภาพแสงหลาย ๆ แบบ
  • หลากหลายมุมไม่ใช่หน้าตรงอย่างเดียว เงยหน้า ก้มหน้า หันข้าง ได้หมด

ภาพยิ่งเยอะยิ่งใช้เวลาฝึกนาน

หลังจากนั้นให้ resize ให้มีขนาด 512*512 โดยใช้โปรแกรมที่ถนัด หรือใช้

https://www.birme.net/?target_width=512&target_height=512

โดย resize ให้บุคคลอยู่ตรงกลางภาพหลังจากนั้นจึงจับใส่ folder ให้เรียบร้อยเช่น

D:\AI\Model\ชื่อ folder



สร้าง caption

เปิด Stable Diffusion แล้วไปที่ Train > Preprocess images

Source directory ให้ใส่ path folder ภาพ เช่น

D:\AI\Model\ชื่อ folder


Destination directory ให้ใส่ path folder ภาพที่ทำการสร้าง caption แล้ว เช่น

D:\AI\Model\ชื่อ folder\processed


ติ๊กถูกที่ Use BLIP for caption หลังจากนั้นกด Preprocess

โปรแกรมจะทำการสร้าง caption พร้อมกับ copy รูปไปไว้ใน Destination directory




แก้ไข caption





จบขั้นตอนการเตรียมภาพ




Model Training

https://www.reddit.com/r/StableDiffusion/comments/10cgxrx/wellresearched_comparison_of_training_techniques/

Google Colab

สำหรับคนที่ต้องการใช้ google colab ให้อ่านตรงนี้

ย้ายไฟล์เข้า Google Drive

Copy ไฟล์จาก folder processed ที่ทำไว้ ไปใน Google Drive ของเราเช่น

My Drive/AI/ชื่อบุคคลที่จะทำ/processed




 


 



การใช้งานบน Colab จะกินพื้นที่ Goggle Drive ของเรา ไม่แน่ใจว่าเท่าไร น่าจะ 8-9 GB

เนื่องจากเราใช้ Coab แบบฟรี Colab จะทำงานได้ประมาณ 10-12 ชม หลังจากนั้นต้องปล่อยพัก 12 ชม+ ถึงจะกลับมาใช้งานได้อีก

เปิดใช้งาน Colab


ให้เปิดไฟล์ Colab ตัวอย่างที่เขาทำกันไว้

https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast_stable_diffusion_AUTOMATIC1111.ipynb

หลังจากนั้นให้ copy Colab โดยกดที่ Copy to Drive โดยไฟล์จะถูก copy ไปไว้ใน Colab Notebook ใน Google Drive ของเรา

image.png

เปิดไฟล์ Colab ของเราเอง (ครั้งแรก browser จะเด้งไปที่ tab ใหม่ให้เลย) แล้วจะเห็นเมนูหลักตัวใหญ่ ๆ 5 ขั้นตอน

กดปุ่ม play เพื่อเชื่อม Google Drive ของเราไว้ดึงไฟล์ รูปภาพที่จะใช้ทำโมเดลจาก folder processed

image.png

เมื่อเชื่อมต่อเรียบร้อยแล้วจะเห็น folder Google Drive เราทั้งหมด และจะเห็น MyDrive/AI ที่เราทำไว้

กดปุ่ม play Install/Update AUTOMATIC1111 repo (รอจนเสร็จ)

กดปุ่ม play Requirements (รอจนเสร็จ)

Model Download/Load
  • เปิดมาครั้งแรกจะยังไม่มีโมเดล โดยในตัวอย่างนี้จะใช้โมเดลปัจจุบันคือ SD 1.5
  • ดูที่ MODEL_LINK และใส่ url ของโมเดล 1.5 ลงไป จะได้ตามรูปด้านล่างหลังจากนั้น กดปุ่ม play และรอโหลดโมเดลจนเสร็จ
https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.ckpt

image.png

โมเดลที่โหลดมาแล้วจะถูกเปลี่ยนชื่อเป็น model.ckpt [e1141589a6] ซึ่งจะไม่เหมือนกับที่เราโหลดไปใช้งานบน PC

Start Stable-Diffusion
  • กดปุ่ม play แล้วรอสักครู่ จะมี URL มาให้กดเปิดใช้งานเหมือนตอนใช้บน PC
  • วิธีใช้งานให้ทำตามขั้นตอนปกติเหมือนบน PC ได้เลย

เมื่อต้องการใช้งาน Colab ในภายหลังให้ไปที่ Colab Notebook ของเรา และทำตามขั้นตอนเดิมทุกอย่าง ยกเว้นการ Download Model ที่ทำทีเดียว


ฝึก Model ผ่าน Automatic 1111 ในเครื่อง

ไกด์ยังไมได้เขียน

ดูไกด์จาก


Create embedding

number of vectors per token

2-3 = ต่ำกว่า 10 รูป

5-6 = 10-30 รูป

8-10 = 40-60 รูป

10-12 = 60-100 รูป





Train

ถ้ามี 30 รูป

Batch size 7

Gradient 5

Batch size x Gradient (x กันแล้วห้ามเกินจำนวนภาพที่มาทำ และ ห้าม Gradient มากกว่า Batch size)

7*5 = 35



progressive learning rates: 0.05:10, 0.02:20, 0.01:60, 0.005:200, 0.002:500, 0.001:3000, 0.0005

image.png