แอบมอง TorchVision v0.11 – ความทรงจำของนักพัฒนา TorchVision – 2

แอบมอง TorchVision v0.11 – ความทรงจำของนักพัฒนา TorchVision – 2

แอบดู TorchVision v0.11 – บันทึกความทรงจำของผู้พัฒนา TorchVision – 2 PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
แอบมอง TorchVision v0.11 – ความทรงจำของนักพัฒนา TorchVision – 2

สองสามสัปดาห์ที่ผ่านมายุ่งมากใน "PyTorch Land" เนื่องจากเรากำลังเตรียมการเปิดตัว PyTorch v1.10 และ TorchVision v0.11 อย่างเมามัน ในงวดที่ 2 นี้ของ ซีรี่ย์ฉันจะพูดถึงคุณสมบัติที่กำลังจะมีขึ้นซึ่งรวมอยู่ในสาขาที่วางจำหน่ายของ TorchVision ในขณะนี้

คำออกตัว: แม้ว่าการเปิดตัวที่กำลังจะมีขึ้นจะเต็มไปด้วยการเพิ่มประสิทธิภาพและข้อบกพร่อง/การทดสอบ/การปรับปรุงเอกสารมากมาย แต่ในที่นี้ ฉันกำลังเน้นคุณลักษณะใหม่ "ที่ผู้ใช้เผชิญ" ในโดเมนที่ฉันสนใจเป็นการส่วนตัว หลังจากเขียนบล็อกโพสต์แล้ว ฉันยังสังเกตเห็นว่ามีอคติต่อคุณลักษณะต่างๆ ที่ฉันตรวจสอบ เขียน หรือติดตามการพัฒนาอย่างใกล้ชิด การครอบคลุม (หรือไม่ครอบคลุม) คุณลักษณะไม่ได้กล่าวถึงความสำคัญของคุณลักษณะดังกล่าว ความคิดเห็นที่แสดงออกมาเป็นเพียงของฉันเอง

โมเดลใหม่

รุ่นใหม่เต็มไปด้วยรุ่นใหม่:

  • Kai Zhang ได้เพิ่มการดำเนินการของ สถาปัตยกรรม RegNet พร้อมกับตุ้มน้ำหนักที่ฝึกไว้ล่วงหน้าสำหรับ 14 ตัวแปร ซึ่งผลิตซ้ำกระดาษต้นฉบับอย่างใกล้ชิด
  • ฉันได้เพิ่มการใช้งานของ สถาปัตยกรรม EfficientNet พร้อมกับตุ้มน้ำหนักที่ฝึกไว้ล่วงหน้าสำหรับรุ่น B0-B7 โดย Luke Melas-Kyriazi และ Ross Wightman

การเสริมข้อมูลใหม่

มีการเพิ่มเทคนิคการเพิ่มข้อมูลใหม่สองสามวิธีในเวอร์ชันล่าสุด:

  • ซามูเอล กาเบรียล ได้มีส่วนร่วม จิ๊บจ๊อยกลยุทธ์ใหม่ที่ใช้งานง่ายแต่มีประสิทธิภาพสูงซึ่งดูเหมือนว่าจะให้ผลลัพธ์ที่เหนือกว่าแก่ AutoAugment
  • ฉันได้เพิ่ม แรนด์Augment วิธีการเสริมอัตโนมัติ
  • ฉันได้จัดเตรียมการใช้งานของ มิกซ์อัพและคัทมิกซ์ แปลงในการอ้างอิง สิ่งเหล่านี้จะถูกย้ายในการแปลงในรุ่นถัดไปเมื่อ API ของพวกเขาได้รับการสรุป

ตัวดำเนินการและเลเยอร์ใหม่

มีโอเปอเรเตอร์และเลเยอร์ใหม่จำนวนหนึ่ง:

อ้างอิง / สูตรการฝึกอบรม

แม้ว่าการปรับปรุงสคริปต์อ้างอิงของเราจะเป็นความพยายามอย่างต่อเนื่อง แต่ต่อไปนี้คือคุณลักษณะใหม่บางส่วนที่รวมอยู่ในเวอร์ชันที่จะมาถึง:

การปรับปรุงอื่น ๆ

