Beyond Convolution
OctaveConv_pytorch
Pytorch implementation of recent operators
This is third parity implementation(un-official) of Following Paper.
- 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(PAMI 2019) paper
- ScaleNet:Data-Driven Neuron Allocation for Scale Aggregation Networks (CVPR2019) paper
- SRM : A Style-based Recalibration Module for Convolutional Neural Networks paper
- SEnet: Squeeze-and-Excitation Networks(CVPR 2018) paper
- GEnet: Exploiting Feature Context in Convolutional Neural Networks(NIPS 2018) paper
- ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks paper
- SK-Net: Selective Kernel Networks(CVPR 2019) paper
- More Net will be added.
Plan
- add Res2Net bolock with SE-layer (done)
- add Adaptive-Convolution: both pixel-aware and dataset-aware (done)
- Train code on Imagenet. (done)
- Add SE-like models. (done)
- Keep tracking with new proposed operators. (-)
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()
Training
see exp floder for the detailed information
CheckPoint
Reference and Citation:
- OctaveConv: MXNet implementation here
- AdaptiveCov: Offical tensorflow implementation here
- ScaleNet: here
- SGENet:here
Please consider cite the author's paper when using the code for your research.
License
MIT License