Skip to content

djwhsdj/KERNTROL

Repository files navigation

KERNTROL: Kernel Shape Control Toward Ultimate Memory Utilization for In-Memory Convolutional Weight Mapping


Requirements

  • python3.x+
  • Pytorch
  • Numpy

Usage of KERNTROL-M

utils.py

  • This code includes functions of quantization, counting, mapping algorithms and KERNTROL layer.

utilization_run_script.py

  • This code operates a baseline and our proposed KERNTROL-M.

utilization_others_script.py

  • This code is for operating the network assuming that all convolutional layers have the same parallel window size (5x5, 4x4).

utilization_pattern_run_script.py

  • This code operates the pattern-based pruning methods (PatDNN, Random, PConv) with various entries.

  • Note that, for a fair comparison, we assumed that all patterns have the row-wise pattern dimension.

Usage of KERNTROL-C (in folder KERNTROL-C)

This in ResNet-18 with ImageNet dataset

imagenet_run_script.py

  • This code operates a baseline and our proposed KERNTROL-M and KERNTROL-C.

imagenet_run_script_pattern.py

  • This code operates the N-entry pattern-based pruning methods.

utils.py

  • This code includes functions of quantization, counting, mapping algorithms and KERNTROL layers.

Mapping methods

Im2col (Image to column)

You can read the original pdf here

SDK (Shift and Duplicate Kernel)

You can read the original pdf here

Kernel shape control with empty mask (KERNTROL-M)

You can read the original pdf here

Kernel shape control with compensatory weights (KERNTROL-C)

You can read the original pdf here

About

KERNel shape conTROL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages