OctaveConv_pytorch
Pytorch implementation of Octave convolution with other similar operation
This is third parity implementation(un-official) of Following Paper which are talked in Recente_Convolution.pdf:
- Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution(ICCV 2019). paper
- Adaptively Connected Neural Networks.(CVPR 2019) paper
- Res2net:A New Multi-scale Backbone Architecture paper
- ScaleNet:Data-Driven Neuron Allocation for Scale Aggregation Networks paper
- SRM : A Style-based Recalibration Module for Convolutional Neural Networks paper
Plan
- add Res2Net bolock with SE-layer (done)
- add Adaptive-Convolution: both pixel-aware and dataset-aware (done)
- Train code on Imagenet. (done)
- Support more models. ()
Usage
check model files under the fig/nn floder.
from lib.nn.OCtaveResnet import resnet50
from lib.nn.res2net import se_resnet50
from lib.nn.AdaptiveConvResnet import PixelAwareResnet50, DataSetAwareResnet50
model = resnet50().cuda()
model = se_resnet50().cuda()
model = PixelAwareResnet50().cuda()
model = DataSetAwareResnet50().cuda()
Reference:
- OctaveConv: MXNet implementation here
- AdaptiveCov: Offical tensorflow implementation here
- ScaleNet: here
- SGENet:here
License
MIT License