แนะนำ DVC

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Ravi Bhadauria

Machine Learning Engineer

Git กับ Version Control

  • ระบบ version control สำหรับโค้ด
  • พัฒนาแบบ local อิสระจากกัน
    • แตก branch และ merge
    • จัดการประวัติเวอร์ชัน
  • รองรับการทำงานร่วมกัน

แผนผังโมเดลแบบกระจายศูนย์ของ Git

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Git กับ Version Control

  • ใช้งานผ่าน CLI
  • รันบน terminal หรือที่เรียกว่า shell
  • Git ติดตามเนื้อหาผ่าน repository
    • ไฟล์/โฟลเดอร์จริงที่ต้องการติดตาม
    • ข้อมูล metadata ของ Git (ในโฟลเดอร์ .git)

ภาพโครงสร้าง Git repository

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Data Version Control (DVC)

  • DVC: เครื่องมือ Data Version Control
    • จัดการข้อมูลและการทดลอง
    • ใช้งานคล้าย Git

ภาพแสดงแนวคิดการทำ versioning ข้อมูลด้วย Git และ DVC

  • Git ติดตาม metadata ส่วน DVC จัดการ versioning ของข้อมูล
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Git vs DVC CLI

Git

  • สร้าง repository ในโฟลเดอร์งาน
$ git init
  • เพิ่มไฟล์เข้า repository (staging การเปลี่ยนแปลง)
$ git add code.py
  • บันทึกการเปลี่ยนแปลง (ในประวัติเวอร์ชัน)
$ git commit -m "adding first file"

DVC

  • สร้าง DVC repository ในโฟลเดอร์งาน
$ dvc init
  • เพิ่มไฟล์ข้อมูลเข้า DVC
$ dvc add data/mydata.csv
  • อัปเดตไฟล์ข้อมูลทั้งหมดที่ติดตามอยู่
$ dvc commit
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Git vs DVC CLI

Git

  • push การเปลี่ยนแปลงโค้ดไปยัง remote server
$ git push
  • pull การเปลี่ยนแปลงจาก remote
$ git pull
  • โคลน repository จาก remote (Github)
$ git clone \
https://github.com/username/repository-name.git

DVC

  • push การเปลี่ยนแปลงข้อมูลไปยัง remote data server
$ dvc push
  • ซิงค์โปรเจกต์ DVC
$ dvc pull
  • ดาวน์โหลดไฟล์หรือไดเรกทอรีที่ติดตามด้วย DVC
$ dvc get \
https://github.com/username/repo-name model.pkl
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

มาฝึกกันเถอะ!

การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

Preparing Video For Download...