บล็อกนี้จะกล่าวถึงวิธีการ “ การลบแบบสุ่ม ” วิธีการทำงานใน PyTorch
เหตุใดจึงใช้วิธี 'การลบแบบสุ่ม' ใน PyTorch
การลบข้อมูลออกจากรูปภาพแบบสุ่มทำให้เกิดปัญหาในการฝึกโมเดลการวิเคราะห์รูปภาพ เนื่องจากถูกบังคับให้ต้องปรับให้เข้ากับข้อมูลที่ไม่เพียงพอ นี่เป็นการเตรียมแบบจำลองสำหรับงานในโลกแห่งความเป็นจริงซึ่งข้อมูลไม่ครบถ้วนเสมอไป โมเดลจะดีขึ้นมากเมื่อสามารถดึงการอนุมานจากข้อมูลทุกประเภทและจัดการเพื่อแสดงผลลัพธ์ได้ การเลือกพิกเซลสำหรับการลบจะเป็นแบบสุ่ม ดังนั้นจึงไม่มีความลำเอียง และภาพที่ได้จะถูกใช้เป็นข้อมูลอินพุตระหว่างการฝึก
วิธีการ “สุ่มลบ” ทำงานอย่างไรใน PyTorch
วิธีการลบแบบสุ่มใช้เพื่อทำให้โมเดลการเรียนรู้เชิงลึกมีความพร้อมในการจัดการแอปพลิเคชันจริงได้ดีขึ้น ทำตามขั้นตอนด้านล่างเพื่อเรียนรู้วิธีใช้ในโปรเจ็กต์ PyTorch ของคุณ เพื่อเพิ่มการจัดการข้อมูลและปรับปรุงความสามารถในการอนุมาน:
ขั้นตอนที่ 1: ตั้งค่า Colaboratory IDE
Google Colab เป็นตัวเลือกที่เหมาะสมที่สุดสำหรับการพัฒนาโมเดล AI โดยใช้เฟรมเวิร์ก PyTorch นำทางไปยัง Colaboratory เว็บไซต์ และเปิดตัว “ โน๊ตบุ๊คใหม่ ”:
ขั้นตอนที่ 2: นำเข้าไลบรารีที่จำเป็น
ใช้ ' !ปิ๊ป ” ตัวติดตั้งแพ็คเกจที่ Python จัดทำขึ้นเพื่อติดตั้งไลบรารี่และใช้คำสั่ง “ นำเข้า ” คำสั่งเพื่อนำเข้าสู่โปรเจ็กต์:
นำเข้า คบเพลิงนำเข้า การมองเห็นคบเพลิง แปลงร่าง เช่น ทีเอส
จาก พิล นำเข้า ภาพ
นำเข้า matplotlib พล็อต เช่น plt
คำอธิบายของรหัสที่กำหนดมีดังนี้:
- นำเข้า “ คบเพลิง ” ห้องสมุดโดยใช้ “ นำเข้า ' สั่งการ.
- “ torchvision.การเปลี่ยนแปลง ” แพ็คเกจประกอบด้วยการแปลงสำหรับการลบแบบสุ่ม
- “ พิล ” คือไลบรารีรูปภาพ Python และมีฟังก์ชันสำหรับการประมวลผลรูปภาพ
- “ matplotlib.pyplot ” ไลบรารี่ใช้สำหรับแสดงภาพต้นฉบับและภาพที่ถูกแปลง:
ขั้นตอนที่ 3: อัปโหลดภาพที่ป้อน
อัปโหลดรูปภาพในส่วนไฟล์:
ถัดไป โหลดภาพที่ป้อนโดยใช้ปุ่ม “ เปิด() ” วิธีการของโมดูล “รูปภาพ”:
ภาพ = ภาพ. เปิด ( 'a2.jpeg' )ขั้นตอนที่ 4: ระบุการแปลงเพื่อทำการแปลง
ตอนนี้ให้กำหนด ' สุ่มลบ ” หม้อแปลงไฟฟ้าที่จะแปลงภาพโดยเลือกพื้นที่สี่เหลี่ยมแบบสุ่มและลบพิกเซล นอกจากนี้ ให้แปลงภาพที่ป้อนเข้าเป็นเซ็นเซอร์ไฟฉายโดยใช้ปุ่ม “ โทเทนเซอร์() ” หากเป็นอิมเมจ PIL แล้วแปลงกลับเป็นอิมเมจ PIL โดยใช้ปุ่ม “ ToPILรูปภาพ() ”:
แปลง = ทีเอส เขียน ( [ ทีเอส โทเทนเซอร์ ( ) , ทีเอส สุ่มลบ ( พี = 0.5 , มาตราส่วน = ( 0.02 , 0.33 ) , อัตราส่วน = ( 0.3 , 3.3 ) , ค่า = 0 , ในสถานที่ = เท็จ ) , ทีเอส ถึง PILImage ( ) ] )พารามิเตอร์ที่ใช้ในข้างต้น “ สุ่มลบ ” หม้อแปลงไฟฟ้ามีคำอธิบายด้านล่าง:
- พี: แสดงถึงความน่าจะเป็นที่การดำเนินการสุ่มเลี้ยงจะสำเร็จ
- มาตราส่วน: โดยจะระบุช่วงของพื้นที่ที่ถูกลบของภาพที่นำเข้า
- อัตราส่วน: มันแสดงถึงอัตราส่วนกว้างยาวของขอบเขตที่ถูกลบ
- ค่า: ระบุค่าการลบซึ่งเป็น '0' โดยค่าเริ่มต้น ถ้าเป็นจำนวนเต็มตัวเดียว มันจะลบพิกเซลทั้งหมด และถ้าเป็นสิ่งทูเพิลที่มีจำนวนเต็มสามตัว มันจะลบช่อง R, G และ B ตามลำดับ
- ในสถานที่: มันเป็นค่า 'บูลีน' ที่ทำให้หม้อแปลงลบแบบสุ่มที่กำหนดเข้ามาแทนที่ โดยค่าเริ่มต้นจะเป็น 'เท็จ'
ขั้นตอนที่ 5: ใช้ความเข้าใจในพจนานุกรมเพื่อส่งออกรูปภาพ
ใช้แนวคิดความเข้าใจพจนานุกรมเพื่อนำรูปภาพเอาต์พุตทั้งสี่ภาพ:
ภาพ = [ แปลง ( ภาพ ) สำหรับ _ ใน พิสัย ( 4 ) ]ขั้นตอนที่ 6: แสดงภาพเอาท์พุตสี่ภาพ
สุดท้ายนี้ แสดงภาพที่ส่งออกทั้งสี่ภาพโดยใช้บล็อกโค้ดที่ระบุด้านล่าง:
รูปที่ = plt. รูป ( ขนาดรูป = ( 7 , 4 ) )แถว , คอลัมน์ = 2 , 2
สำหรับ เจ ใน พิสัย ( 0 , เท่านั้น ( ภาพ ) ) : :
รูปที่. add_subplot ( แถว , คอลัมน์ , เจ+ 1 )
plt. ฉันแสดง ( ภาพ [ เจ ] )
plt. ติ๊ก ( [ ] )
plt. ใช่เลย ( [ ] )
plt. แสดง ( )
คำอธิบายโค้ดข้างต้นเป็นดังนี้:
- ใช้ “ plt.รูป() ” วิธีการลงจุดภาพทั้ง 4 ภาพที่มีความกว้างและความสูงที่กำหนด
- จากนั้น ระบุแถวและคอลัมน์ที่ต้องการเพื่อปรับภาพทั้งสี่ภาพ
- หลังจากนั้นให้เริ่มต้นลูป 'for' ที่ใช้ ' แผนย่อย() ” วิธีการกำหนดแผนย่อย วิธีการ “show()” เพื่อแสดงภาพ และ “ plt.xticks() ” เช่นเดียวกับ “ plt.yticks() ” เพื่อตั้งค่าตำแหน่งขีดปัจจุบันและป้ายกำกับของแกน x และ y
- สุดท้ายนี้ ใช้เครื่องหมาย “ plt.show() ” วิธีการพิมพ์ภาพเพื่อส่งออก:
บันทึก : ผู้ใช้สามารถเข้าถึง Colab Notebook ของเราได้โดยใช้สิ่งที่ให้มา ลิงค์ .
โปรทิป
การใช้หลักอย่างหนึ่งของ “ การลบแบบสุ่ม ” วิธีการในโครงการ PyTorch คือความปลอดภัย สามารถใช้เพื่อลบพิกเซลออกจากภาพที่ละเอียดอ่อน เช่น รูปภาพที่เป็นความลับทางการค้าหรือสิ่งอื่นที่มีมูลค่า เฉพาะผู้ใช้ดั้งเดิมเท่านั้นที่ทราบฟังก์ชันสุ่มเฉพาะสำหรับการลบนี้ และมีเพียงผู้ใช้เท่านั้นที่สามารถกู้คืนรูปภาพที่ถูกลบกลับไปเป็นเวอร์ชันดั้งเดิมได้
ความสำเร็จ! เราได้แสดงให้เห็นว่าวิธีการสุ่มลบทำงานอย่างไรใน PyTorch
บทสรุป
“ การลบแบบสุ่ม ” วิธีการใน PyTorch ทำงานโดยการลบพิกเซลสุ่มออกจากรูปภาพและเลียนแบบสถานการณ์ในโลกแห่งความเป็นจริงเพื่อฝึกฝนโมเดลให้ดีขึ้น สิ่งนี้จะทำให้แบบจำลองมีความเชี่ยวชาญมากขึ้นในการจัดการข้อมูลประเภทต่างๆ เพื่อดึงการอนุมานคุณภาพจากข้อมูลที่ไม่สมบูรณ์ เราได้แสดงวิธีการใช้ “ การลบแบบสุ่ม ” วิธีการใน PyTorch