DVC Cache และการ Staging ไฟล์

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

Ravi Bhadauria

Machine Learning Engineer

DVC Cache

  • พื้นที่จัดเก็บข้อมูลซ่อนเร้นสำหรับไฟล์ข้อมูลและเวอร์ชันที่ติดตาม
  • เก็บไฟล์ชั่วคราวก่อน commit
    • แนะนำให้ใช้กับชุดข้อมูลขนาดใหญ่และไฟล์ไบนารี
  • อยู่ในไดเรกทอรี .dvc ภายใน workspace
    • กำหนดตำแหน่งที่ตั้งได้
      $ dvc cache dir ~/mycache
      

ภาพโครงสร้าง DVC ภายใน workspace

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

การเพิ่มไฟล์เข้า Cache

  • เพิ่มไฟล์ข้อมูลเข้า DVC
$ dvc add data.csv
100% Adding...|====================|1/1 [00:00, 53.55file/s]

To track the changes with git, run:
    git add data.csv.dvc
To enable auto staging, run:
    dvc config core.autostage true
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

ไฟล์ .dvc

  • ไฟล์ที่ DVC ติดตามจะมีไฟล์ .dvc คู่กัน

    • data.csv -> data.csv.dvc
  • ใช้ git commit -m "data.csv.dvc" เพื่อกำหนดเวอร์ชันของไฟล์ข้อมูล

  • เนื้อหาของไฟล์ .dvc

outs:

- md5: f38a850818377e97155d22755caa39d0
size: 16
hash: md5
path: data.csv
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

การทำงานกับ DVC Cache

  • พาธของไฟล์ cache ใช้ค่า MD5
$ find .dvc/cache -type f
.dvc/cache/f3/8a850818377e97155d22755caa39d0
  • คำนวณค่า MD5 ของชุดข้อมูล
$ md5 data.csv
MD5 (data.csv) = f38a850818377e97155d22755caa39d0
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

การทำงานกับ DVC Cache

  • ใช้ dvc add -v เพื่อแสดงผลลัพธ์แบบละเอียด

ภาพผลลัพธ์จากการรัน dvc add พร้อม flag -v

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

การลบไฟล์และการล้าง Cache

  • ลบไฟล์ที่เพิ่มไว้ด้วย dvc remove
$ dvc remove data.csv.dvc
  • ใช้ dvc gc เพื่อล้าง cache
    • ใช้ flag -w เพื่อลบ cache ใน workspace
$ dvc gc -w
WARNING: This will remove all cache except items used in the workspace of the current repo.
Are you sure you want to proceed? [y/n]: y
Removed 1 objects from repo cache.
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

สรุป

  • DVC cache จัดเก็บไฟล์ข้อมูลชั่วคราวก่อน commit
  • กำหนดตำแหน่ง cache
    • dvc cache dir ~/mycache
  • เพิ่มไฟล์เข้า cache
    • dvc add data.csv
    • สร้างไฟล์ .dvc พร้อม metadata
  • ลบไฟล์ที่เพิ่มไว้ด้วย dvc remove data.csv.dvc
    • ล้าง cache ใน workspace ด้วย dvc gc -w
การจัดการเวอร์ชันข้อมูลด้วย DVC เบื้องต้น

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

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

Preparing Video For Download...