This repository contains the implementation of ShuffleNet. Below you will find detailed information and resources related to this architecture.
For a comprehensive understanding of the paper and its contributions, please refer to the detailed blog post.
The major contributions of the paper include:
- Pointwise Group Convolutions: The authors introduce the use of grouped convolutions for 1x1 layers, significantly reducing computational cost.
- Channel Shuffle Operation: To overcome the limitations of grouped convolutions, they propose a channel shuffle operation that enables information flow across feature channels from different groups.
- ShuffleNet Unit: Building on these innovations, they design a new basic unit for CNN architectures that is both highly efficient and maintains strong performance.
- Comprehensive Experiments: The paper presents extensive comparisons with other architectures across various computational complexities, demonstrating ShuffleNet's superior performance.
- Real-world Performance: Unlike many papers that focus solely on theoretical complexity, the authors evaluate actual inference time on mobile devices, providing practical insights for deployment.
Below a schematic representation of the ShuffleNet units that are used in the architecture:
ShuffleNet Unit without Stride
ShuffleNet Unit with Stride
The following results were reproduced as per the methodology described in the paper:
- Result 1: [Description and value]
- Result 2: [Description and value]
- Result 3: [Description and value]
- ...