  As convolutional neural networks (CNNs) enable state-of-the-art computer
vision applications, their high energy consumption has emerged as a key
impediment to their deployment on embedded and mobile devices. Towards
efficient image classification under hardware constraints, prior work has
proposed adaptive CNNs, i.e., systems of networks with different accuracy and
computation characteristics, where a selection scheme adaptively selects the
network to be evaluated for each input image. While previous efforts have
investigated different network selection schemes, we find that they do not
necessarily result in energy savings when deployed on mobile systems. The key
limitation of existing methods is that they learn only how data should be
processed among the CNNs and not the network architectures, with each network
being treated as a blackbox.
  To address this limitation, we pursue a more powerful design paradigm where
the architecture settings of the CNNs are treated as hyper-parameters to be
globally optimized. We cast the design of adaptive CNNs as a hyper-parameter
optimization problem with respect to energy, accuracy, and communication
constraints imposed by the mobile device. To efficiently solve this problem, we
adapt Bayesian optimization to the properties of the design space, reaching
near-optimal configurations in few tens of function evaluations. Our method
reduces the energy consumed for image classification on a mobile device by up
to 6x, compared to the best previously published work that uses CNNs as
blackboxes. Finally, we evaluate two image classification practices, i.e.,
classifying all images locally versus over the cloud under energy and
communication constraints.
