OpenCL異構計算:入門FPGA和TensorFlow神經網絡(簡體書)
商品資訊
系列名:普通高等院校電子信息系列教材
ISBN13:9787302593980
出版社:清華大學出版社(大陸)
作者:胡正偉; 謝志遠; 王岩
出版日:2021/12/01
裝訂/頁數:平裝/223頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
目次
相關商品
商品簡介
本書以通過FPGA實現簡易神經網絡的推理流程為主線,主要包含以下內容: 在TensorFlow學習框架下實現神經網絡訓練,保存訓練好的權值和偏置;將TensorFlow框架下訓練的神經網絡使用OpenCL語言實現,並編譯生成可執行文件和FPGA編程文件;將輸入數據、權值、偏置等數據通過以太網口傳輸到FPGA開發板;在FPGA開發板上運行神經網絡。
本書的重點在於神經網絡算法的OpenCL描述方法及FPGA實現流程。簡易神經網絡算法不僅可以讓讀者明白神經網絡的工作原理及基本框架,還可以使用較少的OpenCL代碼描述,易於分析神經網絡算法與代碼的對應關係,實現OpenCL語言的學習。
本書以Ubuntu操作系統為運行環境,以***高的FPGA開發板DE10_nano為實現平臺,該開發板尺寸較小,易於攜帶,方便管理,價格較低,適合批量購買以開展相關教學實驗。
本書面向電子信息、計算機、自動化等相關專業的本科生及研究生或FPGA開發人員。
目次
●章 緒論
1.1 異構計算系統
1.2 OpenCL
1.3 FPGA
1.4 FPGA CPU異構計算系統
1.5 HDL和OpenCL
1.5.1 OpenCL的優點
1.5.2 OpenCL的缺點
1.6 人工神經網絡
1.6.1 人工神經網絡的基本概念
1.6.2 人工神經網絡的基本特徵
1.6.3 人工神經網絡的應用
習題1
第2章 TensorFlow基礎知識及運行環境搭建
2.1 TensorFlow簡介
2.2 TensorFlow兩步編程模式
2.3 TensorFlow兩步編程模式實例
2.3.1 定義計算圖的基本操作
2.3.2 運行計算圖的基本操作
2.4 TensorFlow環境搭建
2.4.1
2.4.2 TensorFlow軟件運行
2.4.3 計算圖例程運行實例
習題2
第3章 TensorFlow實現神經網絡模型訓練與測試
3.1 神經網絡訓練與測試的基本概念
3.1.1 神經網絡的訓練
3.1.2 神經網絡的測試
3.2 基於TensforFlow訓練神經網絡實現MNIST數據集識別
3.2.1 MNSIT數據集
3.2.2 Softmax Regression模型
3.2.3 MNIST數據識別的Softmax Regression神經網絡模型
3.2.4 MNIST數據識別的卷積神經網絡模型
3.3 MNIST數據集轉換
3.3.1 將數據集轉換為以txt文件保存的數據
3.3.2 將數據集轉換為以bmp文件保存的圖片
3.3.3 將bmp轉換為tfrecords格式
3.4 讀取tfrecords格式數據實現MNIST手寫字體識別
3.4.1 Softmax Regression模型
3.4.2 卷積神經網絡模型
習題3
第4章 OpenCL基礎
4.1 OpenCL標準框架
4.2 OpenCL基本概念基礎
4.3 OpenCL程序的組成部分
4.4 OpenCL框架的4種模型
4.5 編寫個OpenCL程序
4.5.1 kernel程序
4.5.2 host程序
4.6 OpenCL基本知識點
4.6.1 kernel函數格式
4.6.2 kernel編程模式
4.6.3 kernel地址限定符
4. kernel語句描述
4.6.5 kernel數據類型
4.6.6 kernel編程
習題4
第5章 面向Intel FPGA的OpenCL運行平臺搭建
5.1 搭建OpenCL平臺的軟硬件要求
5.2 面向OpenCL應用的DE10_nano開發板簡介
5.3 平臺所需軟件下載
5.3.1 Quartus Prime Standard下載
5.3.2 Intel FPGA SDK for OpenCL下載
5.3.3 Intel SoC FPGA EDS下載
5.4 平臺所需
5.4.1 安裝Quartus Prime Standard Edition Intel FPGA SDK for OpenCL
5.4.2 安裝SoCEDS
5.4.3 安裝DE10_nano BSP
5.5 環境變量設置
5.5.1 環境變量設置步驟
5.5.2 環境變量測試
5.6 編譯OpenCL kernel
5.7 編譯host 程序
5.8 燒寫img文件到SD卡(在Windows系統下完成)
5.9 minicom驅動安裝與測試
5.9.1 minicom驅動安裝
5.9.2 minicom 使用測試
5.10 hello world kernel運行測試
5.11 DE10_nano與PC交換數據
習題5
第6章 單層神經網絡算法模型的FPGA實現流程
6.1 基於OpenCL的神經網絡算法設計與FPGA實現的基本流程
6.2 無隱形層的簡易神經網絡算法原理
6.3 神經網絡的TensorFlow實現及訓練
TensorFlow框架下輸入數據的轉換
6.5 神經網絡算法的OpenCL實現
6.5.1 kernel代碼編寫及編譯
6.5.2 host代碼編寫及編譯
6.6 數據移植復制到FPGA開發板
6.7 FPGA運行神經網絡
6.8 kernel report.html文件查看
6.8.1 高層設計報告布局
6.8.2 系統概要
6.8.3 迭代分析
6.8.4 資源分析
6.8.5 系統視圖
6.9 log文件查看FPGA資源使用估計信息
習題6
第7章 單層神經網絡算法的kernel程序實現方式分析比較
7.1 批量讀取輸入數據的OpenCL程序
7.1.1 kernel程序
7.1.2 host程序
7.1.3 執行結果
7.2 神經網絡算法的不同kernel代碼實現對比
7.2.1 single work item和NDRange(private)
7.2.2 local和private(single work item)
7.2.3 local和private(NDRange)
7.2.4 single work item和NDRange(local)
7.2.5 float和char(single work item-local)
7.2.6 float和char(NDRange-private)
7.3 神經網絡算法的ARM與FPGA實現方式對比
7.3.1 ARM和FPGA(float數據類型)
7.3.2 ARM和FPGA(char數據類型)
7.4 host代碼與kernel的對應
習題7
第8章 具有一個隱形層的神經網絡算法模型的OpenCL實現
8.1 一個隱形層的簡易神經網絡算法原理
8.2 具有一個隱形層的神經網絡的TensorFlow實現及訓練
8.3 具有一個隱形層的神經網絡算法的OpenCL實現
8.3.1 ARM實現
8.3.2 single work item格式,一個kernel
8.3.3 NDRange格式,一個kernel
8.3.4 single work item格式,kernel
8.3.5 NDRange格式,kernel
8.3.6 single work item格式,
1.1 異構計算系統
1.2 OpenCL
1.3 FPGA
1.4 FPGA CPU異構計算系統
1.5 HDL和OpenCL
1.5.1 OpenCL的優點
1.5.2 OpenCL的缺點
1.6 人工神經網絡
1.6.1 人工神經網絡的基本概念
1.6.2 人工神經網絡的基本特徵
1.6.3 人工神經網絡的應用
習題1
第2章 TensorFlow基礎知識及運行環境搭建
2.1 TensorFlow簡介
2.2 TensorFlow兩步編程模式
2.3 TensorFlow兩步編程模式實例
2.3.1 定義計算圖的基本操作
2.3.2 運行計算圖的基本操作
2.4 TensorFlow環境搭建
2.4.1
2.4.2 TensorFlow軟件運行
2.4.3 計算圖例程運行實例
習題2
第3章 TensorFlow實現神經網絡模型訓練與測試
3.1 神經網絡訓練與測試的基本概念
3.1.1 神經網絡的訓練
3.1.2 神經網絡的測試
3.2 基於TensforFlow訓練神經網絡實現MNIST數據集識別
3.2.1 MNSIT數據集
3.2.2 Softmax Regression模型
3.2.3 MNIST數據識別的Softmax Regression神經網絡模型
3.2.4 MNIST數據識別的卷積神經網絡模型
3.3 MNIST數據集轉換
3.3.1 將數據集轉換為以txt文件保存的數據
3.3.2 將數據集轉換為以bmp文件保存的圖片
3.3.3 將bmp轉換為tfrecords格式
3.4 讀取tfrecords格式數據實現MNIST手寫字體識別
3.4.1 Softmax Regression模型
3.4.2 卷積神經網絡模型
習題3
第4章 OpenCL基礎
4.1 OpenCL標準框架
4.2 OpenCL基本概念基礎
4.3 OpenCL程序的組成部分
4.4 OpenCL框架的4種模型
4.5 編寫個OpenCL程序
4.5.1 kernel程序
4.5.2 host程序
4.6 OpenCL基本知識點
4.6.1 kernel函數格式
4.6.2 kernel編程模式
4.6.3 kernel地址限定符
4. kernel語句描述
4.6.5 kernel數據類型
4.6.6 kernel編程
習題4
第5章 面向Intel FPGA的OpenCL運行平臺搭建
5.1 搭建OpenCL平臺的軟硬件要求
5.2 面向OpenCL應用的DE10_nano開發板簡介
5.3 平臺所需軟件下載
5.3.1 Quartus Prime Standard下載
5.3.2 Intel FPGA SDK for OpenCL下載
5.3.3 Intel SoC FPGA EDS下載
5.4 平臺所需
5.4.1 安裝Quartus Prime Standard Edition Intel FPGA SDK for OpenCL
5.4.2 安裝SoCEDS
5.4.3 安裝DE10_nano BSP
5.5 環境變量設置
5.5.1 環境變量設置步驟
5.5.2 環境變量測試
5.6 編譯OpenCL kernel
5.7 編譯host 程序
5.8 燒寫img文件到SD卡(在Windows系統下完成)
5.9 minicom驅動安裝與測試
5.9.1 minicom驅動安裝
5.9.2 minicom 使用測試
5.10 hello world kernel運行測試
5.11 DE10_nano與PC交換數據
習題5
第6章 單層神經網絡算法模型的FPGA實現流程
6.1 基於OpenCL的神經網絡算法設計與FPGA實現的基本流程
6.2 無隱形層的簡易神經網絡算法原理
6.3 神經網絡的TensorFlow實現及訓練
TensorFlow框架下輸入數據的轉換
6.5 神經網絡算法的OpenCL實現
6.5.1 kernel代碼編寫及編譯
6.5.2 host代碼編寫及編譯
6.6 數據移植復制到FPGA開發板
6.7 FPGA運行神經網絡
6.8 kernel report.html文件查看
6.8.1 高層設計報告布局
6.8.2 系統概要
6.8.3 迭代分析
6.8.4 資源分析
6.8.5 系統視圖
6.9 log文件查看FPGA資源使用估計信息
習題6
第7章 單層神經網絡算法的kernel程序實現方式分析比較
7.1 批量讀取輸入數據的OpenCL程序
7.1.1 kernel程序
7.1.2 host程序
7.1.3 執行結果
7.2 神經網絡算法的不同kernel代碼實現對比
7.2.1 single work item和NDRange(private)
7.2.2 local和private(single work item)
7.2.3 local和private(NDRange)
7.2.4 single work item和NDRange(local)
7.2.5 float和char(single work item-local)
7.2.6 float和char(NDRange-private)
7.3 神經網絡算法的ARM與FPGA實現方式對比
7.3.1 ARM和FPGA(float數據類型)
7.3.2 ARM和FPGA(char數據類型)
7.4 host代碼與kernel的對應
習題7
第8章 具有一個隱形層的神經網絡算法模型的OpenCL實現
8.1 一個隱形層的簡易神經網絡算法原理
8.2 具有一個隱形層的神經網絡的TensorFlow實現及訓練
8.3 具有一個隱形層的神經網絡算法的OpenCL實現
8.3.1 ARM實現
8.3.2 single work item格式,一個kernel
8.3.3 NDRange格式,一個kernel
8.3.4 single work item格式,kernel
8.3.5 NDRange格式,kernel
8.3.6 single work item格式,
主題書展
更多
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。