คู่มือรัน Vitis-AI 1.4 บนบอร์ดตระกูล Avnet Vitis ฉบับมือใหม่สาย FPGA

สวัสดีครับชาว Maker และนักพัฒนาสาย Hardware Accelerator ทุกท่าน! ใครที่กำลังเล่นบอร์ด FPGA แล้วอยากจะรันโมเดล AI หรือ Deep Learning โหดๆ บนฮาร์ดแวร์ วันนี้เรามีสรุปขั้นตอนและไกด์ไลน์สำหรับการรัน Xilinx Vitis-AI 1.4 บนแพลตฟอร์ม Avnet Vitis 2021.1 มาเล่าให้ฟังกันครับ!

(หมายเหตุ: ปัจจุบันทางทีมผู้พัฒนามีการปล่อยเวอร์ชันใหม่กว่าออกมาแล้ว หากใครสนใจอัปเดตสุดๆ สามารถตามไปดูได้ที่ Vitis-AI 2.0 Flow for Avnet VITIS Platforms เลยครับ)

บอร์ด Tria Technologies Ultra96-V2
ภาพปก: หน้าตาบอร์ด Ultra96-V2 ที่เราจะใช้รัน Vitis-AI

อุปกรณ์ฮาร์ดแวร์ที่ต้องใช้

ไกด์นี้ถูกออกแบบมาเพื่อบอร์ด 3 รุ่นหลักๆ ที่รันซอฟต์แวร์ Vitis 2021.1, Petalinux 2021.1 ร่วมกับเครื่องมือคอมพิวเตอร์วิทัศน์อย่าง OpenCV ครับ โดยบอร์ดที่รองรับได้แก่:

💡 Globalbyte Trick: การพัฒนา Edge AI จำเป็นต้องใช้บอร์ดประสิทธิภาพสูง รวมถึงโมดูลกล้องและเซนเซอร์ต่างๆ เพื่อรับภาพเข้ามาประมวลผล หากเพื่อนๆ กำลังมองหาบอร์ดไมโครคอนโทรลเลอร์ เซนเซอร์ หรือชิ้นส่วนอิเล็กทรอนิกส์คุณภาพเยี่ยม แวะมาเลือกช้อปสินค้าที่ร้าน Globalbyte ของเราได้เลยครับ!

ภาพรวมสถาปัตยกรรม (Design Overview)

ก่อนจะเริ่มลงมือ เรามาทำความเข้าใจโครงสร้างกันก่อน ฮาร์ดแวร์เหล่านี้ถูกสร้างขึ้นด้วย Vitis flow โดยมีการตั้งค่าหน่วยประมวลผล DPU (Deep Learning Processor Unit) ที่แตกต่างกันไปตามรุ่นของบอร์ดครับ เช่น บอร์ดรุ่นเล็กอาจจะใช้ DPU B2304 ส่วนรุ่นท็อปจะจัดเต็มใช้ DPU คู่แบบ B4096 ไปเลย

Hardware Design Block Diagram
ภาพ Block diagram ของฮาร์ดแวร์ที่รวมอยู่ใน pre-built images
u96v2 resource with DPU u96v2 resource without DPU uz7ev resource with DPU uz7ev resource without DPU uz3eg resource with DPU uz3eg resource without DPU u96v2 placement with DPU u96v2 placement without DPU uz7ev placement with DPU uz7ev placement without DPU uz3eg placement with DPU uz3eg placement without DPU
ตารางแสดง Resource Utilization และ Resource Placement ทั้งแบบที่มีและไม่มี DPU ในบอร์ดแต่ละรุ่น

สรุปขั้นตอนการทำงาน (Step-by-Step)

การติดตั้ง Vitis-AI 1.4 จะแบ่งออกเป็น 3 ขั้นตอนหลักๆ ดังนี้ครับ:

Step 1: การเตรียม SD Card (Create the SD card)
ทางทีมงานได้เตรียมไฟล์ Pre-built SD card image ไว้ให้แล้ว คุณแค่ต้องดาวน์โหลด Image ไฟล์ให้ตรงกับชื่อรุ่นบอร์ดของคุณ และใช้โปรแกรมยอดฮิตอย่าง Balena Etcher ในการแฟลชลง SD Card (ขนาด 16GB ขึ้นไป) ครับ

