All Projects → hujie-frank → Senet

hujie-frank / Senet

Licence: apache-2.0
Squeeze-and-Excitation Networks

Programming Languages

Cuda
1817 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to Senet

Cuml
cuML - RAPIDS Machine Learning Library
Stars: ✭ 2,504 (-12.14%)
Mutual labels:  gpu, cuda
Ck Caffe
Collective Knowledge workflow for Caffe to automate installation across diverse platforms and to collaboratively evaluate and optimize Caffe-based workloads across diverse hardware, software and data sets (compilers, libraries, tools, models, inputs):
Stars: ✭ 192 (-93.26%)
Mutual labels:  caffe, cuda
Hybridizer Basic Samples
Examples of C# code compiled to GPU by hybridizer
Stars: ✭ 186 (-93.47%)
Mutual labels:  gpu, cuda
Creepminer
Burstcoin C++ CPU and GPU Miner
Stars: ✭ 169 (-94.07%)
Mutual labels:  gpu, cuda
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (-91.93%)
Mutual labels:  gpu, cuda
Gmonitor
gmonitor is a GPU monitor (Nvidia only at the moment)
Stars: ✭ 169 (-94.07%)
Mutual labels:  gpu, cuda
Macos Egpu Cuda Guide
Set up CUDA for machine learning (and gaming) on macOS using a NVIDIA eGPU
Stars: ✭ 187 (-93.44%)
Mutual labels:  gpu, cuda
Primitiv
A Neural Network Toolkit.
Stars: ✭ 164 (-94.25%)
Mutual labels:  gpu, cuda
Bohrium
Automatic parallelization of Python/NumPy, C, and C++ codes on Linux and MacOSX
Stars: ✭ 209 (-92.67%)
Mutual labels:  gpu, cuda
Simplegpuhashtable
A simple GPU hash table implemented in CUDA using lock free techniques
Stars: ✭ 198 (-93.05%)
Mutual labels:  gpu, cuda
Optix Pathtracer
Simple physically based path tracer based on Nvidia's Optix Ray Tracing Engine
Stars: ✭ 231 (-91.89%)
Mutual labels:  gpu, cuda
Nvidia Modded Inf
Modified nVidia .inf files to run drivers on all video cards, research & telemetry free drivers
Stars: ✭ 227 (-92.04%)
Mutual labels:  gpu, cuda
Quda
QUDA is a library for performing calculations in lattice QCD on GPUs.
Stars: ✭ 166 (-94.18%)
Mutual labels:  gpu, cuda
Ssd Gpu Dma
Build userspace NVMe drivers and storage applications with CUDA support
Stars: ✭ 172 (-93.96%)
Mutual labels:  gpu, cuda
Jcuda
JCuda - Java bindings for CUDA
Stars: ✭ 165 (-94.21%)
Mutual labels:  gpu, cuda
Nvidia Docker
Build and run Docker containers leveraging NVIDIA GPUs
Stars: ✭ 13,961 (+389.86%)
Mutual labels:  gpu, cuda
Xmrminer
🐜 A CUDA based miner for Monero
Stars: ✭ 158 (-94.46%)
Mutual labels:  gpu, cuda
Khiva
An open-source library of algorithms to analyse time series in GPU and CPU.
Stars: ✭ 161 (-94.35%)
Mutual labels:  gpu, cuda
Deepdetect
Deep Learning API and Server in C++14 support for Caffe, Caffe2, PyTorch,TensorRT, Dlib, NCNN, Tensorflow, XGBoost and TSNE
Stars: ✭ 2,306 (-19.09%)
Mutual labels:  gpu, caffe
Genomeworks
SDK for GPU accelerated genome assembly and analysis
Stars: ✭ 215 (-92.46%)
Mutual labels:  gpu, cuda

Squeeze-and-Excitation Networks (paper)

By Jie Hu[1], Li Shen[2], Gang Sun[1].

Momenta[1] and University of Oxford[2].

Approach

Figure 1: Diagram of a Squeeze-and-Excitation building block.

 

Figure 2: Schema of SE-Inception and SE-ResNet modules. We set r=16 in all our models.

Implementation

In this repository, Squeeze-and-Excitation Networks are implemented by Caffe.

Augmentation

Method Settings
Random Mirror True
Random Crop 8% ~ 100%
Aspect Ratio 3/4 ~ 4/3
Random Rotation -10° ~ 10°
Pixel Jitter -20 ~ 20

Note:

  • To achieve efficient training and testing, we combine the consecutive operations channel-wise scale and element-wise summation into a single layer "Axpy" in the architectures with skip-connections, resulting in a considerable reduction in memory cost and computational burden.

  • In addition, we found that the implementation for global average pooling on GPU supported by cuDNN and BVLC/caffe is less efficient. In this regard, we re-implement the operation which achieves significant acceleration.

Trained Models

Table 1. Single crop validation error on ImageNet-1k (center 224x224 crop from resized image with shorter side = 256). The SENet-154 is one of our superior models used in ILSVRC 2017 Image Classification Challenge where we won the 1st place (Team name: WMW).

Model Top-1 Top-5 Size Caffe Model Caffe Model
SE-BN-Inception 23.62 7.04 46 M GoogleDrive BaiduYun
SE-ResNet-50 22.37 6.36 107 M GoogleDrive BaiduYun
SE-ResNet-101 21.75 5.72 189 M GoogleDrive BaiduYun
SE-ResNet-152 21.34 5.54 256 M GoogleDrive BaiduYun
SE-ResNeXt-50 (32 x 4d) 20.97 5.54 105 M GoogleDrive BaiduYun
SE-ResNeXt-101 (32 x 4d) 19.81 4.96 187 M GoogleDrive BaiduYun
SENet-154 18.68 4.47 440 M GoogleDrive BaiduYun

Here we obtain better performance than those reported in the paper. We re-train the SENets described in the paper on a single GPU server with 8 NVIDIA Titan X cards, using a mini-batch of 256 and a initial learning rate of 0.1 with more epoches. In contrast, the results reported in the paper were obtained by training the networks with a larger batch size (1024) and learning rate (0.6) across 4 servers.

Third-party re-implementations

  1. Caffe. SE-mudolues are integrated with a modificated ResNet-50 using a stride 2 in the 3x3 convolution instead of the first 1x1 convolution which obtains better performance: Repository.
  2. TensorFlow. SE-modules are integrated with a pre-activation ResNet-50 which follows the setup in fb.resnet.torch: Repository.
  3. TensorFlow. Simple Tensorflow implementation of SENets using Cifar10: Repository.
  4. MatConvNet. All the released SENets are imported into MatConvNet: Repository.
  5. MXNet. SE-modules are integrated with the ResNeXt and more architectures are coming soon: Repository.
  6. PyTorch. Implementation of SENets by PyTorch: Repository.
  7. Chainer. Implementation of SENets by Chainer: Repository.

Citation

If you use Squeeze-and-Excitation Networks in your research, please cite the paper:

@inproceedings{hu2018senet,
  title={Squeeze-and-Excitation Networks},
  author={Jie Hu and Li Shen and Gang Sun},
  journal={IEEE Conference on Computer Vision and Pattern Recognition},
  year={2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].