Basic Design Approaches to Accelerating Deep Neural Networks