0Pricing
Learn AI with Python · บทเรียน

Git สำหรับโครงการปัญญาประดิษฐ์

git init, .gitignore สำหรับข้อมูล/โมเดล การคอมมิตสมุดบันทึก และ DVC สำหรับกำหนดรุ่นข้อมูล

Git สำหรับโครงการปัญญาประดิษฐ์ เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

กิตในโครงการปัญญาประดิษฐ์

กิตติดตามการเปลี่ยนแปลงในโค้ดของคุณ เพื่อให้คุณทำงานร่วมกัน ย้อนคืนข้อผิดพลาด และตรวจสอบประวัติได้ แต่โครงการปัญญาประดิษฐ์มีข้อแตกต่างคือ ไฟล์ข้อมูลขนาดใหญ่และแบบจำลองไบนารีไม่ควรอยู่ในกิต

บทเรียนนี้ครอบคลุมการตั้งค่า .gitignore ที่เหมาะสมและการใช้ DVC เพื่อควบคุมรุ่นข้อมูล

สิ่งที่กิตติดตามได้ดี

กิตทำงานได้ดีเยี่ยมกับข้อความ ได้แก่ ซอร์สโค้ด ไฟล์กำหนดค่า สมุดบันทึก (ที่ล้างผลลัพธ์แล้ว) และเอกสาร โดยจัดเก็บส่วนต่างของไฟล์ข้อความได้อย่างมีประสิทธิภาพ

กิตจัดการไฟล์ไบนารีขนาดใหญ่ได้ไม่ดี เพราะจัดเก็บแต่ละรุ่นไว้อย่างเต็มรูปแบบ ทำให้คลังโครงการพองใหญ่ขึ้นตลอดไป

เหตุใดจึงไม่ควรบันทึกข้อมูลและแบบจำลอง

การบันทึกชุดข้อมูลขนาด 2 GB หรือไฟล์แบบจำลองขนาด 500 MB:

  • ทำให้คลังโครงการมีขนาดใหญ่และทำให้การโคลนทุกครั้งช้าลง
  • ไม่สามารถเปรียบเทียบความแตกต่างได้อย่างมีความหมาย
  • ยังคงอยู่ในประวัติตลอดไป แม้จะลบออกแล้ว

วิธีแก้คือสั่งให้กิตละเว้นไฟล์เหล่านี้ และควบคุมรุ่นด้วยเครื่องมือเฉพาะ

ไฟล์ .gitignore

.gitignore แสดงรายการรูปแบบที่กิตไม่ควรติดตาม ให้สร้างไฟล์นี้ไว้ที่ระดับรากของโครงการ แต่ละบรรทัดเป็นรูปแบบจับคู่ไฟล์แบบโกลบ

