Skip to content

CXYCarson/TF_AcBlock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TF2 reimplementation of Asymmetric Convolution Module

This is a re-implementation of the paper: 'ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks'

Original paper site: https://arxiv.org/abs/1908.03930

Original Github site(Pytorch): https://github.com/DingXiaoH/ACNet

Currently only supports tf.keras API, does not support other TensorFlow APIs such as tf.layers, but you can look into the code and figure out ways around.

Requirement

  • Tensorflow 2
  • numpy

How to use

  1. Clone into your local directory.

    git clone https://github.com/CXYCarson/TF_AcBlock.git
    
  2. To train a cifar-quick without AC blocks, run

    python create_cfqk.py
    
  3. To train a cifar-quick with convolutions replaced with AC Blocks, run

    python create_AC_cfqk.py
    
  4. To convert the trained cifar-quick model into deploy mode, run

    python deploy_AC_cfqk.py
    
  5. Use it in your own project

    Ac_Block_utils.py contains all functions for you to use it in your own projects.

    First you'll need to use AC_Block() to build your model, it takes in almost the same parameters as the normal keras.layers.Conv2D() and keras.layers.BatchNormalization(). Note you must pass in the name of each module for deploying purpose.

    After you've trained and saved your model with AC modules, use the deploy() function to convert it to deploy mode. Simply pass in the checkpoint file in .h5 format and a list of AC module names. It will convert it to deploy mode and save a new model for you. Note that the converted model is not compiled yet, you'll need to compile it afterwards.

    All functionalities only support tf.keras API for now.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages