關於Qualcomm AI Hub模型用於分類、目標檢測和硬體感知部署的實戰編碼教程
本教程提供了使用Qualcomm AI Hub模型的端到端工作流程,涵蓋設定、本地推理(MobileNet-V2和YOLOv7)以及透過雲裝置管道進行編譯和部署。
本教程詳細介紹瞭如何在Google Colab中使用Qualcomm AI Hub模型完成從本地推理到雲端裝置部署的完整工作流程。首先,我們需要搭建執行環境。透過pip安裝qai_hub_models包,並建立一個輸出目錄用於儲存所有結果檔案。由於Qualcomm AI Hub模型期望輸入張量採用通道優先(NCHW)格式,而許多影像處理庫預設使用通道在後(NHWC)格式,因此我們定義了to_nchw()函式來進行必要的形狀轉換。該函式能夠自動處理3維或4維張量,並調整通道順序。
接著,我們探索Qualcomm AI Hub提供的模型集合。透過匯入相關模組,我們可以列出所有可用的模型ID,瞭解平臺支援的範圍。以MobileNet-V2為例,我們載入預訓練模型並設定評估模式。透過模型的get_input_spec()方法獲取輸入規範,並確定第一個輸入的名稱。同時,我們準備ImageNet類別標籤,並編寫top5()函式,用於從模型輸出的logits中提取機率最高的五個類別及其置信度。
第一步推理使用模型自帶的示例輸入。我們將示例輸入傳入to_nchw()調整形狀後,餵給MobileNet-V2模型,輸出前五個預測結果。然後,我們從網路下載一張真實的狗的影像。使用torchvision的transforms進行預處理,包括調整大小至256畫素、中心裁剪至224畫素,並轉換為張量。將處理後的影像輸入模型,再次輸出前五個預測,並顯示影像以及最可能的標籤,從而直觀地將模型輸出與輸入影像聯絡起來。
為了驗證更復雜的場景,我們封裝了run_demo()函式,用於執行Qualcomm AI Hub提供的官方命令列演示。首先執行MobileNet-V2的演示,然後安裝額外的YOLOv7包,執行目標檢測演示。YOLOv7演示會生成帶有檢測框的輸出影像。我們查詢最近生成的結果影像並顯示,以驗證物件檢測效果。
本教程還包含一個可選的雲端裝置部署環節,前提是配置了有效的API令牌。透過qai_hub庫連線Qualcomm的雲服務平臺,獲取可用的裝置列表,例如三星Galaxy S24。我們使用torch.jit.trace將PyTorch模型追蹤為TorchScript格式,然後提交編譯作業,將其轉換為TFLite格式。編譯完成後,在目標裝置上提交效能分析作業和推理作業,並下載裝置上的推理結果。最後,我們解析裝置輸出,顯示前五個預測類別,並將編譯後的TFLite模型儲存到本地目錄。
透過本教程,我們掌握了從本地實驗到硬體感知部署的完整流程。Qualcomm AI Hub提供了一條清晰的路徑,使開發者能夠在真實的Qualcomm裝置上高效執行和最佳化AI模型。整個過程涵蓋了環境配置、模型載入、輸入預處理、本地推理、官方Demo執行以及雲端編譯和部署,最終實現了從Colab到實際硬體的無縫遷移。注意:雲端部分需要先設定API令牌,可透過workbench.aihub.qualcomm.com獲取,並使用qai-hub configure --api_token YOUR_TOKEN進行配置。本教程的完整程式碼和筆記本可透過提供的連結獲取。歡迎關注MarkTechPost獲取更多AI相關內容。