人工智能雲平臺 原理、設計與應用

孫皓 鄭歆慰 張文凱

  • 出版商: 人民郵電
  • 出版日期: 2020-08-01
  • 定價: $894
  • 售價: 8.5$760
  • 語言: 簡體中文
  • 頁數: 329
  • 裝訂: 平裝
  • ISBN: 7115543453
  • ISBN-13: 9787115543455
  • 相關分類: Machine Learning雲端運算
  • 立即出貨 (庫存 < 3)

  • 人工智能雲平臺 原理、設計與應用-preview-1
  • 人工智能雲平臺 原理、設計與應用-preview-2
人工智能雲平臺 原理、設計與應用-preview-1

買這商品的人也買了...

商品描述

本書以實踐為導向,深入淺出,從人工智能技術、機器學習框架和微服務等概念講起,對主流的人工智能雲平臺產品進行剖析和比較,對從訓練學習到服務封裝再到模型發布應用的全過程進行介紹,並對人工智能雲平臺技術棧涉及的雲計算、集群管理、任務調度、共享存儲等技術進行了詳細講解,以提高研發人員對人工智能全生產流程的理解。書中結合以上技術知識,以目前較為主流的開源人工智能集群管理雲平臺為例,對相關工程案例進行了深入講解,幫助讀者加深對知識點的理解和掌握。

本書適合有一定機器學習基礎和大數據基礎的學生、研發人員或希望進入人工智能雲平臺領域的讀者閱讀和學習。同時,也希望本書能幫助更多人在人工智能時代找到自己的方向和定位。

作者簡介

孙皓

孙皓,博士,主要研究方向为图像理解、视频分析、机器学习平台等。设计研发了特定领域分布式图像并行检测识别系统、多源数据机器学习智能平台等智能应用系统。主持多项国家自然科学基金、重大专项预研课题。曾荣获省级科学技术一等奖,并担任多个领域预研课题评审专家和多个期刊的审稿人。发表SCI论文20余篇,指导硕士生10余人。

郑歆慰

郑歆慰,2014年获得中国科学院大学博士学位,现为中国科学技术大学类脑智能技术及应用国家工程实验室特任副研究员,主要研究方向为机器学习系统,发表论文10余篇,是类脑智能开放平台、OpenPAI、启智社区等的活跃贡献者。

张文凯

张文凯,博士,中国科学院空天信息创新研究院地理与赛博空间信息技术研究部助理研究员,IEEE会员,主要研究方向为遥感图像处理、多模态数据处理以及智能计算平台开发。担任中国图象图形学报、IEEE Geoscience and Remote Sensing Letters、IET Image Processing、IET Intelligent Transport Systems等期刊审稿人。在国内外核心期刊上发表学术论文10余篇,其中SCI期刊收录8篇。

目錄大綱

第 1章 人工智能雲平臺簡介 / 1

1.1人工智能發展 / 3

1.2人工智能雲平臺 / 4

1.3雲計算與人工智能雲平臺 / 6

1.4智能框架與人工智能雲平臺 / 8

1.5人工智能雲平臺的主要環節與基本組成 / 10

1.6小結 / 13

參考文獻 / 13

 

第 2章 人工智能雲平臺案例概覽 / 15

2.1谷歌AI雲平臺 / 17

2.1.1AI Hub / 17

2.1.2AI基礎組件 / 18

2.1.3AI平臺 / 18

2.2微軟Azure機器學習平臺 / 20

2.2.1Azure機器學習工作室 / 20

2.2.2Azure機器學習服務 / 20

2.3亞馬遜 SageMaker平臺 / 21

2.3.1Amazon SageMaker Ground Truth標註工具 / 22

2.3.2Amazon SageMaker模型訓練與服務提供工具 / 22

2.3.3Amazon SageMaker推理優化與部署工具集 / 23

2.4企業自有智能平臺 / 24

2.4.1業務場景閉環 / 25

2.4.2量身設計,靈活性強 / 26

2.5小結 / 26

參考文獻 / 26

 

第3章 共享存儲與數據管理 / 27

