Deep Neural Network Energy Estimation Tool

Overview

This Deep Neural Network Energy Estimation Tool is used for evaluating and designing energy-efficient deep neural networks that are critical for embedded deep learning processing. Energy estimation was used in the development of the energy-aware pruning method (Yang et al., CVPR 2017), which reduced the energy consumption of AlexNet and GoogLeNet by 3.7x and 1.6x, respectively, with less than 1% top-5 accuracy loss. This website provides a simplified version of the energy estimation tool for shorter runtime (around 10 seconds).

Input

To support the variety of toolboxes, this tool takes a single network configuration file. The network configuration file is a txt file, where each line denotes the configuration of a CONV/FC layer. The format of each line is:

Input Formatting
  • Layer Index: the index of the layer, from 1 to the number of layers. It should be the same as the line number.
  • Conf_IfMap, Conf_Filt, Conf_OfMap: the configuration of the input feature maps, the filters and the output feature maps. The configuration of each of the three data types is in the format of "height width number_of_channels number_of_maps_or_filts number_of_zero_entries bitwidth_in_bits".
  • Stride: the stride of this layer. It is in the format of "stride_y stride_x".
  • Pad: the amount of input padding. It is in the format of "pad_top pad_bottom pad_left pad_right".

Therefore, there will be 25 entries separated by commas in each line.

Running the Estimation Model

After creating your text file, follow these steps to upload your text file and run the estimation model:

  1. Check the "I am not a robot" checkbox and complete the Google reCAPTCHA challenge. Help us prevent spam.
  2. Click the "Choose File" button below to choose your text file from your computer.
  3. Click the "Run Estimation Model" button below to upload your text file and run the estimation model.

The estimation model takes approximately 10 seconds to run, please be patient and only click the run button once. Upon successful completion a download button will appear at the top of the page which you can click to download a zip file with the results to your computer, see below for more information on the output. Error messages will be displayed in red text below the buttons if something goes wrong.

Output

The tool generates:

  1. A txt file (Fig. 1): Each line shows the estimated energy breakdown of each layer in terms of the data movement of the three data types (weight, input feature map, output feature map) and the computation. The unit of energy is normalized in terms of the energy for a multiply-and-accumulate (MAC) operation (i.e., 102 = energy of 100 MACs). The total energy of the output is the energy required to process one image.
  2. A txt file (Fig. 2): Visualize the energy estimation result.
Sample Text Output
Figure 1: The txt file
Sample Visual Output
Figure 2: The visualization figure

Example Input

Click the links below for examples of the network configuration file:

Unpruned: AlexNet | GoogLeNet_v1
Pruned: AlexNet | GoogLeNet_v1

For the runtime consideration, this online tool is a simplified version of the tool used in the CVPR 2017 paper. Therefore, there will be a small difference between the estimated energy values.