--- exp000
+++ exp_smoke
@@ -1,2 +1,3 @@
 WellboreStudy.Config(
+        experiment_name='exp_smoke',
         families=[
@@ -7,4 +8,7 @@
         │       │   │   model=SequenceModel.Config(
+        │       │   │   │   channels_hidden=2,
+        │       │   │   │   kernel_size=1,
         │       │   │   │   dropout=0.05,
         │       │   │   │   unet=PosteriorUNet.Config(
+        │       │   │   │   │   channels_hidden=(2, 3, 4, 5),
         │       │   │   │   │   stem=ResidualBlock.Config(
@@ -36,56 +40,54 @@
         │       │   │   │   │   │   network=ConvNeXt.Config(
-        │       │   │   │   │   │   │   blocks_per_stage=(3, 3, 27, 3),
-        │       │   │   │   │   │   │   stem=ConvNeXtStem.Config(
-        │       │   │   │   │   │   │       conv=Conv2d.Config(
-        │       │   │   │   │   │   │           kernel_size=4,
-        │       │   │   │   │   │   │           stride=4,
-        │       │   │   │   │   │   │           padding=0,
-        │       │   │   │   │   │   │           bias=True,
-        │       │   │   │   │   │   │           init_bias=None
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       norm=LayerNorm2d.Config()
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   stage=ConvNeXtStage.Config(
-        │       │   │   │   │   │   │       downsample=Sequential.Config(
-        │       │   │   │   │   │   │           elements=[
-        │       │   │   │   │   │   │               LayerNorm2d.Config(),
-        │       │   │   │   │   │   │               Conv2d.Config(
-        │       │   │   │   │   │   │                   kernel_size=2,
-        │       │   │   │   │   │   │                   stride=2,
-        │       │   │   │   │   │   │                   padding=0,
-        │       │   │   │   │   │   │                   bias=True,
-        │       │   │   │   │   │   │                   init_bias=None
-        │       │   │   │   │   │   │               )
-        │       │   │   │   │   │   │           ]
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       block=ConvNeXtBlock.Config(
-        │       │   │   │   │   │   │           conv_dw=Conv2d.Config(
-        │       │   │   │   │   │   │               kernel_size=7,
-        │       │   │   │   │   │   │               padding=3,
-        │       │   │   │   │   │   │               bias=True,
-        │       │   │   │   │   │   │               init_bias=None
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           norm=LayerNorm.Config(
-        │       │   │   │   │   │   │               eps=1e-06,
-        │       │   │   │   │   │   │               elementwise_affine=True
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           mlp=SwiGLU.Config(
-        │       │   │   │   │   │   │               expansion=4.0,
-        │       │   │   │   │   │   │               round_to=1,
-        │       │   │   │   │   │   │               gate=False,
-        │       │   │   │   │   │   │               act=priml.model.swiglu.gelu,
-        │       │   │   │   │   │   │               up_proj=Linear.Config(bias=True, init_bias=None),
-        │       │   │   │   │   │   │               down_proj=Linear.Config(bias=True, init_bias=None)
-        │       │   │   │   │   │   │           )
-        │       │   │   │   │   │   │       )
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   head=ConvNeXtHead.Config(
-        │       │   │   │   │   │   │       norm=LayerNorm.Config(
-        │       │   │   │   │   │   │           eps=1e-06,
-        │       │   │   │   │   │   │           elementwise_affine=True
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       proj_out=Identity.Config()
-        │       │   │   │   │   │   │   )
-        │       │   │   │   │   │   ),
-        │       │   │   │   │   │   checkpoint='{dataset_directory}/initialization/convnext_small.safetensors'
+        │       │   │   │   │   │       blocks_per_stage=(1, 1, 1, 1),
+        │       │   │   │   │   │       stem=ConvNeXtStem.Config(
+        │       │   │   │   │   │           conv=Conv2d.Config(
+        │       │   │   │   │   │               kernel_size=4,
+        │       │   │   │   │   │               stride=4,
+        │       │   │   │   │   │               padding=0,
+        │       │   │   │   │   │               bias=True,
+        │       │   │   │   │   │               init_bias=None
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           norm=LayerNorm2d.Config()
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       stage=ConvNeXtStage.Config(
+        │       │   │   │   │   │           downsample=Sequential.Config(
+        │       │   │   │   │   │               elements=[
+        │       │   │   │   │   │                   LayerNorm2d.Config(),
+        │       │   │   │   │   │                   Conv2d.Config(
+        │       │   │   │   │   │                       kernel_size=2,
+        │       │   │   │   │   │                       stride=2,
+        │       │   │   │   │   │                       padding=0,
+        │       │   │   │   │   │                       bias=True,
+        │       │   │   │   │   │                       init_bias=None
+        │       │   │   │   │   │                   )
+        │       │   │   │   │   │               ]
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           block=ConvNeXtBlock.Config(
+        │       │   │   │   │   │               conv_dw=Conv2d.Config(
+        │       │   │   │   │   │                   padding=1,
+        │       │   │   │   │   │                   bias=True,
+        │       │   │   │   │   │                   init_bias=None
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               norm=LayerNorm.Config(
+        │       │   │   │   │   │                   eps=1e-06,
+        │       │   │   │   │   │                   elementwise_affine=True
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               mlp=SwiGLU.Config(
+        │       │   │   │   │   │                   expansion=4.0,
+        │       │   │   │   │   │                   round_to=1,
+        │       │   │   │   │   │                   gate=False,
+        │       │   │   │   │   │                   act=priml.model.swiglu.gelu,
+        │       │   │   │   │   │                   up_proj=Linear.Config(bias=True, init_bias=None),
+        │       │   │   │   │   │                   down_proj=Linear.Config(bias=True, init_bias=None)
+        │       │   │   │   │   │               )
+        │       │   │   │   │   │           )
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       head=ConvNeXtHead.Config(
+        │       │   │   │   │   │           norm=LayerNorm.Config(
+        │       │   │   │   │   │               eps=1e-06,
+        │       │   │   │   │   │               elementwise_affine=True
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           proj_out=Identity.Config()
+        │       │   │   │   │   │       )
+        │       │   │   │   │   │   )
         │       │   │   │   │   ),
@@ -245,2 +247,4 @@
         │       │   │   │       │   features=ImageFeatures.Config(
+        │       │   │   │       │       target_rows=64,
+        │       │   │   │       │       reference_columns=32,
         │       │   │   │       │       channels=[
@@ -334,3 +338,3 @@
         │       │   phase_timer=PhaseTimer.Config(),
-        │       │   max_epochs=300,
+        │       │   max_epochs=1,
         │       │   model_torch_seed=torch.random.manual_seed,
@@ -352,3 +356,3 @@
         │       ),
-        │       cv=GeographicCV.Config(),
+        │       cv=GeographicCV.Config(folds=2, repeats=1),
         │       geography=GeographicPrior.Config(
@@ -375,4 +379,7 @@
         │       │   │   model=SequenceModel.Config(
+        │       │   │   │   channels_hidden=2,
+        │       │   │   │   kernel_size=1,
         │       │   │   │   dropout=0.05,
         │       │   │   │   unet=PosteriorUNet.Config(
+        │       │   │   │   │   channels_hidden=(2, 3, 4, 5),
         │       │   │   │   │   stem=ResidualBlock.Config(
@@ -404,56 +411,54 @@
         │       │   │   │   │   │   network=ConvNeXt.Config(
-        │       │   │   │   │   │   │   blocks_per_stage=(3, 3, 27, 3),
-        │       │   │   │   │   │   │   stem=ConvNeXtStem.Config(
-        │       │   │   │   │   │   │       conv=Conv2d.Config(
-        │       │   │   │   │   │   │           kernel_size=4,
-        │       │   │   │   │   │   │           stride=4,
-        │       │   │   │   │   │   │           padding=0,
-        │       │   │   │   │   │   │           bias=True,
-        │       │   │   │   │   │   │           init_bias=None
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       norm=LayerNorm2d.Config()
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   stage=ConvNeXtStage.Config(
-        │       │   │   │   │   │   │       downsample=Sequential.Config(
-        │       │   │   │   │   │   │           elements=[
-        │       │   │   │   │   │   │               LayerNorm2d.Config(),
-        │       │   │   │   │   │   │               Conv2d.Config(
-        │       │   │   │   │   │   │                   kernel_size=2,
-        │       │   │   │   │   │   │                   stride=2,
-        │       │   │   │   │   │   │                   padding=0,
-        │       │   │   │   │   │   │                   bias=True,
-        │       │   │   │   │   │   │                   init_bias=None
-        │       │   │   │   │   │   │               )
-        │       │   │   │   │   │   │           ]
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       block=ConvNeXtBlock.Config(
-        │       │   │   │   │   │   │           conv_dw=Conv2d.Config(
-        │       │   │   │   │   │   │               kernel_size=7,
-        │       │   │   │   │   │   │               padding=3,
-        │       │   │   │   │   │   │               bias=True,
-        │       │   │   │   │   │   │               init_bias=None
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           norm=LayerNorm.Config(
-        │       │   │   │   │   │   │               eps=1e-06,
-        │       │   │   │   │   │   │               elementwise_affine=True
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           mlp=SwiGLU.Config(
-        │       │   │   │   │   │   │               expansion=4.0,
-        │       │   │   │   │   │   │               round_to=1,
-        │       │   │   │   │   │   │               gate=False,
-        │       │   │   │   │   │   │               act=priml.model.swiglu.gelu,
-        │       │   │   │   │   │   │               up_proj=Linear.Config(bias=True, init_bias=None),
-        │       │   │   │   │   │   │               down_proj=Linear.Config(bias=True, init_bias=None)
-        │       │   │   │   │   │   │           )
-        │       │   │   │   │   │   │       )
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   head=ConvNeXtHead.Config(
-        │       │   │   │   │   │   │       norm=LayerNorm.Config(
-        │       │   │   │   │   │   │           eps=1e-06,
-        │       │   │   │   │   │   │           elementwise_affine=True
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       proj_out=Identity.Config()
-        │       │   │   │   │   │   │   )
-        │       │   │   │   │   │   ),
-        │       │   │   │   │   │   checkpoint='{dataset_directory}/initialization/convnext_small.safetensors'
+        │       │   │   │   │   │       blocks_per_stage=(1, 1, 1, 1),
+        │       │   │   │   │   │       stem=ConvNeXtStem.Config(
+        │       │   │   │   │   │           conv=Conv2d.Config(
+        │       │   │   │   │   │               kernel_size=4,
+        │       │   │   │   │   │               stride=4,
+        │       │   │   │   │   │               padding=0,
+        │       │   │   │   │   │               bias=True,
+        │       │   │   │   │   │               init_bias=None
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           norm=LayerNorm2d.Config()
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       stage=ConvNeXtStage.Config(
+        │       │   │   │   │   │           downsample=Sequential.Config(
+        │       │   │   │   │   │               elements=[
+        │       │   │   │   │   │                   LayerNorm2d.Config(),
+        │       │   │   │   │   │                   Conv2d.Config(
+        │       │   │   │   │   │                       kernel_size=2,
+        │       │   │   │   │   │                       stride=2,
+        │       │   │   │   │   │                       padding=0,
+        │       │   │   │   │   │                       bias=True,
+        │       │   │   │   │   │                       init_bias=None
+        │       │   │   │   │   │                   )
+        │       │   │   │   │   │               ]
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           block=ConvNeXtBlock.Config(
+        │       │   │   │   │   │               conv_dw=Conv2d.Config(
+        │       │   │   │   │   │                   padding=1,
+        │       │   │   │   │   │                   bias=True,
+        │       │   │   │   │   │                   init_bias=None
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               norm=LayerNorm.Config(
+        │       │   │   │   │   │                   eps=1e-06,
+        │       │   │   │   │   │                   elementwise_affine=True
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               mlp=SwiGLU.Config(
+        │       │   │   │   │   │                   expansion=4.0,
+        │       │   │   │   │   │                   round_to=1,
+        │       │   │   │   │   │                   gate=False,
+        │       │   │   │   │   │                   act=priml.model.swiglu.gelu,
+        │       │   │   │   │   │                   up_proj=Linear.Config(bias=True, init_bias=None),
+        │       │   │   │   │   │                   down_proj=Linear.Config(bias=True, init_bias=None)
+        │       │   │   │   │   │               )
+        │       │   │   │   │   │           )
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       head=ConvNeXtHead.Config(
+        │       │   │   │   │   │           norm=LayerNorm.Config(
+        │       │   │   │   │   │               eps=1e-06,
+        │       │   │   │   │   │               elementwise_affine=True
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           proj_out=Identity.Config()
+        │       │   │   │   │   │       )
+        │       │   │   │   │   │   )
         │       │   │   │   │   ),
@@ -613,2 +618,4 @@
         │       │   │   │       │   features=ImageFeatures.Config(
+        │       │   │   │       │       target_rows=64,
+        │       │   │   │       │       reference_columns=32,
         │       │   │   │       │       channels=[
@@ -703,3 +710,3 @@
         │       │   phase_timer=PhaseTimer.Config(),
-        │       │   max_epochs=300,
+        │       │   max_epochs=1,
         │       │   model_torch_seed=torch.random.manual_seed,
@@ -721,3 +728,3 @@
         │       ),
-        │       cv=GeographicCV.Config(),
+        │       cv=GeographicCV.Config(folds=2, repeats=1),
         │       geography=GeographicPrior.Config(
@@ -748,4 +755,7 @@
         │       │   │   model=SequenceModel.Config(
+        │       │   │   │   channels_hidden=2,
+        │       │   │   │   kernel_size=1,
         │       │   │   │   dropout=0.05,
         │       │   │   │   unet=PosteriorUNet.Config(
+        │       │   │   │   │   channels_hidden=(2, 3, 4, 5),
         │       │   │   │   │   stem=ResidualBlock.Config(
@@ -777,56 +787,54 @@
         │       │   │   │   │   │   network=ConvNeXt.Config(
-        │       │   │   │   │   │   │   blocks_per_stage=(3, 3, 27, 3),
-        │       │   │   │   │   │   │   stem=ConvNeXtStem.Config(
-        │       │   │   │   │   │   │       conv=Conv2d.Config(
-        │       │   │   │   │   │   │           kernel_size=4,
-        │       │   │   │   │   │   │           stride=4,
-        │       │   │   │   │   │   │           padding=0,
-        │       │   │   │   │   │   │           bias=True,
-        │       │   │   │   │   │   │           init_bias=None
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       norm=LayerNorm2d.Config()
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   stage=ConvNeXtStage.Config(
-        │       │   │   │   │   │   │       downsample=Sequential.Config(
-        │       │   │   │   │   │   │           elements=[
-        │       │   │   │   │   │   │               LayerNorm2d.Config(),
-        │       │   │   │   │   │   │               Conv2d.Config(
-        │       │   │   │   │   │   │                   kernel_size=2,
-        │       │   │   │   │   │   │                   stride=2,
-        │       │   │   │   │   │   │                   padding=0,
-        │       │   │   │   │   │   │                   bias=True,
-        │       │   │   │   │   │   │                   init_bias=None
-        │       │   │   │   │   │   │               )
-        │       │   │   │   │   │   │           ]
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       block=ConvNeXtBlock.Config(
-        │       │   │   │   │   │   │           conv_dw=Conv2d.Config(
-        │       │   │   │   │   │   │               kernel_size=7,
-        │       │   │   │   │   │   │               padding=3,
-        │       │   │   │   │   │   │               bias=True,
-        │       │   │   │   │   │   │               init_bias=None
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           norm=LayerNorm.Config(
-        │       │   │   │   │   │   │               eps=1e-06,
-        │       │   │   │   │   │   │               elementwise_affine=True
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           mlp=SwiGLU.Config(
-        │       │   │   │   │   │   │               expansion=4.0,
-        │       │   │   │   │   │   │               round_to=1,
-        │       │   │   │   │   │   │               gate=False,
-        │       │   │   │   │   │   │               act=priml.model.swiglu.gelu,
-        │       │   │   │   │   │   │               up_proj=Linear.Config(bias=True, init_bias=None),
-        │       │   │   │   │   │   │               down_proj=Linear.Config(bias=True, init_bias=None)
-        │       │   │   │   │   │   │           )
-        │       │   │   │   │   │   │       )
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   head=ConvNeXtHead.Config(
-        │       │   │   │   │   │   │       norm=LayerNorm.Config(
-        │       │   │   │   │   │   │           eps=1e-06,
-        │       │   │   │   │   │   │           elementwise_affine=True
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       proj_out=Identity.Config()
-        │       │   │   │   │   │   │   )
-        │       │   │   │   │   │   ),
-        │       │   │   │   │   │   checkpoint='{dataset_directory}/initialization/convnext_small.safetensors'
+        │       │   │   │   │   │       blocks_per_stage=(1, 1, 1, 1),
+        │       │   │   │   │   │       stem=ConvNeXtStem.Config(
+        │       │   │   │   │   │           conv=Conv2d.Config(
+        │       │   │   │   │   │               kernel_size=4,
+        │       │   │   │   │   │               stride=4,
+        │       │   │   │   │   │               padding=0,
+        │       │   │   │   │   │               bias=True,
+        │       │   │   │   │   │               init_bias=None
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           norm=LayerNorm2d.Config()
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       stage=ConvNeXtStage.Config(
+        │       │   │   │   │   │           downsample=Sequential.Config(
+        │       │   │   │   │   │               elements=[
+        │       │   │   │   │   │                   LayerNorm2d.Config(),
+        │       │   │   │   │   │                   Conv2d.Config(
+        │       │   │   │   │   │                       kernel_size=2,
+        │       │   │   │   │   │                       stride=2,
+        │       │   │   │   │   │                       padding=0,
+        │       │   │   │   │   │                       bias=True,
+        │       │   │   │   │   │                       init_bias=None
+        │       │   │   │   │   │                   )
+        │       │   │   │   │   │               ]
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           block=ConvNeXtBlock.Config(
+        │       │   │   │   │   │               conv_dw=Conv2d.Config(
+        │       │   │   │   │   │                   padding=1,
+        │       │   │   │   │   │                   bias=True,
+        │       │   │   │   │   │                   init_bias=None
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               norm=LayerNorm.Config(
+        │       │   │   │   │   │                   eps=1e-06,
+        │       │   │   │   │   │                   elementwise_affine=True
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               mlp=SwiGLU.Config(
+        │       │   │   │   │   │                   expansion=4.0,
+        │       │   │   │   │   │                   round_to=1,
+        │       │   │   │   │   │                   gate=False,
+        │       │   │   │   │   │                   act=priml.model.swiglu.gelu,
+        │       │   │   │   │   │                   up_proj=Linear.Config(bias=True, init_bias=None),
+        │       │   │   │   │   │                   down_proj=Linear.Config(bias=True, init_bias=None)
+        │       │   │   │   │   │               )
+        │       │   │   │   │   │           )
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       head=ConvNeXtHead.Config(
+        │       │   │   │   │   │           norm=LayerNorm.Config(
+        │       │   │   │   │   │               eps=1e-06,
+        │       │   │   │   │   │               elementwise_affine=True
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           proj_out=Identity.Config()
+        │       │   │   │   │   │       )
+        │       │   │   │   │   │   )
         │       │   │   │   │   ),
@@ -987,2 +995,4 @@
         │       │   │   │       │   features=ImageFeatures.Config(
+        │       │   │   │       │       target_rows=64,
+        │       │   │   │       │       reference_columns=32,
         │       │   │   │       │       channels=[
@@ -1083,3 +1093,3 @@
         │       │   phase_timer=PhaseTimer.Config(),
-        │       │   max_epochs=200,
+        │       │   max_epochs=1,
         │       │   model_torch_seed=torch.random.manual_seed,
@@ -1101,3 +1111,7 @@
         │       ),
-        │       cv=GeographicCV.Config(split_seed=2_233),
+        │       cv=GeographicCV.Config(
+        │           folds=2,
+        │           repeats=1,
+        │           split_seed=2_233
+        │       ),
         │       geography=GeographicPrior.Config(
@@ -1107,2 +1121,5 @@
         │       particle=ParticlePrior.Config(
+        │           particles=3,
+        │           seeds=5,
+        │           paths=2,
         │           profiles=[
@@ -1164,3 +1181,6 @@
         │       │   │   model=SequenceModel.Config(
+        │       │   │   │   channels_hidden=2,
+        │       │   │   │   kernel_size=1,
         │       │   │   │   unet=PosteriorUNet.Config(
+        │       │   │   │   │   channels_hidden=(2, 3, 4, 5),
         │       │   │   │   │   stem=ResidualBlock.Config(
@@ -1192,56 +1212,54 @@
         │       │   │   │   │   │   network=ConvNeXt.Config(
-        │       │   │   │   │   │   │   blocks_per_stage=(3, 3, 27, 3),
-        │       │   │   │   │   │   │   stem=ConvNeXtStem.Config(
-        │       │   │   │   │   │   │       conv=Conv2d.Config(
-        │       │   │   │   │   │   │           kernel_size=4,
-        │       │   │   │   │   │   │           stride=4,
-        │       │   │   │   │   │   │           padding=0,
-        │       │   │   │   │   │   │           bias=True,
-        │       │   │   │   │   │   │           init_bias=None
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       norm=LayerNorm2d.Config()
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   stage=ConvNeXtStage.Config(
-        │       │   │   │   │   │   │       downsample=Sequential.Config(
-        │       │   │   │   │   │   │           elements=[
-        │       │   │   │   │   │   │               LayerNorm2d.Config(),
-        │       │   │   │   │   │   │               Conv2d.Config(
-        │       │   │   │   │   │   │                   kernel_size=2,
-        │       │   │   │   │   │   │                   stride=2,
-        │       │   │   │   │   │   │                   padding=0,
-        │       │   │   │   │   │   │                   bias=True,
-        │       │   │   │   │   │   │                   init_bias=None
-        │       │   │   │   │   │   │               )
-        │       │   │   │   │   │   │           ]
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       block=ConvNeXtBlock.Config(
-        │       │   │   │   │   │   │           conv_dw=Conv2d.Config(
-        │       │   │   │   │   │   │               kernel_size=7,
-        │       │   │   │   │   │   │               padding=3,
-        │       │   │   │   │   │   │               bias=True,
-        │       │   │   │   │   │   │               init_bias=None
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           norm=LayerNorm.Config(
-        │       │   │   │   │   │   │               eps=1e-06,
-        │       │   │   │   │   │   │               elementwise_affine=True
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           mlp=SwiGLU.Config(
-        │       │   │   │   │   │   │               expansion=4.0,
-        │       │   │   │   │   │   │               round_to=1,
-        │       │   │   │   │   │   │               gate=False,
-        │       │   │   │   │   │   │               act=priml.model.swiglu.gelu,
-        │       │   │   │   │   │   │               up_proj=Linear.Config(bias=True, init_bias=None),
-        │       │   │   │   │   │   │               down_proj=Linear.Config(bias=True, init_bias=None)
-        │       │   │   │   │   │   │           )
-        │       │   │   │   │   │   │       )
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   head=ConvNeXtHead.Config(
-        │       │   │   │   │   │   │       norm=LayerNorm.Config(
-        │       │   │   │   │   │   │           eps=1e-06,
-        │       │   │   │   │   │   │           elementwise_affine=True
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       proj_out=Identity.Config()
-        │       │   │   │   │   │   │   )
-        │       │   │   │   │   │   ),
-        │       │   │   │   │   │   checkpoint='{dataset_directory}/initialization/convnext_small.safetensors'
+        │       │   │   │   │   │       blocks_per_stage=(1, 1, 1, 1),
+        │       │   │   │   │   │       stem=ConvNeXtStem.Config(
+        │       │   │   │   │   │           conv=Conv2d.Config(
+        │       │   │   │   │   │               kernel_size=4,
+        │       │   │   │   │   │               stride=4,
+        │       │   │   │   │   │               padding=0,
+        │       │   │   │   │   │               bias=True,
+        │       │   │   │   │   │               init_bias=None
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           norm=LayerNorm2d.Config()
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       stage=ConvNeXtStage.Config(
+        │       │   │   │   │   │           downsample=Sequential.Config(
+        │       │   │   │   │   │               elements=[
+        │       │   │   │   │   │                   LayerNorm2d.Config(),
+        │       │   │   │   │   │                   Conv2d.Config(
+        │       │   │   │   │   │                       kernel_size=2,
+        │       │   │   │   │   │                       stride=2,
+        │       │   │   │   │   │                       padding=0,
+        │       │   │   │   │   │                       bias=True,
+        │       │   │   │   │   │                       init_bias=None
+        │       │   │   │   │   │                   )
+        │       │   │   │   │   │               ]
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           block=ConvNeXtBlock.Config(
+        │       │   │   │   │   │               conv_dw=Conv2d.Config(
+        │       │   │   │   │   │                   padding=1,
+        │       │   │   │   │   │                   bias=True,
+        │       │   │   │   │   │                   init_bias=None
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               norm=LayerNorm.Config(
+        │       │   │   │   │   │                   eps=1e-06,
+        │       │   │   │   │   │                   elementwise_affine=True
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               mlp=SwiGLU.Config(
+        │       │   │   │   │   │                   expansion=4.0,
+        │       │   │   │   │   │                   round_to=1,
+        │       │   │   │   │   │                   gate=False,
+        │       │   │   │   │   │                   act=priml.model.swiglu.gelu,
+        │       │   │   │   │   │                   up_proj=Linear.Config(bias=True, init_bias=None),
+        │       │   │   │   │   │                   down_proj=Linear.Config(bias=True, init_bias=None)
+        │       │   │   │   │   │               )
+        │       │   │   │   │   │           )
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       head=ConvNeXtHead.Config(
+        │       │   │   │   │   │           norm=LayerNorm.Config(
+        │       │   │   │   │   │               eps=1e-06,
+        │       │   │   │   │   │               elementwise_affine=True
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           proj_out=Identity.Config()
+        │       │   │   │   │   │       )
+        │       │   │   │   │   │   )
         │       │   │   │   │   ),
@@ -1401,2 +1419,4 @@
         │       │   │   │       │   features=ImageFeatures.Config(
+        │       │   │   │       │       target_rows=64,
+        │       │   │   │       │       reference_columns=32,
         │       │   │   │       │       channels=[
@@ -1488,3 +1508,3 @@
         │       │   phase_timer=PhaseTimer.Config(),
-        │       │   max_epochs=300,
+        │       │   max_epochs=1,
         │       │   model_torch_seed=torch.random.manual_seed,
@@ -1506,3 +1526,7 @@
         │       ),
-        │       cv=GeographicCV.Config(split_seed=42),
+        │       cv=GeographicCV.Config(
+        │           folds=2,
+        │           repeats=1,
+        │           split_seed=42
+        │       ),
         │       geography=GeographicPrior.Config(
@@ -1525,3 +1549,6 @@
         │       │   │   model=SequenceModel.Config(
+        │       │   │   │   channels_hidden=2,
+        │       │   │   │   kernel_size=1,
         │       │   │   │   unet=PosteriorUNet.Config(
+        │       │   │   │   │   channels_hidden=(2, 3, 4, 5),
         │       │   │   │   │   stem=ResidualBlock.Config(
@@ -1553,56 +1580,54 @@
         │       │   │   │   │   │   network=ConvNeXt.Config(
-        │       │   │   │   │   │   │   blocks_per_stage=(3, 3, 27, 3),
-        │       │   │   │   │   │   │   stem=ConvNeXtStem.Config(
-        │       │   │   │   │   │   │       conv=Conv2d.Config(
-        │       │   │   │   │   │   │           kernel_size=4,
-        │       │   │   │   │   │   │           stride=4,
-        │       │   │   │   │   │   │           padding=0,
-        │       │   │   │   │   │   │           bias=True,
-        │       │   │   │   │   │   │           init_bias=None
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       norm=LayerNorm2d.Config()
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   stage=ConvNeXtStage.Config(
-        │       │   │   │   │   │   │       downsample=Sequential.Config(
-        │       │   │   │   │   │   │           elements=[
-        │       │   │   │   │   │   │               LayerNorm2d.Config(),
-        │       │   │   │   │   │   │               Conv2d.Config(
-        │       │   │   │   │   │   │                   kernel_size=2,
-        │       │   │   │   │   │   │                   stride=2,
-        │       │   │   │   │   │   │                   padding=0,
-        │       │   │   │   │   │   │                   bias=True,
-        │       │   │   │   │   │   │                   init_bias=None
-        │       │   │   │   │   │   │               )
-        │       │   │   │   │   │   │           ]
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       block=ConvNeXtBlock.Config(
-        │       │   │   │   │   │   │           conv_dw=Conv2d.Config(
-        │       │   │   │   │   │   │               kernel_size=7,
-        │       │   │   │   │   │   │               padding=3,
-        │       │   │   │   │   │   │               bias=True,
-        │       │   │   │   │   │   │               init_bias=None
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           norm=LayerNorm.Config(
-        │       │   │   │   │   │   │               eps=1e-06,
-        │       │   │   │   │   │   │               elementwise_affine=True
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           mlp=SwiGLU.Config(
-        │       │   │   │   │   │   │               expansion=4.0,
-        │       │   │   │   │   │   │               round_to=1,
-        │       │   │   │   │   │   │               gate=False,
-        │       │   │   │   │   │   │               act=priml.model.swiglu.gelu,
-        │       │   │   │   │   │   │               up_proj=Linear.Config(bias=True, init_bias=None),
-        │       │   │   │   │   │   │               down_proj=Linear.Config(bias=True, init_bias=None)
-        │       │   │   │   │   │   │           )
-        │       │   │   │   │   │   │       )
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   head=ConvNeXtHead.Config(
-        │       │   │   │   │   │   │       norm=LayerNorm.Config(
-        │       │   │   │   │   │   │           eps=1e-06,
-        │       │   │   │   │   │   │           elementwise_affine=True
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       proj_out=Identity.Config()
-        │       │   │   │   │   │   │   )
-        │       │   │   │   │   │   ),
-        │       │   │   │   │   │   checkpoint='{dataset_directory}/initialization/convnext_small.safetensors'
+        │       │   │   │   │   │       blocks_per_stage=(1, 1, 1, 1),
+        │       │   │   │   │   │       stem=ConvNeXtStem.Config(
+        │       │   │   │   │   │           conv=Conv2d.Config(
+        │       │   │   │   │   │               kernel_size=4,
+        │       │   │   │   │   │               stride=4,
+        │       │   │   │   │   │               padding=0,
+        │       │   │   │   │   │               bias=True,
+        │       │   │   │   │   │               init_bias=None
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           norm=LayerNorm2d.Config()
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       stage=ConvNeXtStage.Config(
+        │       │   │   │   │   │           downsample=Sequential.Config(
+        │       │   │   │   │   │               elements=[
+        │       │   │   │   │   │                   LayerNorm2d.Config(),
+        │       │   │   │   │   │                   Conv2d.Config(
+        │       │   │   │   │   │                       kernel_size=2,
+        │       │   │   │   │   │                       stride=2,
+        │       │   │   │   │   │                       padding=0,
+        │       │   │   │   │   │                       bias=True,
+        │       │   │   │   │   │                       init_bias=None
+        │       │   │   │   │   │                   )
+        │       │   │   │   │   │               ]
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           block=ConvNeXtBlock.Config(
+        │       │   │   │   │   │               conv_dw=Conv2d.Config(
+        │       │   │   │   │   │                   padding=1,
+        │       │   │   │   │   │                   bias=True,
+        │       │   │   │   │   │                   init_bias=None
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               norm=LayerNorm.Config(
+        │       │   │   │   │   │                   eps=1e-06,
+        │       │   │   │   │   │                   elementwise_affine=True
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               mlp=SwiGLU.Config(
+        │       │   │   │   │   │                   expansion=4.0,
+        │       │   │   │   │   │                   round_to=1,
+        │       │   │   │   │   │                   gate=False,
+        │       │   │   │   │   │                   act=priml.model.swiglu.gelu,
+        │       │   │   │   │   │                   up_proj=Linear.Config(bias=True, init_bias=None),
+        │       │   │   │   │   │                   down_proj=Linear.Config(bias=True, init_bias=None)
+        │       │   │   │   │   │               )
+        │       │   │   │   │   │           )
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       head=ConvNeXtHead.Config(
+        │       │   │   │   │   │           norm=LayerNorm.Config(
+        │       │   │   │   │   │               eps=1e-06,
+        │       │   │   │   │   │               elementwise_affine=True
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           proj_out=Identity.Config()
+        │       │   │   │   │   │       )
+        │       │   │   │   │   │   )
         │       │   │   │   │   ),
@@ -1762,2 +1787,4 @@
         │       │   │   │       │   features=ImageFeatures.Config(
+        │       │   │   │       │       target_rows=64,
+        │       │   │   │       │       reference_columns=32,
         │       │   │   │       │       channels=[
@@ -1849,3 +1876,3 @@
         │       │   phase_timer=PhaseTimer.Config(),
-        │       │   max_epochs=300,
+        │       │   max_epochs=1,
         │       │   model_torch_seed=torch.random.manual_seed,
@@ -1867,3 +1894,7 @@
         │       ),
-        │       cv=GeographicCV.Config(split_seed=42),
+        │       cv=GeographicCV.Config(
+        │           folds=2,
+        │           repeats=1,
+        │           split_seed=42
+        │       ),
         │       geography=GeographicPrior.Config(
@@ -1885,3 +1916,6 @@
         │       │   │   model=SequenceModel.Config(
+        │       │   │   │   channels_hidden=2,
+        │       │   │   │   kernel_size=1,
         │       │   │   │   unet=PosteriorUNet.Config(
+        │       │   │   │   │   channels_hidden=(2, 3, 4, 5),
         │       │   │   │   │   stem=ResidualBlock.Config(
@@ -1913,56 +1947,54 @@
         │       │   │   │   │   │   network=ConvNeXt.Config(
-        │       │   │   │   │   │   │   blocks_per_stage=(3, 3, 27, 3),
-        │       │   │   │   │   │   │   stem=ConvNeXtStem.Config(
-        │       │   │   │   │   │   │       conv=Conv2d.Config(
-        │       │   │   │   │   │   │           kernel_size=4,
-        │       │   │   │   │   │   │           stride=4,
-        │       │   │   │   │   │   │           padding=0,
-        │       │   │   │   │   │   │           bias=True,
-        │       │   │   │   │   │   │           init_bias=None
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       norm=LayerNorm2d.Config()
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   stage=ConvNeXtStage.Config(
-        │       │   │   │   │   │   │       downsample=Sequential.Config(
-        │       │   │   │   │   │   │           elements=[
-        │       │   │   │   │   │   │               LayerNorm2d.Config(),
-        │       │   │   │   │   │   │               Conv2d.Config(
-        │       │   │   │   │   │   │                   kernel_size=2,
-        │       │   │   │   │   │   │                   stride=2,
-        │       │   │   │   │   │   │                   padding=0,
-        │       │   │   │   │   │   │                   bias=True,
-        │       │   │   │   │   │   │                   init_bias=None
-        │       │   │   │   │   │   │               )
-        │       │   │   │   │   │   │           ]
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       block=ConvNeXtBlock.Config(
-        │       │   │   │   │   │   │           conv_dw=Conv2d.Config(
-        │       │   │   │   │   │   │               kernel_size=7,
-        │       │   │   │   │   │   │               padding=3,
-        │       │   │   │   │   │   │               bias=True,
-        │       │   │   │   │   │   │               init_bias=None
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           norm=LayerNorm.Config(
-        │       │   │   │   │   │   │               eps=1e-06,
-        │       │   │   │   │   │   │               elementwise_affine=True
-        │       │   │   │   │   │   │           ),
-        │       │   │   │   │   │   │           mlp=SwiGLU.Config(
-        │       │   │   │   │   │   │               expansion=4.0,
-        │       │   │   │   │   │   │               round_to=1,
-        │       │   │   │   │   │   │               gate=False,
-        │       │   │   │   │   │   │               act=priml.model.swiglu.gelu,
-        │       │   │   │   │   │   │               up_proj=Linear.Config(bias=True, init_bias=None),
-        │       │   │   │   │   │   │               down_proj=Linear.Config(bias=True, init_bias=None)
-        │       │   │   │   │   │   │           )
-        │       │   │   │   │   │   │       )
-        │       │   │   │   │   │   │   ),
-        │       │   │   │   │   │   │   head=ConvNeXtHead.Config(
-        │       │   │   │   │   │   │       norm=LayerNorm.Config(
-        │       │   │   │   │   │   │           eps=1e-06,
-        │       │   │   │   │   │   │           elementwise_affine=True
-        │       │   │   │   │   │   │       ),
-        │       │   │   │   │   │   │       proj_out=Identity.Config()
-        │       │   │   │   │   │   │   )
-        │       │   │   │   │   │   ),
-        │       │   │   │   │   │   checkpoint='{dataset_directory}/initialization/convnext_small.safetensors'
+        │       │   │   │   │   │       blocks_per_stage=(1, 1, 1, 1),
+        │       │   │   │   │   │       stem=ConvNeXtStem.Config(
+        │       │   │   │   │   │           conv=Conv2d.Config(
+        │       │   │   │   │   │               kernel_size=4,
+        │       │   │   │   │   │               stride=4,
+        │       │   │   │   │   │               padding=0,
+        │       │   │   │   │   │               bias=True,
+        │       │   │   │   │   │               init_bias=None
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           norm=LayerNorm2d.Config()
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       stage=ConvNeXtStage.Config(
+        │       │   │   │   │   │           downsample=Sequential.Config(
+        │       │   │   │   │   │               elements=[
+        │       │   │   │   │   │                   LayerNorm2d.Config(),
+        │       │   │   │   │   │                   Conv2d.Config(
+        │       │   │   │   │   │                       kernel_size=2,
+        │       │   │   │   │   │                       stride=2,
+        │       │   │   │   │   │                       padding=0,
+        │       │   │   │   │   │                       bias=True,
+        │       │   │   │   │   │                       init_bias=None
+        │       │   │   │   │   │                   )
+        │       │   │   │   │   │               ]
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           block=ConvNeXtBlock.Config(
+        │       │   │   │   │   │               conv_dw=Conv2d.Config(
+        │       │   │   │   │   │                   padding=1,
+        │       │   │   │   │   │                   bias=True,
+        │       │   │   │   │   │                   init_bias=None
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               norm=LayerNorm.Config(
+        │       │   │   │   │   │                   eps=1e-06,
+        │       │   │   │   │   │                   elementwise_affine=True
+        │       │   │   │   │   │               ),
+        │       │   │   │   │   │               mlp=SwiGLU.Config(
+        │       │   │   │   │   │                   expansion=4.0,
+        │       │   │   │   │   │                   round_to=1,
+        │       │   │   │   │   │                   gate=False,
+        │       │   │   │   │   │                   act=priml.model.swiglu.gelu,
+        │       │   │   │   │   │                   up_proj=Linear.Config(bias=True, init_bias=None),
+        │       │   │   │   │   │                   down_proj=Linear.Config(bias=True, init_bias=None)
+        │       │   │   │   │   │               )
+        │       │   │   │   │   │           )
+        │       │   │   │   │   │       ),
+        │       │   │   │   │   │       head=ConvNeXtHead.Config(
+        │       │   │   │   │   │           norm=LayerNorm.Config(
+        │       │   │   │   │   │               eps=1e-06,
+        │       │   │   │   │   │               elementwise_affine=True
+        │       │   │   │   │   │           ),
+        │       │   │   │   │   │           proj_out=Identity.Config()
+        │       │   │   │   │   │       )
+        │       │   │   │   │   │   )
         │       │   │   │   │   ),
@@ -2123,2 +2155,4 @@
         │       │   │   │       │   features=ImageFeatures.Config(
+        │       │   │   │       │       target_rows=64,
+        │       │   │   │       │       reference_columns=32,
         │       │   │   │       │       channels=[
@@ -2218,3 +2252,3 @@
         │       │   phase_timer=PhaseTimer.Config(),
-        │       │   max_epochs=200,
+        │       │   max_epochs=1,
         │       │   model_torch_seed=torch.random.manual_seed,
@@ -2236,3 +2270,7 @@
         │       ),
-        │       cv=GeographicCV.Config(split_seed=42),
+        │       cv=GeographicCV.Config(
+        │           folds=2,
+        │           repeats=1,
+        │           split_seed=42
+        │       ),
         │       geography=GeographicPrior.Config(
@@ -2242,2 +2280,5 @@
         │       particle=ParticlePrior.Config(
+        │           particles=3,
+        │           seeds=5,
+        │           paths=2,
         │           profiles=[
