Skip to content

danielewworrall/harmonicConvolutions

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

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 harmonic_network_ops.py. However, the best way to use these operations is via harmonic_network_lite.py. 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].

About

Deep Translation and Rotation Equivariance

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages