书籍详情
OpenCL异构计算:入门FPGA和TensorFlow神经网络
作者:胡正伟,谢志远,王岩 著
出版社:清华大学出版社
出版时间:2021-12-01
ISBN:9787302593980
定价:¥59.00
购买这本书可以去
内容简介
本书以通过FPGA实现简易神经网络的推理流程为主线,主要包含以下内容: 在TensorFlow学习框架下实现神经网络训练,保存训练好的权值和偏置;将TensorFlow框架下训练的神经网络使用OpenCL语言实现,并编译生成可执行文件和FPGA编程文件;将输入数据、权值、偏置等数据通过以太网口传输到FPGA开发板;在FPGA开发板上运行神经网络。本书的重点在于神经网络算法的OpenCL描述方法及FPGA实现流程。简易神经网络算法不仅可以让读者明白神经网络的工作原理及基本框架,还可以使用较少的OpenCL代码描述,易于分析神经网络算法与代码的对应关系,实现OpenCL语言的学习。本书以Ubuntu操作系统为运行环境,以***高的FPGA开发板DE10_nano为实现平台,该开发板尺寸较小,易于携带,方便管理,价格较低,适合批量购买以开展相关教学实验。本书面向电子信息、计算机、自动化等相关专业的本科生及研究生或FPGA开发人员。
作者简介
暂缺《OpenCL异构计算:入门FPGA和TensorFlow神经网络》作者简介
目录
●章 绪论
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格式,
猜您喜欢