/home/user/jupyter/env/lib/python3.7/site-packages/torch/cuda/__init__.py:52: UserWarning: CUDA initialization: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:100.) return torch._C._cuda_getDeviceCount() > 0
class
EffDetModelWrapper
[source]
EffDetModelWrapper
(num_classes
,compound_coef
=0
,pretrained
=True
,pretrained_backbone
=True
,nms_score_thresh
=0.05
,nms_iou_thresh
=0.5
,ratios
='[(1.0,1.0),(1.4,0.7),(0.7,1.4)]'
,scales
='[2**0, 2**(1.0/3.0), 2**(2.0/3.0)]'
,focal_loss_alpha
=0.25
,focal_loss_gamma
=2.0
, **kwargs
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
:ivar training: Boolean represents whether this module is in training or evaluation mode. :vartype training: bool
get_efficientdet_model
[source]
get_efficientdet_model
(num_classes
,compound_coef
=0
,pretrained_backbone
=True
,pretrained
=True
,nms_score_thresh
=0.05
,nms_iou_thresh
=0.5
,focal_loss_alpha
=0.25
,focal_loss_gamma
=2.0
,ratios
='[(1.0,1.0),(1.4,0.7),(0.7,1.4)]'
,scales
='[2**0, 2**(1.0/3.0), 2**(2.0/3.0)]'
)
get_efficientdet_model
To create a model, which you can pass to a ObjDetLearner
simply create a partial
with the function get_efficientdet_model
.
from functools import partial
custom_effdet = partial(get_efficientdet_model, compound_coef=3,
pretrained=True, focal_loss_gamma=1.5)
When building the Learner
, the number of classes are getting passed to this partial function and the model is ready for training.
custom_effdet(num_classes=10)
Downloading: "https://github.com/zylo117/Yet-Another-Efficient-Pytorch/releases/download/1.0/efficientdet-d3.pth" to /home/user/.cache/torch/hub/checkpoints/efficientdet-d3.pth
EffDetModelWrapper( (criterion): FocalLoss() (model): EfficientDetBackbone( (bifpn): Sequential( (0): BiFPN( (conv6_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv3_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv6_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv7_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p6_upsample): Upsample(scale_factor=2.0, mode=nearest) (p5_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_upsample): Upsample(scale_factor=2.0, mode=nearest) (p3_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p5_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p6_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p7_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (swish): MemoryEfficientSwish() (p5_down_channel): Sequential( (0): Conv2dStaticSamePadding( (conv): Conv2d(384, 160, kernel_size=(1, 1), stride=(1, 1)) ) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p4_down_channel): Sequential( (0): Conv2dStaticSamePadding( (conv): Conv2d(136, 160, kernel_size=(1, 1), stride=(1, 1)) ) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p3_down_channel): Sequential( (0): Conv2dStaticSamePadding( (conv): Conv2d(48, 160, kernel_size=(1, 1), stride=(1, 1)) ) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p5_to_p6): Sequential( (0): Conv2dStaticSamePadding( (conv): Conv2d(384, 160, kernel_size=(1, 1), stride=(1, 1)) ) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) ) (p6_to_p7): Sequential( (0): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) ) (p4_down_channel_2): Sequential( (0): Conv2dStaticSamePadding( (conv): Conv2d(136, 160, kernel_size=(1, 1), stride=(1, 1)) ) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p5_down_channel_2): Sequential( (0): Conv2dStaticSamePadding( (conv): Conv2d(384, 160, kernel_size=(1, 1), stride=(1, 1)) ) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p6_w1_relu): ReLU() (p5_w1_relu): ReLU() (p4_w1_relu): ReLU() (p3_w1_relu): ReLU() (p4_w2_relu): ReLU() (p5_w2_relu): ReLU() (p6_w2_relu): ReLU() (p7_w2_relu): ReLU() ) (1): BiFPN( (conv6_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv3_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv6_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv7_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p6_upsample): Upsample(scale_factor=2.0, mode=nearest) (p5_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_upsample): Upsample(scale_factor=2.0, mode=nearest) (p3_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p5_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p6_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p7_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (swish): MemoryEfficientSwish() (p6_w1_relu): ReLU() (p5_w1_relu): ReLU() (p4_w1_relu): ReLU() (p3_w1_relu): ReLU() (p4_w2_relu): ReLU() (p5_w2_relu): ReLU() (p6_w2_relu): ReLU() (p7_w2_relu): ReLU() ) (2): BiFPN( (conv6_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv3_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv6_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv7_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p6_upsample): Upsample(scale_factor=2.0, mode=nearest) (p5_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_upsample): Upsample(scale_factor=2.0, mode=nearest) (p3_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p5_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p6_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p7_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (swish): MemoryEfficientSwish() (p6_w1_relu): ReLU() (p5_w1_relu): ReLU() (p4_w1_relu): ReLU() (p3_w1_relu): ReLU() (p4_w2_relu): ReLU() (p5_w2_relu): ReLU() (p6_w2_relu): ReLU() (p7_w2_relu): ReLU() ) (3): BiFPN( (conv6_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv3_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv6_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv7_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p6_upsample): Upsample(scale_factor=2.0, mode=nearest) (p5_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_upsample): Upsample(scale_factor=2.0, mode=nearest) (p3_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p5_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p6_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p7_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (swish): MemoryEfficientSwish() (p6_w1_relu): ReLU() (p5_w1_relu): ReLU() (p4_w1_relu): ReLU() (p3_w1_relu): ReLU() (p4_w2_relu): ReLU() (p5_w2_relu): ReLU() (p6_w2_relu): ReLU() (p7_w2_relu): ReLU() ) (4): BiFPN( (conv6_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv3_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv6_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv7_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p6_upsample): Upsample(scale_factor=2.0, mode=nearest) (p5_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_upsample): Upsample(scale_factor=2.0, mode=nearest) (p3_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p5_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p6_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p7_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (swish): MemoryEfficientSwish() (p6_w1_relu): ReLU() (p5_w1_relu): ReLU() (p4_w1_relu): ReLU() (p3_w1_relu): ReLU() (p4_w2_relu): ReLU() (p5_w2_relu): ReLU() (p6_w2_relu): ReLU() (p7_w2_relu): ReLU() ) (5): BiFPN( (conv6_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv3_up): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv4_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv5_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv6_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (conv7_down): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) (bn): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (p6_upsample): Upsample(scale_factor=2.0, mode=nearest) (p5_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_upsample): Upsample(scale_factor=2.0, mode=nearest) (p3_upsample): Upsample(scale_factor=2.0, mode=nearest) (p4_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p5_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p6_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (p7_downsample): MaxPool2dStaticSamePadding( (pool): MaxPool2d(kernel_size=3, stride=2, padding=0, dilation=1, ceil_mode=False) ) (swish): MemoryEfficientSwish() (p6_w1_relu): ReLU() (p5_w1_relu): ReLU() (p4_w1_relu): ReLU() (p3_w1_relu): ReLU() (p4_w2_relu): ReLU() (p5_w2_relu): ReLU() (p6_w2_relu): ReLU() (p7_w2_relu): ReLU() ) ) (regressor): Regressor( (conv_list): ModuleList( (0): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) (1): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) (2): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) (3): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) ) (bn_list): ModuleList( (0): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (1): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (2): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (3): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (4): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) ) (header): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 36, kernel_size=(1, 1), stride=(1, 1)) ) ) (swish): MemoryEfficientSwish() ) (classifier): Classifier( (conv_list): ModuleList( (0): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) (1): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) (2): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) (3): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(1, 1), stride=(1, 1)) ) ) ) (bn_list): ModuleList( (0): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (1): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (2): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (3): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) (4): ModuleList( (0): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (1): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (3): BatchNorm2d(160, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) ) ) (header): SeparableConvBlock( (depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 160, kernel_size=(3, 3), stride=(1, 1), groups=160, bias=False) ) (pointwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(160, 90, kernel_size=(1, 1), stride=(1, 1)) ) ) (swish): MemoryEfficientSwish() ) (anchors): Anchors() (backbone_net): EfficientNet( (model): EffNet( (_conv_stem): Conv2dStaticSamePadding( (conv): Conv2d(3, 40, kernel_size=(3, 3), stride=(2, 2), bias=False) ) (_bn0): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_blocks): ModuleList( (0): MBConvBlock( (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(40, 40, kernel_size=(3, 3), stride=[1], groups=40, bias=False) ) (_bn1): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(40, 10, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(10, 40, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(40, 24, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (1): MBConvBlock( (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(24, 24, kernel_size=(3, 3), stride=(1, 1), groups=24, bias=False) ) (_bn1): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(24, 6, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(6, 24, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(24, 24, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (2): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(24, 144, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(144, 144, kernel_size=(3, 3), stride=[2], groups=144, bias=False) ) (_bn1): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(144, 6, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(6, 144, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(144, 32, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (3): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), groups=192, bias=False) ) (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(192, 8, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(8, 192, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(192, 32, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (4): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(192, 192, kernel_size=(3, 3), stride=(1, 1), groups=192, bias=False) ) (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(192, 8, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(8, 192, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(192, 32, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (5): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(192, 192, kernel_size=(5, 5), stride=[2], groups=192, bias=False) ) (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(192, 8, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(8, 192, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (6): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(288, 288, kernel_size=(5, 5), stride=(1, 1), groups=288, bias=False) ) (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(288, 12, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(12, 288, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(288, 48, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (7): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(288, 288, kernel_size=(5, 5), stride=(1, 1), groups=288, bias=False) ) (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(288, 12, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(12, 288, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(288, 48, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (8): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(288, 288, kernel_size=(3, 3), stride=[2], groups=288, bias=False) ) (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(288, 12, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(12, 288, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(288, 96, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (9): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False) ) (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(576, 24, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(24, 576, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (10): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False) ) (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(576, 24, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(24, 576, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (11): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False) ) (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(576, 24, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(24, 576, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (12): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False) ) (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(576, 24, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(24, 576, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (13): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 576, kernel_size=(5, 5), stride=[1], groups=576, bias=False) ) (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(576, 24, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(24, 576, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(576, 136, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (14): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False) ) (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(816, 34, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(34, 816, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (15): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False) ) (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(816, 34, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(34, 816, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (16): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False) ) (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(816, 34, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(34, 816, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (17): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False) ) (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(816, 34, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(34, 816, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (18): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 816, kernel_size=(5, 5), stride=[2], groups=816, bias=False) ) (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(816, 34, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(34, 816, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(816, 232, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (19): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False) ) (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(1392, 58, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(58, 1392, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (20): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False) ) (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(1392, 58, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(58, 1392, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (21): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False) ) (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(1392, 58, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(58, 1392, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (22): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False) ) (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(1392, 58, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(58, 1392, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (23): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False) ) (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(1392, 58, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(58, 1392, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (24): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 1392, kernel_size=(3, 3), stride=[1], groups=1392, bias=False) ) (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(1392, 58, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(58, 1392, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(1392, 384, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) (25): MBConvBlock( (_expand_conv): Conv2dStaticSamePadding( (conv): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn0): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_depthwise_conv): Conv2dStaticSamePadding( (conv): Conv2d(2304, 2304, kernel_size=(3, 3), stride=(1, 1), groups=2304, bias=False) ) (_bn1): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( (conv): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1)) ) (_se_expand): Conv2dStaticSamePadding( (conv): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1)) ) (_project_conv): Conv2dStaticSamePadding( (conv): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False) ) (_bn2): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() ) ) (_swish): MemoryEfficientSwish() ) ) ) (regressBoxes): BBoxTransform() (clipBoxes): ClipBoxes() )
There are some prebuilt model partials, which you can use instantly: