CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration
Open Access
- 21 December 2020
- journal article
- research article
- Published by MDPI AG in Electronics
- Vol. 9 (12) , 2200
Abstract
Convolutional Neural Networks (CNNs) have a major impact on our society, because of the numerous services they provide. These services include, but are not limited to image classification, video analysis, and speech recognition. Recently, the number of researches that utilize FPGAs to implement CNNs are increasing rapidly. This is due to the lower power consumption and easy reconfigurability that are offered by these platforms. Because of the research efforts put into topics, such as architecture, synthesis, and optimization, some new challenges are arising for integrating suitable hardware solutions to high-level machine learning software libraries. This paper introduces an integrated framework (CNN2Gate), which supports compilation of a CNN model for an FPGA target. CNN2Gate is capable of parsing CNN models from several popular high-level machine learning libraries, such as Keras, Pytorch, Caffe2, etc. CNN2Gate extracts computation flow of layers, in addition to weights and biases, and applies a “given” fixed-point quantization. Furthermore, it writes this information in the proper format for the FPGA vendor’s OpenCL synthesis tools that are then used to build and run the project on FPGA. CNN2Gate performs design-space exploration and fits the design on different FPGAs with limited logic resources automatically. This paper reports results of automatic synthesis and design-space exploration of AlexNet and VGG-16 on various Intel FPGA platforms.Keywords
This publication has 29 references indexed in Scilit:
- Deep Convolutional Neural Networks for Image Classification: A Comprehensive ReviewNeural Computation, 2017
- ImageNet classification with deep convolutional neural networksCommunications of the ACM, 2017
- FINN2017
- An OpenCL™ Deep Learning Accelerator on Arria 102017
- Can FPGAs Beat GPUs in Accelerating Next-Generation Deep Neural Networks?2017
- Optimizing Loop Operation and Dataflow in FPGA Acceleration of Deep Convolutional Neural Networks2017
- Deep Residual Learning for Image Recognition2016
- Going Deeper with Embedded FPGA Platform for Convolutional Neural Network2016
- Throughput-Optimized OpenCL-based FPGA Accelerator for Large-Scale Convolutional Neural Networks2016
- Q-learningMachine Learning, 1992