EPSANet:An Efficient Pyramid Split Attention Block on Convolutional Neural Network

Overview

EPSANet:An Efficient Pyramid Split Attention Block on Convolutional Neural Network

This repo contains the official Pytorch implementaion code and configuration files of EPSANet:An Efficient Pyramid Split Attention Block on Convolutional Neural Network. created by Hu Zhang.

Installation

Requirements

  • Python 3.6+
  • PyTorch 1.0+

Our environments

  • OS: Ubuntu 18.04
  • CUDA: 10.0
  • Toolkit: PyTorch 1.0
  • GPU: Titan RTX

Data preparation

Download and extract ImageNet train and val images from http://image-net.org/. The directory structure is the standard layout for the torchvision datasets.ImageFolder, and the training and validation data is expected to be in the train/ folder and val folder respectively:

/path/to/imagenet/
  train/
    class1/
      img1.jpeg
    class2/
      img2.jpeg
  val/
    class1/
      img3.jpeg
    class/2
      img4.jpeg

Usage

First, clone the repository locally:

git clone https://github.com/murufeng/EPSANet.git
cd EPSANet
  • Create a conda virtual environment and activate it:
conda create -n epsanet python=3.6 
conda activate epsanet
conda install -c pytorch pytorch torchvision

Training

To train models on ImageNet with 8 gpus run:

CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python main.py -a epsanet50 --data /path/to/imagenet 

Model Zoo

Models are trained with 8 GPUs on both ImageNet and MS-COCO 2017 dataset.

Image Classification on ImageNet

Model Params(M) FLOPs(G) Top-1 (%) Top-5 (%)
EPSANet-50(Small) 22.56 3.62 77.49 93.54
EPSANet-50(Large) 27.90 4.72 78.64 94.18
EPSANet-101(Small) 38.90 6.82 78.43 94.11
EPSANet-101(Large) 49.59 8.97 79.38 94.58

Object Detection on MS-COCO 2017

Faster R-CNN

model Style Lr schd Params(M) FLOPs(G) box AP AP_50 AP_75
EPSANet-50(small) pytorch 1x 38.56 197.07 39.2 60.3 42.3
EPSANet-50(large) pytorch 1x 43.85 219.64 40.9 62.1 44.6

Mask R-CNN

model Style Lr schd Params(M) FLOPs(G) box AP AP_50 AP_75
EPSANet-50(small) pytorch 1x 41.20 248.53 40.0 60.9 43.3
EPSANet-50(large) pytorch 1x 46.50 271.10 41.4 62.3 45.3

RetinaNet

model Style Lr schd Params(M) FLOPs(G) box AP AP_50 AP_75
EPSANet-50(small) pytorch 1x 34.78 229.32 38.2 58.1 40.6
EPSANet-50(large) pytorch 1x 40.07 251.89 39.6 59.4 42.3

Instance segmentation with Mask R-CNN on MS-COCO 2017

model Params(M) FLOPs(G) AP AP_50 AP_75
EPSANet-50(small) 41.20 248.53 35.9 57.7 38.1
EPSANet-50(Large) 46.50 271.10 37.1 59.0 39.5

Citing EPSANet

You can cite the paper as:

@article{hu2021epsanet,
  title={EPSANet:An Efficient Pyramid Split Attention Block on Convolutional Neural Network},
  author={Hu Zhang and Keke Zu and Jian Lu and Yuru Zou and Deyu Meng},
  journal={arXiv preprint arXiv:2105.14447},
  year={2021}
}
Source code, data, and evaluation details for “Cross-Lingual Citations in English Papers: A Large-Scale Analysis of Prevalence, Formation, and Ramifications”

Analysis of cross-lingual citations in English papers Contents initial_analysis Source code, data, and evaluation details as published at ICADL2020 ci

Tarek Saier 1 Oct 27, 2022
Official Python implementation of the 'Sparse deconvolution'-v0.3.0

Sparse deconvolution Python v0.3.0 Official Python implementation of the 'Sparse deconvolution', and the CPU (NumPy) and GPU (CuPy) calculation backen

Weisong Zhao 23 Dec 28, 2022
CLIP (Contrastive Language–Image Pre-training) for Italian

Italian CLIP CLIP (Radford et al., 2021) is a multimodal model that can learn to represent images and text jointly in the same space. In this project,

Italian CLIP 114 Dec 29, 2022
Code for paper Novel View Synthesis via Depth-guided Skip Connections

