Math Layers
Layer |
Description |
---|---|
Absolute value of discrete Fourier transform |
|
Matrix multiplication |
DFTAbs
The DFTAbs
layer performs the absolute value of discrete
Fourier transform. One-, two-, or three-dimensional data is
allowed. The implementation is meant to be as flexible as possible. We
use FFTW for the CPU implementation; whichever types your
implementation of FFTW supports will be supported in this layer at
runtime. The GPU implementation uses cuFFT on NVIDIA GPUs and will
support float and double at runtime (assuming CUDA support is
enabled). A future implementation will support rocFFT for AMD GPUs.
Currently, LBANN only supports outputting the same type that is used as input. As such, in forward propagation, this will do a DFT and then compute the absolute value of the output implicitly. The intention is to support immediate customer need now; we will generalize this as LBANN learns to support different input/output data types.
Arguments: None
MatMul
The MatMul
layer performs Matrix multiplication.
Performs matrix product of two 2D input tensors. If the input tensors are 3D, then matrix products are computed independently over the first dimension, in a similar manner as NumPy’s matmul function.
Arguments:
- transpose_a
(
bool
) Whether to transpose matrices from first input tensor- transpose_b
(
bool
) Whether to transpose matrices from second input tensor