本文我们将使用 OpenCL作为工具,介绍 FPGA 如何进行深度学习神经网络的计算(推理)加速。
本章节的内容,假定阅读者已经具备如下的基本能力:
1. 基本的 OpenCL 编程,基本的 C 语言,以及基本的 Linux 使用能力
2. 了解 Python 语言以及 Tensorflow 深度学习框架,并能看懂深度学习神经网络的简单算法实现
本章节,将使用 Tensorflow 作为深度学习框架搭建一个简单的全连接神经网络,使用 Mnist 手写体数字图片数据集进行模型训练,最后使用 OpenCL 调用FPGA,对训练的结果进行推理加速。本章节内容基于 Linux(CentOS7.4)操作环境。
01环境搭建
深度学习神经网络的训练需要使用 Python 和 Tensorflow,推荐使用 Python3 和 VirtualEnv 作为标准配置,防止对操作系统造成污染。下面简要展示 Python3 和 Tensorflow 环境的搭建。
1. 登录 Linux 服务器或者虚拟机,右键选择“Open Terminal”
2. 切换至 root 用户,然后输入如下指令,安装 Python3 和 Virtualenv
yum install python36 python36-virtualenv kernel-devel-$(uname -r) -y
3. 设置 Python3 的虚拟环境
virtualenv-3 py3
4. 启用 Python3 虚拟环境,并安装 Tensorflow 等必须的依赖库
source py3/bin/activate
pip install tensorflow==1.15.0<