โน้ตบุ๊ก สคริปต์ และค่าเริ่มต้นที่ทำซ้ำได้
กำหนดค่าเริ่มต้นแบบสุ่มเพื่อให้ได้ผลลัพธ์เดิมซ้ำได้
โน้ตบุ๊ก สคริปต์ และค่าเริ่มต้นที่ทำซ้ำได้ เป็นบทเรียน Deep Learning Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Deep Learning Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
วิธีทำงานสองแบบ
คุณจะเขียนโค้ดใน notebooks สำหรับการทดลองอย่างรวดเร็ว และเขียนในสคริปต์ทั่วไปสำหรับการรันซ้ำได้ แต่ละแบบเหมาะกับช่วงเวลาที่ต่างกัน
ใช้ Notebooks เพื่อสำรวจ
notebook จะรันโค้ดเป็นเซลล์ พร้อมแสดงกราฟและผลลัพธ์ในตำแหน่งเดียวกัน เหมาะอย่างยิ่งสำหรับการสำรวจข้อมูลและทดลองแนวคิดอย่างรวดเร็ว 📓
ใช้สคริปต์สำหรับการรันจริง
script จะรันตั้งแต่ต้นจนจบในครั้งเดียว ใช้สำหรับงานฝึกที่คุณต้องการเริ่มต้น แชร์ และทำซ้ำให้ได้ผลเหมือนเดิมทุกประการ
python train.pyระวังลำดับของเซลล์
เซลล์ใน Notebook จะเก็บ state ไว้แม้คุณจะรันไม่เรียงลำดับ ซึ่งอาจซ่อนข้อบกพร่องได้ ส่วนสคริปต์จะเริ่มจากสถานะว่างเสมอ
ปัญหาการทำซ้ำผลลัพธ์
การเรียนรู้เชิงลึกใช้ตัวเลขสุ่มสำหรับค่าน้ำหนักและการสับเปลี่ยนข้อมูล หากรันสองครั้งจะได้ผลลัพธ์ต่างกัน เว้นแต่คุณจะควบคุม ความสุ่ม นั้น
ใช้ Seed เพื่อแก้ปัญหา
seed จะกำหนดจุดเริ่มต้นของตัวสร้างตัวเลขสุ่ม ทำให้โค้ดเดิมสร้างตัวเลขชุดเดิมได้ทุกครั้งที่รัน
กำหนด Seed ให้ PyTorch
กำหนดค่าตัวสร้างของ PyTorch ด้วยคำสั่งเดียว manual_seed ทำให้การเริ่มต้นค่าน้ำหนักและความสุ่มใด ๆ ของ torch ทำซ้ำได้
torch.manual_seed(42)อย่าลืม NumPy และ Python
โค้ดของคุณมักใช้ความสุ่มจาก NumPy และ Python ด้วย ดังนั้นให้กำหนด seed ให้ครบทั้งสามส่วนเพื่อให้การรันทำซ้ำได้อย่างสมบูรณ์
import numpy as np, random
np.random.seed(42)
random.seed(42)กำหนด Seed ให้ GPU ด้วย
เมื่อฝึกโมเดลบน CUDA ให้กำหนด seed ให้ตัวสร้างของ GPU ด้วย cuda.manual_seed_all จะครอบคลุมอุปกรณ์ GPU ทุกตัวในเครื่องของคุณ
torch.cuda.manual_seed_all(42)รวมไว้ในฟังก์ชัน
รวมคำสั่งกำหนด seed ทั้งหมดไว้ในตัวช่วย set_seed เรียกใช้ที่ด้านบนของการรันแต่ละครั้ง เพื่อไม่ให้ลืมแหล่งที่มาของความสุ่ม
def set_seed(s):
torch.manual_seed(s)
np.random.seed(s)เหตุใดจึงสำคัญ
การรันที่ทำซ้ำได้ช่วยให้คุณ เปรียบเทียบ การทดลองได้อย่างยุติธรรม หากความแม่นยำดีขึ้น คุณจะรู้ว่าเกิดจากการเปลี่ยนแปลงของคุณ ไม่ใช่โชคจากความสุ่ม
ตรวจสอบอย่างรวดเร็ว
ทบทวนว่าอะไรทำให้การรันทำซ้ำได้
สรุป
คุณได้เห็นว่าเมื่อใดควรใช้ notebooks แทนสคริปต์ และเรียนรู้ว่าการกำหนด seed ให้ torch, NumPy และ Python ทำให้การรันทุกครั้งทำซ้ำได้ 🌱
คำถามที่พบบ่อย
บทเรียน “โน้ตบุ๊ก สคริปต์ และค่าเริ่มต้นที่ทำซ้ำได้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “โน้ตบุ๊ก สคริปต์ และค่าเริ่มต้นที่ทำซ้ำได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Deep Learning Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “โน้ตบุ๊ก สคริปต์ และค่าเริ่มต้นที่ทำซ้ำได้”
กำหนดค่าเริ่มต้นแบบสุ่มเพื่อให้ได้ผลลัพธ์เดิมซ้ำได้ คุณปฏิบัติ Deep Learning Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Deep Learning Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Deep Learning Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “โน้ตบุ๊ก สคริปต์ และค่าเริ่มต้นที่ทำซ้ำได้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Deep Learning Academy นี้ได้ไหม
ได้ บทเรียน Deep Learning Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ติดตั้ง PyTorch และตรวจสอบการนำเข้า
- CPU กับ GPU กับ MPS: เลือกอุปกรณ์
- โน้ตบุ๊ก สคริปต์ และค่าเริ่มต้นที่ทำซ้ำได้
- torch.tensor แรกของคุณ