ONNX人工智能技術(shù)與開發(fā)實(shí)踐
定 價(jià):88 元
當(dāng)前圖書已被 3 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:吳建明、吳一昊 編著
- 出版時(shí)間:2025/5/1
- ISBN:9787122474315
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TP18
- 頁(yè)碼:228
- 紙張:
- 版次:01
- 開本:16開
ONNX(Open Neural Network Exchange,開放神經(jīng)網(wǎng)絡(luò)交換)是一種開放格式,用于存儲(chǔ)深度神經(jīng)網(wǎng)絡(luò)模型。ONNX 由微軟和Facebook 于2017 年共同推出,旨在促進(jìn)不同深度學(xué)習(xí)框架之間的模型交換和互操作性。ONNX 定義了一組與環(huán)境和平臺(tái)無(wú)關(guān)的標(biāo)準(zhǔn)格式,使得AI 模型可以在不同的框架和環(huán)境下交互使用。經(jīng)過(guò)短短幾年的發(fā)展,ONNX 已經(jīng)成為表示深度學(xué)習(xí)模型的實(shí)際標(biāo)準(zhǔn)。它還支持傳統(tǒng)非神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)模型。ONNX 有望成為整個(gè)AI 模型交換的標(biāo)準(zhǔn)。
全書包括6 章,分別為ONNX 安裝與使用、ONNX 運(yùn)行時(shí)與應(yīng)用開發(fā)技術(shù)、ONNX 各種功能與性能分析、ONNX 數(shù)據(jù)與操作數(shù)優(yōu)化、ONNX 模型性能與應(yīng)用、ONNX 創(chuàng)新開發(fā)案例分析。
本書適合從事AI 算法、軟件、硬件開發(fā)的工程師閱讀,也可供科研人員、高校師生、技術(shù)管理人員參考使用。
第1章 ONNX 安裝與使用
1.1 安裝ONNX 運(yùn)行時(shí)(ORT) 001
1.1.1 環(huán)境要求 001
1.1.2 使用Python 安裝ONNX 001
1.1.3 使用C# /C/C++/WinML 安裝ONNX 002
1.2 使用ONNX 運(yùn)行時(shí) 006
1.2.1 在Python 中使用ONNX 運(yùn)行時(shí) 006
1.2.2 在C++中使用ONNX 運(yùn)行時(shí) 010
1.3 構(gòu)建ONNX 運(yùn)行時(shí) 010
1.3.1 構(gòu)建ONNX 運(yùn)行時(shí)的方式 010
1.3.2 ONNX 運(yùn)行時(shí)API 概述 017
1.3.3 API 詳細(xì)信息 021
1.4 支持程序相關(guān)API 028
第2章 ONNX 運(yùn)行時(shí)與應(yīng)用開發(fā)技術(shù)
2.1 ONNX 運(yùn)行時(shí)支持程序 035
2.1.1 ONNX 運(yùn)行時(shí)支持程序簡(jiǎn)介 035
2.1.2 支持程序摘要 036
2.1.3 添加支持程序 036
2.2 ONNX 原理介紹 037
2.2.1 ONNX 基本概念 037
2.2.2 ONNX 的輸入、輸出、節(jié)點(diǎn)、初始化器、屬性 038
2.2.3 元素類型 039
2.2.4 什么是opset 版本? 040
2.2.5 子圖、測(cè)試和循環(huán) 040
2.2.6 算子掃描 040
2.2.7 工具 041
2.3 ONNX 與Python 042
2.3.1 線性回歸示例042
2.3.2 初始化器,改進(jìn)的線性規(guī)劃 046
2.3.3 遍歷ONNX 結(jié)構(gòu)并檢查初始化器 048
2.4 運(yùn)算符屬性 049
2.5 根據(jù)符號(hào)計(jì)算矩陣中所有浮點(diǎn)數(shù)的總和 052
2.6 樹集合回歸器 058
2.7 程序創(chuàng)建和驗(yàn)證模型功能 059
2.8 ONNX 模型使用開發(fā)示例分析 059
2.8.1 開發(fā)環(huán)境 060
2.8.2 創(chuàng)建控制臺(tái)應(yīng)用程序 060
2.8.3 時(shí)間序列異常檢測(cè) 061
2.8.4 尖峰檢測(cè) 062
2.9 在ML.NET 中使用ONNX 檢測(cè)對(duì)象 066
2.9.1 環(huán)境配置 066
2.9.2 目標(biāo)檢測(cè)示例 066
第3章 ONNX 各種功能與性能分析
3.1 Python API 概述 090
3.1.1 加載ONNX 模型 090
3.1.2 加載帶有外部數(shù)據(jù)的ONNX 模型 090
3.1.3 操作TensorProto 和Numpy 數(shù)組 091
3.1.4 使用輔助函數(shù)創(chuàng)建ONNX 模型 092
3.1.5 用于映射ONNX IR 中屬性的轉(zhuǎn)換實(shí)用程序 093
3.1.6 檢查ONNX 模型 094
3.1.7 ONNX 實(shí)用功能 096
3.1.8 ONNX 形狀推理 099
3.1.9 ONNX 模型文本語(yǔ)法 101
3.1.10 類型表示 102
3.1.11 ONNX 版本轉(zhuǎn)換器 103
3.2 ONNX 中的廣播 105
3.2.1 多向廣播 105
3.2.2 單向廣播 105
3.3 ONNX 操作符可區(qū)分性標(biāo)簽簡(jiǎn)短指南 106
3.3.1 差異性標(biāo)簽 106
3.3.2 定義差異性標(biāo)簽的方法 106
3.4 維度表示 108
3.4.1 維度表示的目的 108
3.4.2 表示定義 108
3.4.3 表示傳播 109
3.4.4 表示驗(yàn)證 109
3.5 外部數(shù)據(jù) 109
3.5.1 加載帶有外部數(shù)據(jù)的ONNX 模型 109
3.5.2 將ONNX 模型轉(zhuǎn)換為外部數(shù)據(jù) 110
3.5.3 使用外部數(shù)據(jù)檢查模型 110
3.6 ONNX 模型庫(kù) 111
3.6.1 基本用法 111
3.6.2 ONNX 中心架構(gòu) 113
3.7 開放神經(jīng)網(wǎng)絡(luò)交換中間表示(ONNX IR)規(guī)范 114
3.7.1 ONNX IR 中間表示的作用 114
3.7.2 ONNX IR 中間表示組件 115
3.7.3 可擴(kuò)展計(jì)算圖模型 115
3.7.4 數(shù)據(jù)流圖 119
3.7.5 張量表達(dá)式 122
3.7.6 靜態(tài)張量形狀 122
3.8 實(shí)現(xiàn)ONNX 后端 125
3.8.1 什么是ONNX 后端? 125
3.8.2 統(tǒng)一后端接口 125
3.8.3 ONNX 后端測(cè)試 125
第4章 ONNX 數(shù)據(jù)與操作數(shù)優(yōu)化
4.1 管理實(shí)驗(yàn)操作符和圖像類別定義 126
4.1.1 棄用的實(shí)驗(yàn)操作符 126
4.1.2 圖像類別定義 126
4.2 ONNX 類型 127
4.2.1 PyTorch 中的示例 127
4.2.2 操作符慣例 129
4.3 E4M3FNUZ 和E5M2FNUZ 129
4.3.1 指數(shù)偏差問題 129
4.3.2 Cast 節(jié)點(diǎn)用于數(shù)據(jù)類型轉(zhuǎn)換 130
4.4 整數(shù)類型(4 位) 131
4.4.1 整數(shù)類型(4 位)概述 131
4.4.2 Cast 節(jié)點(diǎn)用于數(shù)據(jù)類型轉(zhuǎn)換、包裝和拆包 132
4.5 浮點(diǎn)數(shù)(4 位) 132
4.5.1 浮點(diǎn)數(shù)(4 位)概述 132
4.5.2 E2M1、包裝和拆包 132
4.6 ONNX 如何使用onnxruntime.InferenceSession 函數(shù) 133
4.6.1 操作符測(cè)試代碼示例 133
4.6.2 函數(shù)定義 134
4.6.3 函數(shù)屬性 137
4.7 自定義算子 138
4.7.1 添加算子 138
4.7.2 控制操作測(cè)試 139
4.7.3 自定義運(yùn)算符 139
4.7.4 縮減運(yùn)算符配置文件 145
4.8 分析工具 147
4.8.1 代碼內(nèi)性能分析 147
4.8.2 支持程序分析 147
4.8.3 GPU 性能分析 148
4.8.4 記錄和跟蹤 148
4.9 線程管理 149
4.9.1 主要內(nèi)容介紹 149
4.9.2 設(shè)置操作內(nèi)線程數(shù) 150
4.9.3 線程旋轉(zhuǎn)規(guī)則 151
4.9.4 設(shè)置互操作線程數(shù) 151
4.9.5 設(shè)置操作內(nèi)線程關(guān)聯(lián) 151
4.9.6 Numa 支持和性能調(diào)優(yōu) 152
4.10 自定義線程回調(diào)與應(yīng)用 152
4.10.1 自定義線程回調(diào) 152
4.10.2 在自定義操作中的I/O 綁定 153
4.11 量化ONNX 模型 155
4.11.1 量化概述 155
4.11.2 ONNX 量化表示格式 155
4.11.3 量化ONNX 模型 156
4.11.4 量化示例 158
4.11.5 方法選擇 158
4.11.6 量化為Int4/UInt4 159
4.12 創(chuàng)建float16 和混合精度模型 161
4.12.1 float16 轉(zhuǎn)換解析 161
4.12.2 混合精度 162
第5章 ONNX 模型性能與應(yīng)用
5.1 ONNX 運(yùn)行時(shí)圖形優(yōu)化 163
5.1.1 ONNX 運(yùn)行時(shí)圖形優(yōu)化概述 163
5.1.2 ONNX 運(yùn)行時(shí)圖形優(yōu)化使用方法 165
5.2 ORT 模型格式 166
5.2.1 ORT 模型格式是什么? 166
5.2.2 將ONNX 模型轉(zhuǎn)換為ORT 格式 167
5.2.3 將ONNX 模型轉(zhuǎn)換為ORT 格式腳本用法 168
5.3 加載并執(zhí)行ORT 格式的模型 170
5.3.1 不同平臺(tái)的運(yùn)行環(huán)境 170
5.3.2 ORT 格式模型加載 170
5.3.3 從內(nèi)存中的字節(jié)數(shù)組加載ORT 格式模型 171
5.3.4 ORT 格式模型運(yùn)行時(shí)優(yōu)化 172
5.4 BERT 模型驗(yàn)證 174
5.4.1 BERT 模型驗(yàn)證概述 174
5.4.2 對(duì)模型進(jìn)行基準(zhǔn)測(cè)試和分析 174
5.4.3 Olive-硬件感知模型優(yōu)化工具 175
5.5 AzureML 上ONNX 運(yùn)行時(shí)的高性能推理BERT 模型 179
5.5.1 AzureML 上ONNX 運(yùn)行時(shí)BERT 模型概述 179
5.5.2 步驟1-預(yù)訓(xùn)練、微調(diào)和導(dǎo)出BERT 模型(PyTorch) 179
5.5.3 步驟2-通過(guò)AzureML 使用ONNX 運(yùn)行時(shí)部署B(yǎng)ERT 模型 181
5.5.4 步驟3-檢查AzureML 環(huán)境 181
5.5.5 步驟4-在AzureML 中注冊(cè)模型 182
5.5.6 步驟5-編寫評(píng)分文件 183
5.5.7 步驟6-寫入環(huán)境文件 187
5.5.8 步驟7-在Azure 容器實(shí)例上將模型部署為Web 服務(wù) 187
5.5.9 步驟8-使用WebService 推理BERT 模型 188
第6章 ONNX 創(chuàng)新開發(fā)案例分析
6.1 FedAS:彌合個(gè)性化聯(lián)合學(xué)習(xí)中的不一致性 190
6.1.1 概述 190
6.1.2 技術(shù)分析 190
6.1.3 結(jié)論 191
6.2 快照壓縮成像的雙先驗(yàn)展開 192
6.2.1 概述 192
6.2.2 技術(shù)分析 192
6.2.3 結(jié)論 193
6.3 利用光譜空間校正改進(jìn)光譜快照重建 193
6.3.1 概述 193
6.3.2 技術(shù)分析 193
6.3.3 結(jié)論 194
6.4 基于位平面切片的學(xué)習(xí)型無(wú)損圖像壓縮 194
6.4.1 概述 194
6.4.2 技術(shù)分析 195
6.4.3 結(jié)論 195
6.5 LiDAR4D:用于新型時(shí)空觀激光雷達(dá)合成的動(dòng)態(tài)神經(jīng)場(chǎng) 195
6.5.1 概述 195
6.5.2 技術(shù)分析 196
6.5.3 結(jié)論 196
6.6 用于圖像恢復(fù)的具有注意特征重構(gòu)的自適應(yīng)稀疏變換器 197
6.6.1 概述 197
6.6.2 技術(shù)分析 197
6.6.3 結(jié)論 198
6.7 面向目標(biāo)檢測(cè)中邊界不連續(xù)性問題的再思考 198
6.7.1 概述 198
6.7.2 技術(shù)分析 199
6.7.3 結(jié)論 199
6.8 綜合、診斷和優(yōu)化:邁向精細(xì)視覺語(yǔ)言理解 200
6.8.1 概述 200
6.8.2 技術(shù)分析 200
6.8.3 結(jié)論 201
6.9 光譜和視覺光譜偏振真實(shí)數(shù)據(jù)集 201
6.9.1 概述 201
6.9.2 技術(shù)分析 202
6.9.3 結(jié)論 203
6.10 CoSeR 橋接圖像和語(yǔ)言以實(shí)現(xiàn)認(rèn)知超分辨率 204
6.10.1 概述 204
6.10.2 技術(shù)分析 204
6.10.3 結(jié)論 212
6.11 SAM-6D: 分段任意模型滿足零樣本6D 對(duì)象姿態(tài)估計(jì) 213
6.11.1 概述 213
6.11.2 技術(shù)分析 213
6.11.3 結(jié)論 214
6.12 NeISF:用于幾何和材料估計(jì)的神經(jīng)入射斯托克斯場(chǎng) 215
6.12.1 概述 215
6.12.2 技術(shù)分析 215
6.13 Monkey 圖像分辨率和文本標(biāo)簽是大型多模態(tài)模型的重要內(nèi)容 217
6.13.1 概述 217
6.13.2 技術(shù)分析 218
6.13.3 結(jié)論 219
6.14 CorrMatch:通過(guò)相關(guān)性匹配進(jìn)行標(biāo)簽傳播,用于半監(jiān)督語(yǔ)義分割 219
6.14.1 概述 219
6.14.2 技術(shù)分析 220
6.15 VCoder:多模態(tài)大型語(yǔ)言模型的多功能視覺編碼器 220
6.15.1 概述 220
6.15.2 技術(shù)分析 220
6.15.3 結(jié)論 221
參考文獻(xiàn)