Deep Translation and Rotation Equivariance
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Harmonic Networks: Deep Translation and Rotation Equivariance

This code requires Tensorflow version 1.0

This code accompanies the paper Harmonic Networks: Deep Translation and Rotation Equivariance

Authors: Daniel E. Worrall, Stephan J. Garbin, Daniyar Turmukhambetov, and Gabriel J. Brostow.

Watch the video

1 Running the code

To run code for a specific experiment, run the file run_<myscript>.py in the relevant folder.

2 Using harmonic convolutions in your code

The core functions for harmonic convolutions can be found in However, the best way to use these operations is via This contains the following functions:

  • conv2d
  • batch_norm
  • non_linearity
  • mean_pool
  • sum_magnitudes
  • stack_magnitudes

Each function takes in a 6D tensor with dimensions: minibatch size, height, width, num rotation orders, num complex channels, num channels. For instance, a real tensor with 16 items of height 128 and width 128, 2 rotation orders and 5 channels would have shape [16,128,128,2,1,5]. Whereas a complex tensor with the same parameters would be of shape [16,128,128,2,2,5].