pycsamt.ai.nets.unet#
UNet2DNet — 2-D U-Net architecture for EM section inversion.
Based on the encoder-decoder with skip connections introduced by Ronneberger et al. (2015) and adapted for 2-D CSEM / MT inversion by Oh et al. (2019, 2020).
The network maps a 2-D observed data panel
(components x frequencies x stations) to a 2-D subsurface resistivity section
(depth x stations). Both spatial dimensions may differ between input and output; bilinear upsampling handles the mismatch.
References
Oh S. et al. (2019) Geophysics — 2D CSEM inversion with U-Net. Oh S. et al. (2020) JGR Solid Earth — generalisation to salt.
Classes
|
Factory wrapper for the 2-D U-Net. |
- class pycsamt.ai.nets.unet.UNet2DNet(n_in, n_out=1, *, channels=(32, 64, 128, 256, 512), dropout=0.2)[source]#
Bases:
objectFactory wrapper for the 2-D U-Net.
All heavy imports are deferred to
build().- Parameters:
n_in (int) – Input channels — typically
n_components(e.g. 4 for off-diagonal MT impedance:log|Zxy|,phi_xy,log|Zyx|,phi_yx).n_out (int) – Output channels — 1 for a single \(\\log_{10}(\\rho)\) section.
channels (tuple of int, default) –
(32, 64, 128, 256, 512)Channel widths at each encoder stage plus the bridge.len(channels) - 1determines the number of pooling/upsampling stages.dropout (float, default 0.2) – 2-D spatial dropout probability in each convolutional block.
Examples
>>> net = UNet2DNet(n_in=4, n_out=1) >>> model = net.build()