ต่อไปนี้คือการปรับปรุงที่โดดเด่นอื่นๆ ที่เพิ่มเข้ามาในรีลีส:

  • Alexander Soare และ Francisco Massa ได้พัฒนา ยูทิลิตี้ตาม FX ซึ่งอนุญาตให้แยกคุณสมบัติระดับกลางโดยพลการจากสถาปัตยกรรมแบบจำลอง
  • Nikita Shulga ได้เพิ่มการสนับสนุน คูด้า 11.3 สู่ TorchVision
  • Zhongkai Zhu ได้แก้ไข ปัญหาการพึ่งพา ของ JPEG lib (ปัญหานี้ทำให้ผู้ใช้หลายคนปวดหัวอย่างมาก)

อยู่ระหว่างดำเนินการ & ถัดไป

มีคุณสมบัติใหม่ที่น่าตื่นเต้นมากมายที่อยู่ระหว่างการพัฒนาซึ่งไม่ได้ทำในรุ่นนี้ นี่คือบางส่วน:

  • Moto Hira, Parmeet Singh Bhatia และฉันได้ร่าง RFC ซึ่งเสนอกลไกใหม่สำหรับ การกำหนดเวอร์ชันของโมเดล และสำหรับการจัดการข้อมูลเมตาที่เกี่ยวข้องกับตุ้มน้ำหนักที่ฝึกไว้ล่วงหน้า ซึ่งจะช่วยให้เรารองรับน้ำหนักที่ฝึกไว้ล่วงหน้าหลายรายการสำหรับแต่ละรุ่นและแนบข้อมูลที่เกี่ยวข้อง เช่น ป้ายกำกับ การแปลงก่อนการประมวลผล ฯลฯ กับโมเดล
  • ฉันกำลังทำงานกับการใช้พื้นฐานที่เพิ่มโดย “รวมแบตเตอรี่แล้ว” โครงการเพื่อปรับปรุงความถูกต้องของเรา รุ่นก่อนการฝึกอบรม. เป้าหมายคือการบรรลุผลลัพธ์ที่ดีที่สุดในระดับเดียวกันสำหรับรุ่นก่อนการฝึกอบรมที่ได้รับความนิยมมากที่สุดโดย TorchVision
  • Philip Meier และ Francisco Massa กำลังทำงานเกี่ยวกับต้นแบบที่น่าตื่นเต้นสำหรับ TorchVision ใหม่ ชุด และ แปลง API
  • Prabhat Roy กำลังทำงานเพื่อขยาย PyTorch Core's AveragedModel ชั้นเพื่อรองรับ ค่าเฉลี่ยของบัฟเฟอร์ นอกเหนือจากพารามิเตอร์ การขาดคุณสมบัตินี้มักถูกรายงานว่าเป็นข้อบกพร่องและจะ เปิดใช้งานไลบรารีดาวน์สตรีมจำนวนมาก และเฟรมเวิร์กเพื่อลบการใช้งาน EMA ที่กำหนดเอง
  • อทิตยา โอเค เขียนยูทิลิตี้ ซึ่งอนุญาต วางแผนผลลัพธ์ ของโมเดล Keypoint บนภาพต้นฉบับ (ฟีเจอร์ไม่ได้เปิดตัวในขณะที่เราล้นมือและไม่สามารถตรวจสอบได้ทันเวลา 🙁 )
  • ฉันกำลังสร้าง ต้นแบบ FX-ยูทิลิตี้ ซึ่งมีจุดมุ่งหมายเพื่อตรวจจับการเชื่อมต่อที่เหลือในสถาปัตยกรรม Model โดยพลการและปรับเปลี่ยนเครือข่ายเพื่อเพิ่มบล็อกการทำให้เป็นมาตรฐาน (เช่น StochasticDepth).

ในที่สุดก็มีคุณสมบัติใหม่สองสามอย่างใน Backlog ของเรา (PRs เร็ว ๆ นี้):

ฉันหวังว่าคุณจะพบว่าข้อมูลสรุปข้างต้นน่าสนใจ แนวคิดใด ๆ เกี่ยวกับวิธีการปรับรูปแบบของชุดบล็อกนั้นยินดีเป็นอย่างยิ่ง ตีฉันขึ้นบน LinkedIn or Twitter.

ประทับเวลา:

เพิ่มเติมจาก กล่องข้อมูล