# .gitignore
*.pkl
*.joblib
*.h5
data/raw/*
data/processed/*
models/*
__pycache__/
*.pyc
.ipynb_checkpoints/
.env

การละเว้นไฟล์แบบจำลองและแคช

รูปแบบการละเว้นที่พบบ่อยในโครงการปัญญาประดิษฐ์:

  • *.pkl *.joblib และ *.h5 — แบบจำลองที่จัดเก็บในรูปอนุกรม
  • __pycache__/ และ *.pyc — รหัสไบต์ของไพธอน
  • .ipynb_checkpoints/ — การบันทึกอัตโนมัติของจูปีเตอร์
  • .env — ข้อมูลลับและคีย์ส่วนติดต่อโปรแกรมประยุกต์ (ห้ามบันทึกสิ่งเหล่านี้ลงในคลังโครงการโดยเด็ดขาด!)

การเก็บโฟลเดอร์ว่างด้วย .gitkeep

กิตจะละเว้นไดเรกทอรีว่าง หากต้องการเก็บ data/raw/ ไว้ในโครงสร้างคลังโครงการขณะละเว้นเนื้อหาภายใน ให้เพิ่มไฟล์ว่าง .gitkeep และรูปแบบที่ยกเว้นการละเว้น

# .gitignore
data/raw/*
!data/raw/.gitkeep

แนะนำ DVC

DVC (การควบคุมเวอร์ชันข้อมูล) ใช้ควบคุมรุ่นข้อมูลและแบบจำลองขนาดใหญ่ควบคู่กับกิต กิตติดตามไฟล์ตัวชี้ขนาดเล็กที่ลงท้ายด้วย .dvc ส่วนข้อมูลจริงอยู่ในพื้นที่จัดเก็บระยะไกล (เอสทรี, GCS และอื่น ๆ)

คุณจะได้รุ่นข้อมูลที่ทำซ้ำได้โดยไม่ทำให้คลังโครงการกิตมีขนาดใหญ่เกินไป

dvc init

เริ่มต้น DVC ภายในคลังกิตที่มีอยู่แล้ว คำสั่งนี้จะสร้างไดเรกทอรี .dvc/ และการกำหนดค่าที่คุณต้องบันทึกลงในกิต

# in your git repo
dvc init
git add .dvc .gitignore
git commit -m "Initialize DVC"

dvc add — การติดตามข้อมูล

dvc add เริ่มติดตามไฟล์หรือโฟลเดอร์ DVC จะย้ายข้อมูลไปยังแคชและสร้างไฟล์ตัวชี้ .dvc ขนาดเล็ก คุณบันทึกตัวชี้ลงในกิต ไม่ใช่ข้อมูลจริง

dvc add data/raw/dataset.csv
# creates data/raw/dataset.csv.dvc
git add data/raw/dataset.csv.dvc data/raw/.gitignore
git commit -m "Track dataset with DVC"

dvc push และ dvc pull

กำหนดค่าพื้นที่จัดเก็บระยะไกล จากนั้น dvc push จะอัปโหลดข้อมูลไปยังพื้นที่นั้น และ dvc pull จะดาวน์โหลดรุ่นที่ตรงกับการบันทึกการเปลี่ยนแปลงกิตปัจจุบัน วิธีนี้ทำให้เพื่อนร่วมทีมแบ่งปันข้อมูลกันได้

dvc remote add -d storage s3://my-bucket/dvcstore
dvc push          # upload data to the remote

# teammate after git clone + git checkout:
dvc pull          # fetch the matching data version

กระบวนการทำงานของทีม

วงจรกิต + DVC เชื่อมรุ่นของโค้ดและข้อมูลเข้าด้วยกัน:

  • git pull เพื่อรับโค้ดล่าสุดและตัวชี้ .dvc
  • dvc pull เพื่อดึงข้อมูลและแบบจำลองที่ตรงกัน
  • ทำงาน จากนั้นใช้ dvc add + git commit + dvc push

การย้อนโครงการไปยังการบันทึกการเปลี่ยนแปลงเก่าแล้วเรียกใช้ dvc pull จะสร้างสถานะเดิมนั้นได้อย่างแม่นยำ

ตรวจสอบอย่างรวดเร็ว: ไฟล์ขนาดใหญ่

โครงการของคุณมีชุดข้อมูลฝึกขนาด 1 GB และไฟล์แบบจำลองขนาด 300 MB

สรุปทบทวน: กิตสำหรับโครงการปัญญาประดิษฐ์

คุณได้เรียนรู้การควบคุมเวอร์ชันเฉพาะสำหรับปัญญาประดิษฐ์ดังนี้:

  • กิตเหมาะสำหรับข้อความ (โค้ด ไฟล์กำหนดค่า และสมุดบันทึก) แต่ไม่เหมาะสำหรับไฟล์ไบนารีขนาดใหญ่
  • .gitignore สำหรับ *.pkl data/raw/* __pycache__ และ .env
  • .gitkeep เพื่อรักษาโฟลเดอร์ว่าง
  • DVC: dvc init dvc add และ dvc push/pull เพื่อควบคุมรุ่นข้อมูลและแบบจำลอง
  • กระบวนการทำงานกิต + DVC ทำให้โค้ดและข้อมูลสอดคล้องกัน

ต่อไป: การทำให้การทดลองทำซ้ำได้

คำถามที่พบบ่อย

บทเรียน “Git สำหรับโครงการปัญญาประดิษฐ์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Git สำหรับโครงการปัญญาประดิษฐ์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Git สำหรับโครงการปัญญาประดิษฐ์”

git init, .gitignore สำหรับข้อมูล/โมเดล การคอมมิตสมุดบันทึก และ DVC สำหรับกำหนดรุ่นข้อมูล คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “Git สำหรับโครงการปัญญาประดิษฐ์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ
  2. Git สำหรับโครงการปัญญาประดิษฐ์
  3. การทำซ้ำผลลัพธ์ได้: ค่าเริ่มต้น การตั้งค่า และสภาพแวดล้อม
  4. แนวทางปฏิบัติที่ดีสำหรับ Jupyter Notebooks
← กลับไปที่ Learn AI with Python