Connection¶
Conv2DActiv¶

class
chainercv.links.connection.
Conv2DActiv
(in_channels, out_channels, ksize=None, stride=1, pad=0, dilate=1, nobias=False, initialW=None, initial_bias=None, activ=<function relu>)[source]¶ Convolution2D –> Activation
This is a chain that does twodimensional convolution and applies an activation.
The arguments are the same as those of
chainer.links.Convolution2D
except foractiv
.Example
There are several ways to initialize a
Conv2DActiv
.Give the first three arguments explicitly:
>>> l = Conv2DActiv(5, 10, 3)
Omit
in_channels
or fill it withNone
:In these ways, attributes are initialized at runtime based on the channel size of the input.
>>> l = Conv2DActiv(10, 3) >>> l = Conv2DActiv(None, 10, 3)
 Parameters
in_channels (int or None) – Number of channels of input arrays. If
None
, parameter initialization will be deferred until the first forward data pass at which time the size will be determined.out_channels (int) – Number of channels of output arrays.
ksize (int or tuple of ints) – Size of filters (a.k.a. kernels).
ksize=k
andksize=(k, k)
are equivalent.stride (int or tuple of ints) – Stride of filter applications.
stride=s
andstride=(s, s)
are equivalent.pad (int or tuple of ints) – Spatial padding width for input arrays.
pad=p
andpad=(p, p)
are equivalent.dilate (int or tuple of ints) – Dilation factor of filter applications.
dilate=d
anddilate=(d, d)
are equivalent.nobias (bool) – If
True
, then this link does not use the bias term.initialW (callable) – Initial weight value. If
None
, the default initializer is used. May also be a callable that takesnumpy.ndarray
orcupy.ndarray
and edits its value.initial_bias (callable) – Initial bias value. If
None
, the bias is set to 0. May also be a callable that takesnumpy.ndarray
orcupy.ndarray
and edits its value.activ (callable) – An activation function. The default value is
chainer.functions.relu()
. If this isNone
, no activation is applied (i.e. the activation is the identity function).
Conv2DBNActiv¶

class
chainercv.links.connection.
Conv2DBNActiv
(in_channels, out_channels, ksize=None, stride=1, pad=0, dilate=1, groups=1, nobias=True, initialW=None, initial_bias=None, activ=<function relu>, bn_kwargs={})[source]¶ Convolution2D –> Batch Normalization –> Activation
This is a chain that sequentially applies a twodimensional convolution, a batch normalization and an activation.
The arguments are the same as that of
chainer.links.Convolution2D
except foractiv
andbn_kwargs
.bn_kwargs
can includecomm
key and a communicator of ChainerMN as the value to usechainermn.links.MultiNodeBatchNormalization
. Ifcomm
is not included inbn_kwargs
,chainer.links.BatchNormalization
link from Chainer is used. Note that the default value for thenobias
is changed toTrue
.Example
There are several ways to initialize a
Conv2DBNActiv
.Give the first three arguments explicitly:
>>> l = Conv2DBNActiv(5, 10, 3)
Omit
in_channels
or fill it withNone
:In these ways, attributes are initialized at runtime based on the channel size of the input.
>>> l = Conv2DBNActiv(10, 3) >>> l = Conv2DBNActiv(None, 10, 3)
 Parameters
in_channels (int or None) – Number of channels of input arrays. If
None
, parameter initialization will be deferred until the first forward data pass at which time the size will be determined.out_channels (int) – Number of channels of output arrays.
ksize (int or tuple of ints) – Size of filters (a.k.a. kernels).
ksize=k
andksize=(k, k)
are equivalent.stride (int or tuple of ints) – Stride of filter applications.
stride=s
andstride=(s, s)
are equivalent.pad (int or tuple of ints) – Spatial padding width for input arrays.
pad=p
andpad=(p, p)
are equivalent.dilate (int or tuple of ints) – Dilation factor of filter applications.
dilate=d
anddilate=(d, d)
are equivalent.groups (int) – The number of groups to use grouped convolution. The default is one, where grouped convolution is not used.
nobias (bool) – If
True
, then this link does not use the bias term.initialW (callable) – Initial weight value. If
None
, the default initializer is used. May also be a callable that takesnumpy.ndarray
orcupy.ndarray
and edits its value.initial_bias (callable) – Initial bias value. If
None
, the bias is set to 0. May also be a callable that takesnumpy.ndarray
orcupy.ndarray
and edits its value.activ (callable) – An activation function. The default value is
chainer.functions.relu()
. If this isNone
, no activation is applied (i.e. the activation is the identity function).bn_kwargs (dict) – Keyword arguments passed to initialize
chainer.links.BatchNormalization
. If a ChainerMN communicator (CommunicatorBase
) is given with the keycomm
,MultiNodeBatchNormalization
will be used for the batch normalization. Otherwise,BatchNormalization
will be used.
SEBlock¶

class
chainercv.links.connection.
SEBlock
(n_channel, ratio=16)[source]¶ A squeezeandexcitation block.
This block is part of squeezeandexcitation networks. Channelwise multiplication weights are inferred from and applied to input feature map. Please refer to the original paper for more details.
See also
SeparableConv2DBNActiv¶

class
chainercv.links.connection.
SeparableConv2DBNActiv
(in_channels, out_channels, ksize, stride=1, pad=0, dilate=1, nobias=False, dw_initialW=None, pw_initialW=None, dw_initial_bias=None, pw_initial_bias=None, dw_activ=<function identity>, pw_activ=<function relu>, bn_kwargs={})[source]¶ Separable Convolution with batch normalization and activation.
Convolution2D(Depthwise) –> Batch Normalization –> Activation –> Convolution2D(Pointwise) –> Batch Normalization –> Activation
Separable convolution with batch normalizations and activations. Parameters are almost same as
Conv2DBNActiv
except depthwise and pointwise convolution parameters. Parameters
in_channels (int) – Number of channels of input arrays. Unlike
Conv2DBNActiv
, this can’t acceptNone
currently.out_channels (int) – Number of channels of output arrays.
ksize (int or tuple of ints) – Size of filters (a.k.a. kernels).
ksize=k
andksize=(k, k)
are equivalent.stride (int or tuple of ints) – Stride of filter applications.
stride=s
andstride=(s, s)
are equivalent.pad (int or tuple of ints) – Spatial padding width for input arrays.
pad=p
andpad=(p, p)
are equivalent.dilate (int or tuple of ints) – Dilation factor of filter applications.
dilate=d
anddilate=(d, d)
are equivalent.nobias (bool) – If
True
, then this link does not use the bias term.dw_initialW (callable) – Initial weight value of depthwise convolution. If
None
, the default initializer is used. May also be a callable that takesnumpy.ndarray
orcupy.ndarray
and edits its value.pw_initialW (callable) – Initial weight value of pointwise convolution.
dw_initial_bias (callable) – Initial bias value of depthwise convolution. If
None
, the bias is set to 0. May also be a callable that takesnumpy.ndarray
orcupy.ndarray
and edits its value.pw_initial_bias (callable) – Initial bias value of pointwise convolution.
dw_activ (callable) – An activation function of depthwise convolution. The default value is
chainer.functions.relu()
. If this isNone
, no activation is applied (i.e. the activation is the identity function).pw_activ (callable) – An activation function of pointwise convolution.
bn_kwargs (dict) – Keyword arguments passed to initialize
chainer.links.BatchNormalization
. If a ChainerMN communicator (CommunicatorBase
) is given with the keycomm
,MultiNodeBatchNormalization
will be used for the batch normalization. Otherwise,BatchNormalization
will be used.