## NVIDIA Jetson 平台部署相關筆記 ### [AI / ML領域相關學習筆記入口頁面](https://hackmd.io/@YungHuiHsu/BySsb5dfp) ### 基本環境設定 - [Jetson AGX Xavier 系統環境設定1_在windows10環境連接與安裝](https://hackmd.io/@YungHuiHsu/HJ2lcU4Rj) - [Jetson AGX Xavier 系統環境設定2_Docker安裝或從源程式碼編譯](https://hackmd.io/k-lnDTxVQDWo_V13WEnfOg) - [NVIDIA Container Toolkit 安裝筆記](https://hackmd.io/wADvyemZRDOeEduJXA9X7g) - [Jetson 邊緣裝置查詢系統性能指令jtop](https://hackmd.io/VXXV3T5GRIKi6ap8SkR-tg) - [Jetson Network Setup 網路設定](https://hackmd.io/WiqAB7pLSpm2863N2ISGXQ) - [OpenCV turns on cuda acceleration in Nvidia Jetson platform<br>OpenCV在Nvidia Jetson平台開啟cuda加速](https://hackmd.io/6IloyiWMQ_qbIpIE_c_1GA) ### 模型部署與加速 - [[Deployment] AI模型部屬入門相關筆記](https://hackmd.io/G80HMJRmSwaaLD8W1PHUPg) - [[Object Detection_YOLO] YOLOv7 論文筆記](https://hackmd.io/xhLeIsoSToW0jL61QRWDcQ) - [Deploy YOLOv7 on Nvidia Jetson](https://hackmd.io/kZftj6AgQmWJsbXsswIwEQ) - [Convert PyTorch model to TensorRT for 3-8x speedup<br>將PyTorch模型轉換為TensorRT,實現3-8倍加速](https://hackmd.io/_oaJhYNqTvyL_h01X1Fdmw?both) - [Accelerate multi-streaming cameras with DeepStream and deploy custom (YOLO) models<br>使用DeepStream加速多串流攝影機並部署客製(YOLO)模型](https://hackmd.io/@YungHuiHsu/rJKx-tv4h) - [Use Deepstream python API to extract the model output tensor and customize model post-processing (e.g., YOLO-Pose)<br>使用Deepstream python API提取模型輸出張量並定製模型后處理(如:YOLO-Pose)](https://hackmd.io/@YungHuiHsu/rk41ISKY2) - [Model Quantization Note 模型量化筆記](https://hackmd.io/riYLcrp1RuKHpVI22oEAXA) --- ### [MLC: Machine Learning Compiler](https://mlc.ai/summer22-zh/) > 機器學習編譯 (machine learning compilation, MLC) 是指,將機器學習演算法從開發階段,通過變換和優化演算法,使其變成部署狀態。 - 開發形式 - 是指我們在開發機器學習模型時使用的形式。 典型的開發形式包括用 PyTorch、TensorFlow 或 JAX 等通用框架編寫的模型描述,以及與之相關的權重。 - 部署形式 - 是指執行機器學習應用程式所需的形式。 它通常涉及機器學習模型的每個步驟的支撐代碼、管理資源(例如記憶體)的控制器,以及與應用程式開發環境的介面(例如用於 android 應用程式的 java API)。 <div style="text-align: center;"> <figure> <img src="https://hackmd.io/_uploads/SJHswB7GT.png" width="800"> <figcaption> <span style="color: #3F7FBF; font-weight: bold;"> <a href="https://mlc.ai/summer22-zh/" target="_blank">Machine Learning Compiler</a> </figcaption> </figure> </div> :::info 關於深度學習模型部屬理論的系統化課程 ps:課程開設者陳天奇是著名機器學習演算法 XGBoost、深度學習編譯器 TVM 等的作者 ::: ## [chenzomi12/DeepLearningSystem/推理系統課程](https://github.com/chenzomi12/DeepLearningSystem/tree/main/Inference) 內有關於深度學習與推理系統的完整介紹,簡單明瞭,推薦! ![](https://hackmd.io/_uploads/HkvyoVwEh.png) ![](https://hackmd.io/_uploads/S1cRqEw4h.png) ![](https://hackmd.io/_uploads/r1bko4D42.png) ![](https://hackmd.io/_uploads/Hkl7iND4h.png) ![](https://hackmd.io/_uploads/HyrXj4wVn.png) ![](https://hackmd.io/_uploads/SyRXsNwVn.png) ### 設計推理系統的優化目標 * 低延遲(Latency):滿足服務等級協議的延遲 * 吞吐量(Throughputs):暴增負載的吞吐量需求 * 高效率(Efficiency):高效率,低功耗使用GPU, CPU * 靈活性(Flexibility):支持多種框架,提供構建不同應用的靈活性 * 擴展性(Scalability):擴展支持不斷增長的用戶或設備 ### 概念澄清 * 推理(Inference) 對於訓練(Training)而言的推理,即模型前向計算,也就是對於給出的輸入數據計算得到模型 的輸出結果;相對預測(Prediction)的推理,是統計學領域的範疇。 * 部署(Deployment) . 訓練得到的模型主要目的還是為了更有效地解決實際中的問題,因此部署是一個非常重要的階 段。模型部署的課題也非常多,包括但不僅限於:移植、壓縮、加速等。 * 服務化(Serving) 模型的部署方式是多樣的:封裝成一個SDK,集成到APP或者服務中;封裝成一個web服務,對 外暴露接口(HTTP(S),RPC等協議)。 ### [2023/02。OLDPAN。AI部署之路 | 模型選型、本地部署、伺服器部署、模型轉換全棧打通](https://blog.csdn.net/CV_Autobot/article/details/129188395) 前顯易懂的快速入門文章、很多業界實務經驗,推薦搭配[chenzomi12/DeepLearningSystem/推理系統課程](https://github.com/chenzomi12/DeepLearningSystem/tree/main/Inference)一起看完可以快速系統性掌握業界概況 ### [2021.09。ALISDAIR BROSHAR。Blue-Green, Rolling, and Canary: Continuous Deployments Explained](https://www.koyeb.com/blog/blue-green-rolling-and-canary-continuous-deployments-explained) ![](https://hackmd.io/_uploads/ByG0oHQfa.png) ![](https://hackmd.io/_uploads/H17LjVw42.png) ![](https://hackmd.io/_uploads/H11ws4wN2.png)