🧤DVC Version Control for Machine Learning

การใช้งาน Version Control มีมานานแล้วสำหรับเหล่า Programmer และ Developer โดยในสายงานด้าน Data Science ที่ทำเกี่ยวกับ Machine Learning ก็มี Version Control เหมือนกัน เรียกว่า DVC ซึ่งจะคล้าย ๆ กับ Git

Workflow

หลักการทำงานของ DVC จะคล้าย ๆ กับ Git แต่จะแบ่่งการเก็บออกเป็น 2 แบบ คือ ส่วนที่เป็น Code จะเก็บอยู่ใน Remote Code Storage ของ Git Server และส่วนที่เป็น Model จะเก็บอยู่ใน Remote Data Storage เช่น S3, GS, Azure, SSH ตามรูปด้านล่าง

Download

Get Started

  • ทำการดาวน์โหลดและติดตั้ง DVC

  • ทำการดาวน์โหลด Code และสร้าง Git Repository

  • ทำการสร้าง Virtual Environment

  • ทำการติดตั้ง Package จากไฟล์ requirements.txt

  • ทำการสร้าง DVC Repository

  • ทำการดาวน์โหลด Dataset และทำการ Add ใน DVC ด้วย

  • ทำการ Commit การเปลี่ยนแปลงไปยัง Git Repository

  • ทำการ Run ใน DVC เพื่อรวบรวมคำสั่งในแต่ละ Stage

  • ทำการ Convert ไฟล์จาก XML เป็น TSV ใน DVC เพื่อทำ Feature Extraction ได้ง่ายขึ้น

  • ทำการ Split Dataset ใน DVC เพื่อแบ่งข้อมูลที่ใช้ในการ Training และ Test โดยกำหนดให้ Test Dataset มีอัตราส่วนเป็น 0.2 และกำหนดค่า Seed ในการ Random เป็น 20170426

  • ทำการ Extract Feature and Label ใน DVC ซึ่งจะได้ไฟล์ Pickle

  • ทำการ Train Model กับ Training Dataset ใน DVC

  • ทำการ Evaluate Model กับ Test Dataset ใน DVC

  • ทำการตรวจสอบ Accuracy ใน DVC ด้วย Metric

  • ทำการ Commit การเปลี่ยนแปลงไปยัง Git Repository

  • ทำการแก้ไขไฟล์ code/featurization.py ( บรรทัดที่ 72-73 )

  • ทำการ Reproduce สำหรับทุก Stage ซึ่งจะทำแบบ Auto หากมีการแก้ไขไฟล์

  • ทำการตรวจสอบ Accuracy ใน DVC ด้วย Metric ในทุก Branch

  • ทำการ Commit การเปลี่ยนแปลงไปยัง Git Repository

  • ทำการ Tag ในการเก็บ Checkpoint เพื่อใช้ในการ Compare

  • ทำการ Show Pipeline แบบ ASCII

  • จะแสดง Visualize Pipeline ในแบบ ASCII

อ่านเพิ่มเติม : https://bit.ly/2FOQM5v

Last updated

Was this helpful?