3.1基本概念 / 30

3.1.1文件系統分類 / 30

3.1.2存儲設計目標 / 34

3.2古老而有活力的NFS / 35

3.2.1NFS版本更迭 / 35

3.2.2NFS架構介紹 / 37

3.2.3NFS常用配置 / 38

3.3活躍於超算領域的Lustre / 40

3.3.1Lustre架構分析 / 40

3.3.2Lustre與NFS / 42

3.3.3Lustre發展趨勢 / 43

3.4數據集管理 / 43

3.4.1TFRecord / 43

3.4.2LMDB / 47

3.4.3RecordIO / 50

3.5小結 / 51

參考文獻 / 51

 

第4章 資源管理與調度 / 53

4.1概述 / 55

4.1.1工作流 / 55

4.1.2資源的定義 / 56

4.1.3資源隔離 / 56

4.2Docker簡介 / 57

4.2.1什麽是Docker? / 57

4.2.2Docker組成 / 58

4.2.3Docker工作流程 / 59

4.2.4NVIDIA Docker / 60

4.3任務調度系統架構簡介 / 60

4.4基於YARN的調度系統實現 / 63

4.4.1系統架構 / 63

4.4.2部署說明 / 64

4.4.3業務流程 / 65

4.4.4GPU支持 / 65

4.5基於Kubernetes的調度系統實現 / 69

4.5.1系統架構 / 70

4.5.2業務流程 / 71

4.5.3GPU支持 / 72

4.6小結 / 75

參考文獻 / 75

 

第5章 運維監控系統 / 77

5.1Prometheus概述 / 79

5.1.1Prometheus的特點和適用場景 / 79

5.1.2Prometheus組成架構 / 80

5.1.3Prometheus核心概念 / 81

5.2數據採集之Exporter / 82

5.2.1Node Exporter / 84

5.2.2NVIDIA GPU Exporter / 88

5.2.3Prometheus的部署 / 90

5.3數據格式與編程——Prometheus查詢語言 / 91

5.3.1初識PromQL / 92

5.3.2PromQL 操作符 / 92

5.3.3PromQL函數 / 96

5.4數據可視化之Grafana / 98

5.4.1創建Prometheus數據源 / 99

5.4.2創建數據可視化圖形 / 99

5.5告警系統之AlertManager / 99

5.5.1安裝和部署 / 100

5.5.2配置Prometheus使之與AlertManager進行通信 / 103

5.5.3在Prometheus中創建告警規則 / 105

5.6小結 / 106

參考文獻 / 106

 

第6章 機器學習框架 / 107

6.1 SciPy / 109

6.1.1什麽是SciPy? / 109

6.1.2SciPy的特點 / 109

6.1.3使用示例 / 110

6.2scikit-learn / 111

6.2.1什麽是scikit-learn? / 111

6.2.2scikit-learn的六大功能 / 112

6.2.3scikit-learn示例 / 113

6.3Pandas / 116

6.3.1什麽是Pandas? / 116

6.3.2Pandas的特點 / 116

6.3.3Pandas示例 / 117

6.4Spark MLlib和Spark ML / 119

6.4.1什麽是Spark MLlib和Spark ML? / 119

6.4.2Spark使用示例 / 119

6.5 XGBoost / 121

6.5.1什麽是XGBoost? / 121

6.5.2XGBoost的特點 / 121

6.5.3XGBoost功能和示例 / 122

6.6 TensorFlow / 127

6.6.1什麽是TensorFlow? / 127

6.6.2TensorFlow的特點 / 128

6.6.3TensorFlow使用示例 / 128

6.7PyTorch / 132

6.7.1什麽是PyTorch? / 132

6.7.2PyTorch的特點 / 133

6.7.3PyTorch使用示例——MNIST分類 / 133

6.8其他 / 136

6.8.1Apache MXNet / 136

6.8.2Caffe / 136

6.8.3CNTK / 137

6.8.4Theano / 138

6.9小結 / 139

參考文獻 / 140

 

第7章 分佈式並行訓練 / 141

