Reference for ultralytics/nn/modules/conv.py
Note
This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/nn/modules/conv.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
ultralytics.nn.modules.conv.Conv
Bases: Module
Standard convolution with args(ch_in, ch_out, kernel, stride, padding, groups, dilation, activation).
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=1, s=1, p=None, g=1, d=1, act=True)
Initialize Conv layer with given arguments including activation.
Source code in ultralytics/nn/modules/conv.py
forward(x)
ultralytics.nn.modules.conv.Conv2
Bases: Conv
Simplified RepConv module with Conv fusing.
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=3, s=1, p=None, g=1, d=1, act=True)
Initialize Conv layer with given arguments including activation.
Source code in ultralytics/nn/modules/conv.py
forward(x)
forward_fuse(x)
fuse_convs()
Fuse parallel convolutions.
Source code in ultralytics/nn/modules/conv.py
ultralytics.nn.modules.conv.LightConv
Bases: Module
Light convolution with args(ch_in, ch_out, kernel).
https://github.com/PaddlePaddle/PaddleDetection/blob/develop/ppdet/modeling/backbones/hgnet_v2.py
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=1, act=nn.ReLU())
Initialize Conv layer with given arguments including activation.
ultralytics.nn.modules.conv.DWConv
Bases: Conv
Depth-wise convolution.
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=1, s=1, d=1, act=True)
Initialize Depth-wise convolution with given parameters.
ultralytics.nn.modules.conv.DWConvTranspose2d
Bases: ConvTranspose2d
Depth-wise transpose convolution.
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=1, s=1, p1=0, p2=0)
Initialize DWConvTranspose2d class with given parameters.
ultralytics.nn.modules.conv.ConvTranspose
Bases: Module
Convolution transpose 2d layer.
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=2, s=2, p=0, bn=True, act=True)
Initialize ConvTranspose2d layer with batch normalization and activation function.
Source code in ultralytics/nn/modules/conv.py
forward(x)
ultralytics.nn.modules.conv.Focus
Bases: Module
Focus wh information into c-space.
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=1, s=1, p=None, g=1, act=True)
Initializes Focus object with user defined channel, convolution, padding, group and activation values.
forward(x)
Applies convolution to concatenated tensor and returns the output.
Input shape is (b,c,w,h) and output shape is (b,4c,w/2,h/2).
Source code in ultralytics/nn/modules/conv.py
ultralytics.nn.modules.conv.GhostConv
Bases: Module
Ghost Convolution https://github.com/huawei-noah/ghostnet.
Source code in ultralytics/nn/modules/conv.py
__init__(c1, c2, k=1, s=1, g=1, act=True)
Initializes the GhostConv object with input channels, output channels, kernel size, stride, groups and activation.
Source code in ultralytics/nn/modules/conv.py
forward(x)
ultralytics.nn.modules.conv.RepConv
Bases: Module
RepConv is a basic rep-style block, including training and deploy status.
This module is used in RT-DETR. Based on https://github.com/DingXiaoH/RepVGG/blob/main/repvgg.py
Source code in ultralytics/nn/modules/conv.py
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 |
|
__init__(c1, c2, k=3, s=1, p=1, g=1, d=1, act=True, bn=False, deploy=False)
Initializes Light Convolution layer with inputs, outputs & optional activation function.
Source code in ultralytics/nn/modules/conv.py
forward(x)
forward_fuse(x)
fuse_convs()
Combines two convolution layers into a single layer and removes unused attributes from the class.
Source code in ultralytics/nn/modules/conv.py
get_equivalent_kernel_bias()
Returns equivalent kernel and bias by adding 3x3 kernel, 1x1 kernel and identity kernel with their biases.
Source code in ultralytics/nn/modules/conv.py
ultralytics.nn.modules.conv.ChannelAttention
Bases: Module
Channel-attention module https://github.com/open-mmlab/mmdetection/tree/v3.0.0rc1/configs/rtmdet.
Source code in ultralytics/nn/modules/conv.py
__init__(channels)
Initializes the class and sets the basic configurations and instance variables required.
Source code in ultralytics/nn/modules/conv.py
forward(x)
Applies forward pass using activation on convolutions of the input, optionally using batch normalization.
ultralytics.nn.modules.conv.SpatialAttention
Bases: Module
Spatial-attention module.
Source code in ultralytics/nn/modules/conv.py
__init__(kernel_size=7)
Initialize Spatial-attention module with kernel size argument.
Source code in ultralytics/nn/modules/conv.py
forward(x)
Apply channel and spatial attention on input for feature recalibration.
ultralytics.nn.modules.conv.CBAM
Bases: Module
Convolutional Block Attention Module.
Source code in ultralytics/nn/modules/conv.py
__init__(c1, kernel_size=7)
Initialize CBAM with given input channel (c1) and kernel size.
ultralytics.nn.modules.conv.Concat
Bases: Module
Concatenate a list of tensors along dimension.
Source code in ultralytics/nn/modules/conv.py
__init__(dimension=1)
ultralytics.nn.modules.conv.autopad(k, p=None, d=1)
Pad to 'same' shape outputs.