Home

Awesome

Keras ResNeXt

Implementation of ResNeXt models from the paper Aggregated Residual Transformations for Deep Neural Networks in Keras 2.0+.

Contains code for building the general ResNeXt model (optimized for datasets similar to CIFAR) and ResNeXtImageNet (optimized for the ImageNet dataset).

Salient Features

ResNeXt updates the ResNet block with a new expanded block architecture, which depends on the cardinality parameter. It can be further visualised in the below diagram from the paper.

cardinality


However, since grouped convolutions are not directly available in Keras, an equivalent variant is used in this repository (see block 2)

equivalent blocks

Usage

For the general ResNeXt model (for all datasets other than ImageNet),

from resnext import ResNext

model = ResNext(image_shape, depth, cardinality, width, weight_decay)

For the ResNeXt model which has been optimized for ImageNet,

from resnext import ResNextImageNet

image_shape = (112, 112, 3) if K.image_data_format() == 'channels_last' else (3, 112, 112)
model = ResNextImageNet(image_shape)

Note, there are other parameters such as depth, cardinality, width and weight_decay just as in the general model, however the defaults are set according to the paper.