Step 2: การติดตั้งแพ็กเกจ (Installing the Vitis-AI runtime packages)
เมื่อนำ SD Card ไปเสียบและบูตบอร์ดเสร็จแล้ว คุณจะต้องรันคำสั่งเพื่อคัดลอกไฟล์ และติดตั้ง Vitis-AI 1.4 runtime packages ลงในระบบ รวมถึงการปรับจูน DDR memory ให้เรียบร้อย (ขั้นตอนนี้ทำแค่ครั้งแรกครั้งเดียวครับ)

Step 3: สั่งรันแอปพลิเคชัน AI บนฮาร์ดแวร์
หลังจากตั้งค่าเสร็จ คุณสามารถเลือกทดสอบรันแอปพลิเคชัน AI ตัวอย่างที่ทาง Xilinx เตรียมไว้ให้ได้เลย ไม่ว่าจะเป็น C++ VART หรือ Python VART เช่น ระบบตรวจจับวัตถุบนถนน (ADAS detection), ตรวจจับท่าทาง (Pose detection), จับใบหน้า, หรือแบ่งส่วนพิกเซล (Segmentation)

ตัวอย่างการทำงานแบบ Point Cloud 3D detection Demo
ADAS detection result Pose detection result Segmentation result Video analysis result Performance info Face detect result
⚠️ เนื้อหาการ Coding และการคอมไพล์มีความซับซ้อนมาก!
เนื่องจากกระบวนการติดตั้ง การพิมพ์ชุดคำสั่ง (Command Line) รวมถึงขั้นตอนการดึงโค้ดมารัน (Rebuilding the Design) มีความยาวและซับซ้อนสูงมาก เราจึงขอเชียร์ให้เพื่อนๆ สายวิศวกรรมทุกคนเข้าไปอ่านขั้นตอนแบบจับมือทำทีละบรรทัดได้ที่ คู่มือติดตั้งและใช้งาน Vitis-AI 1.4 เพื่อความถูกต้องและไม่ให้บอร์ดเกิดความเสียหายครับ!

ปัญหาที่พบได้บ่อย (Known Issues)

ปัญหา USB Camera กับ Ultra96-V2: หากคุณใช้งานกล้อง e-con Systems See3CAM_CU30_CHL_TC USB camera อาจจะเจอปัญหาการทำงานสะดุด วิธีแก้คือให้เสียบผ่าน USB2 Hub เพื่อบังคับให้กล้องทำงานในโหมด USB2 ครับ

ปัญหาเรื่องอัปเดต PMIC Firmware (สำคัญมาก!): สำหรับบอร์ด Ultra96-V2 จำเป็นต้องอัปเดต PMIC เฟิร์มแวร์ก่อน! เพราะถ้ารัน AI แล้วเครื่องดึงกระแสไฟเกินขีดจำกัด (4A) บอร์ดจะดับแล้วรีบูตตัวเองครับ สามารถดูวิธีแก้ได้ที่ Ultra96-V2 Product Page และ Ultra96-V2 Getting Started Guide เลยครับ

🚀 ลุยโปรเจกต์ AI ให้สุด กับอุปกรณ์อิเล็กทรอนิกส์คุณภาพจาก Globalbyte!

กำลังมองหาบอร์ดไมโครคอนโทรลเลอร์ เซนเซอร์รับภาพ หรืออุปกรณ์ IoT สำหรับโปรเจกต์ Edge AI ของคุณอยู่ใช่ไหม? ทักมาให้เราจัดของให้ได้เลย!

คำเตือน / ข้อมูลอ้างอิง: บทความนี้เป็นการสรุปภาพรวมจากภาษาอังกฤษ (Hackster.io) เนื่องจากเป็นระบบฮาร์ดแวร์เชิงลึก อาจมีรายละเอียดการใช้ Command Line ยิบย่อย ขอแนะนำให้ผู้ใช้งานตรวจสอบและคัดลอกคำสั่งโดยตรงจากเว็บไซต์ต้นฉบับเสมอก่อนลงมือปฏิบัติครับ

ที่มาต้นฉบับ: Vitis-AI 1.4 Flow for Avnet Vitis Platforms (Hackster.io)

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี