買這商品的人也買了...
-
光學元件精密製造與檢測 (精裝)$980$931 -
自動化光學檢測$520$494 -
明解C語言 中級篇$534$507 -
一書貫通 -- 從資料科學橫入人工智慧領域$650$553 -
數據分析的力量 Google、Uber 都在用的因果關係思考法$300$255 -
A-Life|使用 Python 實作人工生命模型$520$411 -
因果革命:人工智慧的大未來 (硬殼精裝)(The Book of Why: The New Science of Cause and Effect)$680$578 -
這就是服務設計!|服務設計工作者的實踐指南 (This Is Service Design Doing: Applying Service Design Thinking in the Real World)$880$695 -
失控的數據:數字管理的誤用與濫用,如何影響我們的生活與工作,甚至引發災難$380$342 -
深度學習|生命科學應用 (Deep Learning for the Life Sciences)$580$458 -
持續交付 2.0:實務導向的 DevOps$680$530 -
動手做深度強化學習 (Deep Reinforcement Learning Hands-On)$690$538 -
C++ Templates 全覽, 2/e (C++ Templates: The Complete Guide, 2/e)$1,200$948 -
電子構裝散熱理論與量測實驗之設計, 2/e$900$810 -
CPU 設計實戰$594$564 -
$422Wi-Fi 7 開發參考:技術原理、標準和應用 -
Node.js 量化投資全攻略:從資料收集到自動化交易系統建構實戰(iThome鐵人賽系列書)【軟精裝】$760$593 -
$378GPT 圖解 : 大模型是怎樣構建的 -
$556高效能並行運行時系統:設計與實現 -
工控資安銳視角:石化場域 OT / ICS 學習筆記$680$530 -
Linux C 與 C++ 一線開發實踐, 2/e$954$906 -
硬件產品經理進階$216$205 -
AI Vision × LLM 電腦視覺應用聖經:OpenCV × YOLO × Ollama 解鎖多模態全攻略$880$695 -
深入淺出數據科學:Python編程$479$455 -
功率半導體元件與封裝解析:從傳統TO封裝到異質多晶片模組,解析驅動、保護、散熱等全方位功率封裝設計核心$750$593
商品描述
本書旨在幫助開發者應對AI推理計算性能優化這一重要挑戰。隨著深度學習模型的規模和覆雜性日益增長,如何提升推理效率已成為開發者關註的核心問題。本書詳細介紹了OpenVINOTM(Open Visual Inference and Neural Network Optimization)這款由英特爾推出的,專為深度學習模型的優化、加速推理和跨平臺部署設計的開源工具套件。通過簡單易用的功能,開發者可以快速上手,實現AI應用的高效落地。 本書涵蓋了從OpenVINO的基礎入門到高級優化的完整內容,包括設備插件、量化技術、大語言模型和生成式AI的優化與部署等,幫助開發者靈活應對不同應用場景的需求。此外,書中還介紹了端到端AI推理計算性能提升的實戰案例,以及與PyTorch、ONNX Runtime等工具的集成,確保開發者在熟悉的環境中提升開發效率。書中代碼獲取方式見前言。 本書不僅適合AI領域的初學者,也為有經驗的開發者提供了深入的技術指南。通過OpenVINO,開發者可以輕松提升AI推理計算性能,加速AI應用項目的成功落地。
作者簡介
武卓,博士,英特爾AI軟件布道師。曾任上海大學副教授,碩士生導師,主持及參與國家級及省部級科研項目十余項,並曾在貝爾實驗室(中國)擔任研究科學家,負責5G通信系統的新技術研發及標準化工作。在加入英特爾之前,在埃森哲(中國)有限公司擔任數據科學家,負責向客戶交付基於AI的解決方案。
目錄大綱
前言
第1章 OpenVINOTM工具套件快速入門
1.1 OpenVINOTM 工具套件簡介
1.2 OpenVINOTM 常用工具和組件
1.3 搭建OpenVINOTM Python開發環境
1.4 使用OpenVINOTM Model Converter轉換模型
1.4.1 OpenVINOTM IR模型
1.4.2 使用OVC轉換模型
1.5 使用benchmark_app評估模型推理計算性能
1.6 編寫OpenVINOTM同步推理程序
1.6.1 OpenVINOTM同步推理程序典型流程
1.6.2 創建Core對象
1.6.3 讀取並編譯模型
1.6.4 獲取圖像數據
1.6.5 數據預處理
1.6.6 執行 AI 推理計算並獲得推理結果
1.6.7 對推理結果進行後處理
1.6.8 運行完整的推理程序
1.7 本章小結
第2章 優化AI模型的推理計算性能
2.1 AI推理計算性能評價指標
2.1.1 AI模型的推理計算性能
2.1.2 端到端的AI程序推理計算性能
2.2 OpenVINOTM 設備插件
2.2.1 CPU插件、GPU插件和NPU插件
2.2.2 自動設備選擇(AUTO)
2.2.3 用代碼指定計算設備
2.3 性能提示(Performance Hints)
2.3.1 LATENCY(延遲優先)
2.3.2 THROUGHPUT(吞吐量優先)
2.3.3 CUMULATIVE_THROUGHPUT(累計吞吐量)
2.3.4 用代碼配置性能提示屬性
2.4 計算設備的屬性
2.4.1 獲得屬性
2.4.2 設置屬性
2.5 推理請求數量(Number of Infer Requests)
2.5.1 最佳推理請求數
2.5.2 用代碼設置推理請求數
2.6 自動批處理(Automatic Batching)
2.6.1 啟用自動批處理
2.6.2 設置批尺寸
2.6.3 設置自動批處理超時
2.7 模型緩存(Model Caching)
2.8 線程調度(Thread Scheduling)
2.9 共享內存(Shared Memory)
2.9.1 輸入共享內存
2.9.2 輸出共享內存
2.10 編寫帶屬性配置的OpenVINOTM同步推理程序
2.10.1 創建推理請求對象
2.10.2 阻塞式推理計算方法:infer()
2.10.3 基於YOLOv8-cls分類模型的同步推理程序
2.10.4 基於YOLOv8目標檢測模型的同步推理程序
2.10.5 基於YOLOv8-seg實例分割模型的同步推理程序
2.11 本章小結
第3章 模型量化技術
3.1 深度學習中常見的數據類型
3.1.1 如何用二進製表示浮點數
3.1.2 不同數據類型的存儲需求和計算效率
3.2 INT8量化
3.3 NNCF
3.4 搭建NNCF開發環境
3.5 基礎量化
3.5.1 準備COCO驗證數據集
3.5.2 編寫轉換函數transform_fn()
3.5.3 準備校準數據集
3.5.4 調用nncf.quantize()函數執行INT8量化
3.5.5 保存INT8量化好的模型
3.5.6 測試INT8模型性能
3.5.7 基礎量化小結
3.6 帶精度控制的量化
3.6.1 準備COCO128驗證數據集
3.6.2 編寫轉換函數transform_fn()
3.6.3 準備校準數據集和驗證數據集
3.6.4 準備驗證函數
3.6.5 調用nncf.quantize_with_accuracy_control()函數執行INT8量化
3.6.6 保存INT8量化好的模型
3.6.7 測試INT8模型性能
3.6.8 帶精度控制的量化小結
3.7 本章小結
第4章 優化端到端的AI程序推理計算性能
4.1 端到端的AI程序推理計算性能
4.2 預處理API
4.2.1 導出YOLOv8s IR模型
4.2.2 實例化PrePostProcessor對象
4.2.3 聲明用戶輸入數據信息
4.2.4 聲明原始模型輸入節點的佈局信息
4.2.5 定義預處理步驟
4.2.6 將預處理步驟嵌入原始AI模型
4.2.7 保存嵌入預處理的AI模型
4.2.8 內嵌預處理後的模型性能
4.3 torchvision預處理轉換器
4.4 使用異步推理提升AI程序的吞吐量
4.4.1 OpenVINOTM異步推理API
4.4.2 YOLOv8異步推理範例
4.5 使用AsyncInferQueue進一步提升AI程序的吞吐量
4.6 多路視頻流並行推理
4.6.1 下載無版權視頻
4.6.2 下載person-detection-0202模型並準備前、後處理函數
4.6.3 編寫推理線程
4.6.4 編寫顯示線程
4.6.5 啟動多線程
4.7 本章小結
第5章 OpenVINOTM的編程生態
5.1 指定OpenVINOTM為PyTorch 2.×後端
5.1.1 torch.compile簡介
5.1.2 OpenVINOTM後端
5.2 ONNX Runtime的OpenVINOTM執行提供者
5.2.1 搭建ONNX Runtime開發環境
5.2.2 OpenVINOTM執行提供者範例程序
5.3 Optimum Intel的OpenVINOTM後端
5.3.1 搭建開發環境
5.3.2用optimum-cli對Qwen2-1.5 B-Instruct模型進行INT4量化
5.3.3 編寫推理程序qwen2_optimum.py
5.4 LangChain的OpenVINOTM後端
5.4.1 LangChain支持OpenVINOTM後端
5.4.2 編寫推理程序qwen2_langchain.py
5.5 vLLM的OpenVINOTM後端
5.5.1 搭建OpenVINOTM+vLLM開發環境
5.5.2 vLLM的範例程序
5.6 OpenV
