pycsamt.ai.nets.fcn#

Fully Convolutional Network for EM inversion — Moghadas (2020) style.

Contains no fully-connected layers. All weights are convolutional, including the final output projection (1x1 convolution). This makes the network invariant to input length, which is useful when different survey setups use different numbers of frequencies.

The global average pool collapses the spatial dimension to a single vector, and a final 1x1 convolution maps to the output size.

References

Moghadas, D. (2020). One-dimensional deep learning inversion of EM induction data using CNN. Geophysical Journal International, 223(1), 627-641.

Classes

FCN1DNet(n_features, n_out, *[, channels, ...])

Factory wrapper for the fully-convolutional 1-D EM network.

class pycsamt.ai.nets.fcn.FCN1DNet(n_features, n_out, *, channels=(32, 64, 128, 64), dropout=0.2)[source]#

Bases: object

Factory wrapper for the fully-convolutional 1-D EM network.

Parameters:
  • n_features (int) – Input feature vector length.

  • n_out (int) – Output parameter vector length (2*n_layers - 1).

  • channels (sequence of int) – Channel widths for each convolutional block. The last entry is used for the bottleneck and global pool.

  • dropout (float) – Spatial dropout rate.

build()[source]#

Return the nn.Module.