ResNet¶
Feature Extraction Link¶
ResNet¶
-
class
chainercv.links.model.resnet.ResNet(n_layer, n_class=None, pretrained_model=None, mean=None, initialW=None, fc_kwargs={}, arch='fb')[source]¶ Base class for ResNet architecture.
This is a pickable sequential link. The network can choose output layers from set of all intermediate layers. The attribute
pickis the names of the layers that are going to be picked by__call__(). The attributelayer_namesis the names of all layers that can be picked.Examples
>>> model = ResNet50() # By default, __call__ returns a probability score (after Softmax). >>> prob = model(imgs) >>> model.pick = 'res5' # This is layer res5 >>> res5 = model(imgs) >>> model.pick = ['res5', 'fc6'] >>> # These are layers res5 and fc6. >>> res5, fc6 = model(imgs)
See also
chainercv.links.model.PickableSequentialChainWhen
pretrained_modelis the path of a pre-trained chainer model serialized as anpzfile in the constructor, this chain model automatically initializes all the parameters with it. When a string in the prespecified set is provided, a pretrained model is loaded from weights distributed on the Internet. The list of pretrained models supported are as follows:imagenet: Loads weights trained with ImageNet. Whenarch=='he', the weights distributed at Model Zoo are used.
- Parameters
n_layer (int) – The number of layers.
n_class (int) – The number of classes. If
None, the default values are used. If a supported pretrained model is used, the number of classes used to train the pretrained model is used. Otherwise, the number of classes in ILSVRC 2012 dataset is used.pretrained_model (string) – The destination of the pre-trained chainer model serialized as a
npzfile. If this is one of the strings described above, it automatically loads weights stored under a directory$CHAINER_DATASET_ROOT/pfnet/chainercv/models/, where$CHAINER_DATASET_ROOTis set as$HOME/.chainer/datasetunless you specify another value by modifying the environment variable.mean (numpy.ndarray) – A mean value. If
None, the default values are used. If a supported pretrained model is used, the mean value used to train the pretrained model is used. Otherwise, the mean value calculated from ILSVRC 2012 dataset is used.initialW (callable) – Initializer for the weights of convolution kernels.
fc_kwargs (dict) – Keyword arguments passed to initialize the
chainer.links.Linear.arch (string) – If
fb, use Facebook ResNet architecture. Whenhe, use the architecture presented by the original ResNet paper. This option changes where to apply strided convolution. The default value isfb.
ResNet50¶
ResNet101¶
Utility¶
Bottleneck¶
-
class
chainercv.links.model.resnet.Bottleneck(in_channels, mid_channels, out_channels, stride=1, dilate=1, groups=1, initialW=None, bn_kwargs={}, residual_conv=False, stride_first=False, add_seblock=False)[source]¶ A bottleneck layer.
- Parameters
in_channels (int) – The number of channels of the input array.
mid_channels (int) – The number of channels of intermediate arrays.
out_channels (int) – The number of channels of the output array.
stride (int or tuple of ints) – Stride of filter application.
dilate (int or tuple of ints) – Dilation factor of filter applications.
dilate=danddilate=(d, d)are equivalent.groups (int) – The number of groups to use grouped convolution in the second layer. The default is one, where grouped convolution is not used.
initialW (callable) – Initial weight value used in the convolutional layers.
bn_kwargs (dict) – Keyword arguments passed to initialize
chainer.links.BatchNormalization.residual_conv (bool) – If
True, apply a 1x1 convolution to the residual.stride_first (bool) – If
True, apply strided convolution with the first convolution layer. Otherwise, apply strided convolution with the second convolution layer.add_seblock (bool) – If
True, apply a squeeze-and-excitation block to each residual block.
ResBlock¶
-
class
chainercv.links.model.resnet.ResBlock(n_layer, in_channels, mid_channels, out_channels, stride, dilate=1, groups=1, initialW=None, bn_kwargs={}, stride_first=False, add_seblock=False)[source]¶ A building block for ResNets.
in –> Bottleneck with residual_conv –> Bottleneck * (n_layer - 1) –> out
- Parameters
n_layer (int) – The number of layers used in the building block.
in_channels (int) – The number of channels of the input array.
mid_channels (int) – The number of channels of intermediate arrays.
out_channels (int) – The number of channels of the output array.
stride (int or tuple of ints) – Stride of filter application.
dilate (int or tuple of ints) – Dilation factor of filter applications.
dilate=danddilate=(d, d)are equivalent.groups (int) – The number of groups to use grouped convolution in the second layer of each bottleneck. The default is one, where grouped convolution is not used.
initialW (callable) – Initial weight value used in the convolutional layers.
bn_kwargs (dict) – Keyword arguments passed to initialize
chainer.links.BatchNormalization.stride_first (bool) – This determines the behavior of the bottleneck with a shortcut. If
True, apply strided convolution with the first convolution layer. Otherwise, apply strided convolution with the second convolution layer.add_seblock (bool) – If
True, apply a squeeze-and-excitation block to each residual block.