ความเร็วของแมว
คุณกำลังพัฒนาเว็บเซอร์วิสใหม่ที่วิเคราะห์ฟีด Instagram เพื่อตรวจหาภาพที่มีแมวอยู่ (อย่าถามว่าทำไม — นี่คืออินเทอร์เน็ต) โค้ดที่ใช้ประมวลผลข้อมูลทำงานช้ากว่าที่ต้องการ จึงต้องปรับปรุงให้เร็วขึ้น สำหรับรูปภาพ image มีฟังก์ชันสองตัวที่ใช้ประมวลผลได้:
process_with_numpy(image)process_with_pytorch(image)
เพื่อนร่วมงานได้เขียน context manager ชื่อ timer() ที่จะแสดงเวลาที่ใช้ในการรันโค้ดภายใน context block เธอแนะนำให้ใช้ timer() เพื่อเปรียบเทียบว่าตัวเลือกไหนเร็วกว่า จงวัดเวลาของแต่ละฟังก์ชันเพื่อตัดสินใจว่าจะใช้ตัวใดในเว็บเซอร์วิส
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนฟังก์ชันใน Python
คำแนะนำการฝึกหัด
- ใช้ context manager
timer()วัดเวลาที่process_with_numpy(image)ใช้ในการรัน - ใช้ context manager
timer()วัดเวลาที่process_with_pytorch(image)ใช้ในการรัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
image = get_image_from_instagram()
# Time how long process_with_numpy(image) takes to run
____ ____:
print('Numpy version')
process_with_numpy(image)
# Time how long process_with_pytorch(image) takes to run
____ ____:
print('Pytorch version')
process_with_pytorch(image)