This software provides the implementation of convolution layers where the gradient with respect to the weights is approximated by an unbiased estimate. This estimate is obtained via matrix probing. This package contains two implementation:
- A
julia
implementation that overloads NNlib for the computation of∇conv_filter
. - A PyTorch implementation that defines a new convolution layer
Xconv2D, Xconv3D
.
To install the julia package, you can install it via the standard dev
command
>> ]dev https://github.com/slimgroup/XConv
The python source of this package can also be directly install via pip:
pip install git+https://github.com/slimgroup/XConv
or if you wish to get access to the experiments and benchmarking script:
git clone https://github.com/slimgroup/XConv
cd XConv
pip install -e .
This installation will install the default torch
, we recommend to install the version that is best suited for your system following Torch Installation.
This software was developped and tested on GPUs thanks to NVIDIA Academic Hardware Grant.
This package is developpend at Georgia Institute of Technology byt the ML4Seismic Lab. The main autors of this package are:
- Mathias Louboutin: mlouboutin3@gatech.edu
- Ali Siahkoohi
This package is distributed under the MIT license. Please check the LICENSE file for usage.