Accelerating ODE-Based Neural Networks on Low-Cost FPGAs
Hirohisa Watanabe, Hiroki Matsutani

TL;DR
This paper demonstrates how to implement ODENet, a neural network based on ODE solvers, on low-cost FPGAs, achieving significant speedups while maintaining accuracy, and introduces reduced ODENet variants optimized for FPGA deployment.
Contribution
It presents a method for FPGA implementation of ODENet using Euler's method and introduces reduced ODENet variants tailored for resource-limited devices.
Findings
Up to 2.66x speedup in execution time on FPGA
Maintains comparable accuracy to original ODENet
Reduces resource utilization on low-cost FPGA boards
Abstract
ODENet is a deep neural network architecture in which a stacking structure of ResNet is implemented with an ordinary differential equation (ODE) solver. It can reduce the number of parameters and strike a balance between accuracy and performance by selecting a proper solver. It is also possible to improve the accuracy while keeping the same number of parameters on resource-limited edge devices. In this paper, using Euler method as an ODE solver, a part of ODENet is implemented as a dedicated logic on a low-cost FPGA (Field-Programmable Gate Array) board, such as PYNQ-Z2 board. As ODENet variants, reduced ODENets (rODENets) each of which heavily uses a part of ODENet layers and reduces/eliminates some layers differently are proposed and analyzed for low-cost FPGA implementation. They are evaluated in terms of parameter size, accuracy, execution time, and resource utilization on the FPGA.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsBatch Normalization · 1x1 Convolution · Average Pooling · Residual Connection · Max Pooling · Global Average Pooling · Bottleneck Residual Block · Convolution · Kaiming Initialization · *Communicated@Fast*How Do I Communicate to Expedia?
