關於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相關內容。