How to prune a pretrained model?

Hey,

How can i prune a pretrained model? I am using the EfficientNetB0 as backbone and I was trying to get just the 4 first blocks of this model. The first blocks look like this

EfficientNet_SW( (base_model): EfficientNet( (_conv_stem): Conv2dStaticSamePadding( 2, 32, kernel_size=(3, 3), stride=(2, 2), bias=False (static_padding): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0) ) (_bn0): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_blocks): ModuleList( (0): MBConvBlock( (_depthwise_conv): Conv2dStaticSamePadding( 32, 32, kernel_size=(3, 3), stride=[1, 1], groups=32, bias=False (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0) ) (_bn1): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_se_reduce): Conv2dStaticSamePadding( 32, 8, kernel_size=(1, 1), stride=(1, 1) (static_padding): Identity() ) (_se_expand): Conv2dStaticSamePadding( 8, 32, kernel_size=(1, 1), stride=(1, 1) (static_padding): Identity() ) (_project_conv): Conv2dStaticSamePadding( 32, 16, kernel_size=(1, 1), stride=(1, 1), bias=False (static_padding): Identity() ) (_bn2): BatchNorm2d(16, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True) (_swish): MemoryEfficientSwish() )

Repeating the MBConvBlock for a few times.