1. A coprocessor for processing convolutional neural networks, comprising a configurable input switch coupled to an input; a plurality of convolver elements enabled in accordance with the input switch; an output switch configured to receive outputs from the set of convolver elements to provide data to output branches; and a controller configured to provide control signals to the input switch and the output switch such that the set of convolver elements are rendered active and a number of output branches are selected for a given cycle in accordance with the control signals.