Novel View Synthesis via Depth-guided Skip Connections Code for paper Novel View Synthesis via Depth-guided Skip Connections @InProceedings{Hou_2021_W

8 Mar 14, 2022
A new GCN model for Point Cloud Analyse

Pytorch Implementation of PointNet and PointNet++ This repo is implementation for VA-GCN in pytorch. Classification (ModelNet10/40) Data Preparation D

12 Feb 02, 2022
A Nim frontend for pytorch, aiming to be mostly auto-generated and internally using ATen.

Master Release Pytorch - Py + Nim A Nim frontend for pytorch, aiming to be mostly auto-generated and internally using ATen. Because Nim compiles to C+

Giovanni Petrantoni 425 Dec 22, 2022
Official implementation of the network presented in the paper "M4Depth: A motion-based approach for monocular depth estimation on video sequences"

M4Depth This is the reference TensorFlow implementation for training and testing depth estimation models using the method described in M4Depth: A moti

Michaël Fonder 76 Jan 03, 2023
StarGAN2 for practice

StarGAN2 for practice This version of StarGAN2 (coined as 'Post-modern Style Transfer') is intended mostly for fellow artists, who rarely look at scie

vadim epstein 87 Sep 24, 2022
Python library for tracking human heads with FLAME (a 3D morphable head model)

Video Head Tracker 3D tracking library for human heads based on FLAME (a 3D morphable head model). The tracking algorithm is inspired by face2face. It

61 Dec 25, 2022
Official PyTorch implementation for FastDPM, a fast sampling algorithm for diffusion probabilistic models

Official PyTorch implementation for "On Fast Sampling of Diffusion Probabilistic Models". FastDPM generation on CIFAR-10, CelebA, and LSUN datasets. S

Zhifeng Kong 68 Dec 26, 2022
Tensorflow implementation for Self-supervised Graph Learning for Recommendation

If the compilation is successful, the evaluator of cpp implementation will be called automatically. Otherwise, the evaluator of python implementation will be called.

152 Jan 07, 2023
Implementation supporting the ICCV 2017 paper "GANs for Biological Image Synthesis"

GANs for Biological Image Synthesis This codes implements the ICCV-2017 paper "GANs for Biological Image Synthesis". The paper and its supplementary m

Anton Osokin 95 Nov 25, 2022
pytorch implementation of fast-neural-style

fast-neural-style 🌇 🚀 NOTICE: This codebase is no longer maintained, please use the codebase from pytorch examples repository available at pytorch/e

Abhishek Kadian 405 Dec 15, 2022
HyperSeg: Patch-wise Hypernetwork for Real-time Semantic Segmentation Official PyTorch Implementation

: We present a novel, real-time, semantic segmentation network in which the encoder both encodes and generates the parameters (weights) of the decoder. Furthermore, to allow maximal adaptivity, the w

Yuval Nirkin 182 Dec 14, 2022
Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in the world of scientific Python packages (numpy, scipy, matplotlib).

Crab - A Recommendation Engine library for Python Crab is a flexible, fast recommender engine for Python that integrates classic information filtering r

python-recsys 1.2k Dec 21, 2022
constructing maps of intellectual influence from publication data

Influencemap Project @ ANU Influence in the academic communities has been an area of interest for researchers. This can be seen in the popularity of a

CS Metrics 13 Jun 18, 2022
working repo for my xumx-sliCQ submissions to the ISMIR 2021 MDX

Music Demixing Challenge - xumx-sliCQ This repository is the GitHub mirror of my working submission repository for the AICrowd ISMIR 2021 Music Demixi

4 Aug 25, 2021
Keras implementation of AdaBound

AdaBound for Keras Keras port of AdaBound Optimizer for PyTorch, from the paper Adaptive Gradient Methods with Dynamic Bound of Learning Rate. Usage A

Somshubra Majumdar 132 Sep 23, 2022
QRec: A Python Framework for quick implementation of recommender systems (TensorFlow Based)

Introduction QRec is a Python framework for recommender systems (Supported by Python 3.7.4 and Tensorflow 1.14+) in which a number of influential and

Yu 1.4k Jan 01, 2023
FACIAL: Synthesizing Dynamic Talking Face With Implicit Attribute Learning. ICCV, 2021.

FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning PyTorch implementation for the paper: FACIAL: Synthesizing Dynamic Talking

226 Jan 08, 2023