ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

Instead of full-depth convolutions, use grouped convolutions, and then shuffle channels between groups to achieve channel mixing.

It beats resnet variants and mobileNet on performance per flop, and works well at small model sizes for mobile devices.