7.1並行訓練概述 / 143

7.2並行編程工具 / 144

7.3深度學習中的並行 / 146

7.3.1算法並行優化 / 146

7.3.2網絡並行優化 / 148

7.3.3分佈式訓練優化 / 151

7.4小結 / 167

參考文獻 / 167

 

第8章 自動機器學習 / 169

8.1AutoML概述 / 171

8.2特徵工程 / 172

8.3模型選擇 / 175

8.4優化算法選擇 / 177

8.5神經架構搜索 / 178

8.5.1NAS綜述 / 178

8.5.2細分領域的NAS應用 / 180

8.5.3NAS應用示例 / 182

8.6搜索優化和評估 / 187

8.6.1搜索策略 / 187

8.6.2評估策略 / 189

8.7小結 / 190

參考文獻 / 190

 

第9章 模型構建與發布 / 193

9.1模型構建流程 / 195

9.2基於TensorFlow構建方案 / 195

9.2.1神經網絡模型訓練 / 196

9.2.2神經網絡模型保存 / 199

9.2.3使用命令行工具檢測 SavedModel / 200

9.2.4使用contrib.predictor提供服務 / 201

9.2.5使用TensorFlow Serving提供服務 / 202

9.3基於Seldon Core的模型部署 / 205

9.3.1Seldon Core安裝 / 206

9.3.2Seldon Core使用示例 / 207

9.4小結 / 209

參考文獻 / 210

 

第 10章 可視化開發環境 / 211

10.1Jupyter Notebook / 213

10.2PyCharm / 216

10.3Visual Studio Code / 218

10.3.1資源管理器 / 219

10.3.2搜索 / 219

10.3.3源代碼管理器 / 219

10.3.4調試 / 220

10.3.5擴展插件 / 221

10.3.6管理 / 221

10.3.7VSCode開發Python / 222

10.4code-server / 223

10.4.1code-server安裝 / 223

10.4.2code-server啟動 / 224

10.4.3code-server安裝插件 / 224

10.5TensorBoard / 227

10.6小結 / 230

參考文獻 / 230

第 11章 DIGITS實踐 / 231

11.1DIGITS配置 / 233

11.1.1DIGITS安裝 / 233

11.1.2DIGITS啟動 / 234

11.2DIGITS示例 / 235

11.2.1圖像分類 / 235

11.2.2語義分割 / 239

11.3DIGITS源碼解析 / 245

11.3.1DIGITS功能介紹 / 248

11.3.2類繼承關系 / 251

11.4小結 / 258

參考文獻 / 259

 

第 12章 Kubeflow實踐 / 261

12.1什麽是Kubeflow? / 263

12.2Kubeflow部署 / 264

12.3JupyterHub / 268

12.3.1JupyterHub定義 / 268

12.3.2JupyterHub子系統 / 268

12.3.3JupyterHub子系統交互 / 268

12.4Kubeflow-operator / 270

12.4.1tf-operator / 270

12.4.2pytorch-operator / 281

12.5Katib / 286

12.5.1Katib組成模塊 / 286

12.5.2Katib模塊超參數優化 / 287

12.5.3Katib實驗運行基本流程 / 288

12.5.4Kubeflow 路線圖 / 289

12.6小結 / 289

參考文獻 / 290

 

第 13章 OpenPAI實踐 / 291

13.1直觀感受 / 294

13.1.1部署OpenPAI / 294

13.1.2提交一個hello-world任務 / 297

13.1.3作業配置與環境變量 / 298

13.2平臺架構 / 301

13.2.1服務列表 / 302

13.2.2工作流 / 303

13.2.3資源分配 / 304

13.3集群運維 / 304

13.3.1可視化頁面的集群管理 / 304

13.3.2命令行管理維護工具——paictl.py / 305

13.4OpenPAI代碼導讀 / 308

13.4.1在YARN中對GPU調度的支持——Hadoop-AI / 310

13.4.2YARN作業的編排服務——FrameworkLauncher / 321

13.5小結 / 328

參考文獻 / 329