การป้อนข้อมูลแต่ละรายการจะถูกจัดเก็บในรูปแบบของ “ เทนเซอร์ ” ใน PyTorch และ “ การไล่ระดับสี ” ของเทนเซอร์คำนวณโดยใช้การแพร่กระจายแบบย้อนกลับภายในลูปการฝึกของโมเดลการเรียนรู้เชิงลึก คำว่า “ ไม่ได้ปรับขนาด ” หมายความว่าข้อมูลดิบและไม่มีการประมวลผลล่วงหน้าหรือการเพิ่มประสิทธิภาพที่เกี่ยวข้อง การไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์จะให้ค่าที่แท้จริงของการเปลี่ยนแปลงเกี่ยวกับฟังก์ชันการสูญเสียที่ระบุ
ในบล็อกนี้ เราจะพูดถึงวิธีคำนวณการไล่ระดับสีแบบไม่ปรับขนาดของ Tensor ใน PyTorch
การไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์ใน PyTorch คืออะไร
เทนเซอร์เป็นอาร์เรย์หลายมิติที่มีข้อมูลและสามารถทำงานบน GPU ใน PyTorch เทนเซอร์ที่มีข้อมูลดิบจากชุดข้อมูลโดยไม่มีการประมวลผลล่วงหน้า การแปลง หรือการปรับให้เหมาะสมใดๆ เรียกว่าเทนเซอร์ที่ไม่ปรับขนาด อย่างไรก็ตาม “ การไล่ระดับสีแบบไม่ปรับขนาด ” แตกต่างจากเทนเซอร์ที่ไม่มีมาตราส่วน และต้องระมัดระวังเพื่อไม่ให้ทั้งสองสับสน การไล่ระดับสีแบบไม่มีมาตราส่วนของเทนเซอร์จะถูกคำนวณตามฟังก์ชันการสูญเสียที่เลือก และไม่มีการเพิ่มประสิทธิภาพหรือมาตราส่วนใดๆ เพิ่มเติม
จะคำนวณการไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์ใน PyTorch ได้อย่างไร
การไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์คือค่าที่แท้จริงของอัตราการเปลี่ยนแปลงของข้อมูลอินพุตที่เกี่ยวข้องกับฟังก์ชันการสูญเสียที่เลือก ข้อมูลการไล่ระดับสีดิบเป็นสิ่งสำคัญในการทำความเข้าใจพฤติกรรมของโมเดลและความก้าวหน้าของโมเดลในระหว่างลูปการฝึก
ทำตามขั้นตอนด้านล่างเพื่อเรียนรู้วิธีคำนวณการไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์ใน PyTorch:
ขั้นตอนที่ 1: เริ่มต้นโครงการโดยการตั้งค่า IDE
Google Colaboratory IDE เป็นหนึ่งในตัวเลือกที่ดีที่สุดสำหรับการพัฒนาโปรเจ็กต์ PyTorch เนื่องจากให้สิทธิ์เข้าถึง GPU ฟรีเพื่อการประมวลผลที่เร็วขึ้น ไปที่โคลาบ เว็บไซต์ และคลิกที่ “ โน๊ตบุ๊คใหม่ ” ตัวเลือกเพื่อเริ่มทำงาน:
ขั้นตอนที่ 2: นำเข้าไลบรารี Essential Torch
ฟังก์ชั่นทั้งหมดของกรอบงาน PyTorch มีอยู่ภายใน “ คบเพลิง ' ห้องสมุด. ทุกโปรเจ็กต์ PyTorch เริ่มต้นด้วยการติดตั้งและนำเข้าไลบรารีนี้:
!pip ติดตั้งคบเพลิงนำเข้าไฟฉาย
รหัสข้างต้นทำงานดังนี้:
- “! ปิ๊ป ” เป็นแพ็คเกจการติดตั้งสำหรับ Python ที่ใช้ในการติดตั้งไลบรารีในโครงการ
- “ นำเข้า ” ใช้เพื่อเรียกไลบรารี่ที่ติดตั้งเข้าสู่โปรเจ็กต์
- โปรเจ็กต์นี้ต้องการเพียงฟังก์ชันการทำงานของ “ คบเพลิง ' ห้องสมุด:
ขั้นตอนที่ 3: กำหนด PyTorch Tensor ด้วยการไล่ระดับสี
ใช้ ' คบเพลิง.เทนเซอร์ ()” วิธีการกำหนดเทนเซอร์ด้วยการไล่ระดับสี “ need_grad=จริง ' วิธี:
A = torch.tensor([5.0], need_grad=True)ขั้นตอนที่ 4: กำหนดฟังก์ชันการสูญเสียอย่างง่าย
ฟังก์ชันการสูญเสียถูกกำหนดโดยใช้สมการทางคณิตศาสตร์อย่างง่ายดังที่แสดง:
loss_function = A*5
ขั้นตอนที่ 5: คำนวณการไล่ระดับสีและพิมพ์ไปยังเอาต์พุต
ใช้ ' ย้อนกลับ ()” วิธีคำนวณการไล่ระดับสีแบบไม่ปรับขนาดดังที่แสดง:
loss_function.ย้อนกลับ()unscaled_grad = A.grad
print('การไล่ระดับสีแบบไม่ปรับขนาดของ PyTorch Tensor: ', unscaled_grad)
รหัสข้างต้นทำงานดังนี้:
- ใช้ ' ย้อนกลับ ()” เพื่อคำนวณการไล่ระดับสีแบบไม่ปรับขนาดผ่านการเผยแพร่แบบย้อนกลับ
- มอบหมาย “ ก.บัณฑิต ” ถึง “ ไม่ปรับขนาด_grad ' ตัวแปร.
- สุดท้ายนี้ ใช้เครื่องหมาย “ พิมพ์ ()” วิธีการแสดงผลลัพธ์ของการไล่ระดับสีแบบไม่ปรับขนาด:
บันทึก : คุณสามารถเข้าถึง Colab Notebook ของเราได้ที่นี้ ลิงค์ .
โปรทิป
การไล่ระดับเทนเซอร์แบบไม่ปรับขนาดสามารถแสดงความสัมพันธ์ที่แน่นอนของข้อมูลอินพุตกับฟังก์ชันการสูญเสียสำหรับโครงข่ายประสาทเทียมภายในกรอบงาน PyTorch การไล่ระดับสีแบบดิบที่ไม่มีการตัดต่อแสดงให้เห็นว่าค่าทั้งสองมีความสัมพันธ์กันอย่างเป็นระบบอย่างไร
ความสำเร็จ! เราเพิ่งแสดงวิธีคำนวณการไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์ใน PyTorch
บทสรุป
คำนวณการไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์ใน PyTorch โดยกำหนดเทนเซอร์ก่อน จากนั้นใช้วิธีย้อนกลับ() เพื่อค้นหาการไล่ระดับสี นี่แสดงให้เห็นว่าโมเดลการเรียนรู้เชิงลึกเชื่อมโยงข้อมูลอินพุตกับฟังก์ชันการสูญเสียที่กำหนดไว้อย่างไร ในบล็อกนี้ เราได้ให้บทช่วยสอนแบบเป็นขั้นตอนเกี่ยวกับวิธีการคำนวณการไล่ระดับสีแบบไม่ปรับขนาดของเทนเซอร์ใน PyTorch