pyhazards.models package

Submodules

pyhazards.models.backbones module

class pyhazards.models.backbones.CNNPatchEncoder(in_channels=3, hidden_dim=64)[source]

Bases: Module

Lightweight CNN encoder for raster patches.

forward(x)[source]
class pyhazards.models.backbones.MLPBackbone(input_dim, hidden_dim=256, depth=2)[source]

Bases: Module

Simple MLP for tabular features.

forward(x)[source]
class pyhazards.models.backbones.TemporalEncoder(input_dim, hidden_dim=128, num_layers=1)[source]

Bases: Module

GRU-based encoder for time-series signals.

forward(x)[source]

pyhazards.models.heads module

class pyhazards.models.heads.ClassificationHead(in_dim, num_classes)[source]

Bases: Module

Simple classification head.

forward(x)[source]
class pyhazards.models.heads.RegressionHead(in_dim, out_dim=1)[source]

Bases: Module

Regression head for scalar or multi-target outputs.

forward(x)[source]
class pyhazards.models.heads.SegmentationHead(in_channels, num_classes)[source]

Bases: Module

Segmentation head for raster masks.

forward(x)[source]

pyhazards.models.builder module

pyhazards.models.builder.build_model(name, task, **kwargs)[source]

Build a model by name and task. This delegates to registry metadata to keep a consistent interface.

Return type:

Module

pyhazards.models.builder.default_builder(name, task, **kwargs)[source]

Generic builder for standard backbones + heads.

Return type:

Module

pyhazards.models.registry module

pyhazards.models.registry.available_models()[source]
pyhazards.models.registry.get_model_config(name)[source]
Return type:

Optional[Dict[str, Any]]

pyhazards.models.registry.register_model(name, builder, defaults=None)[source]
Return type:

None

Module contents

class pyhazards.models.CNNPatchEncoder(in_channels=3, hidden_dim=64)[source]

Bases: Module

Lightweight CNN encoder for raster patches.

forward(x)[source]
class pyhazards.models.ClassificationHead(in_dim, num_classes)[source]

Bases: Module

Simple classification head.

forward(x)[source]
class pyhazards.models.MLPBackbone(input_dim, hidden_dim=256, depth=2)[source]

Bases: Module

Simple MLP for tabular features.

forward(x)[source]
class pyhazards.models.RegressionHead(in_dim, out_dim=1)[source]

Bases: Module

Regression head for scalar or multi-target outputs.

forward(x)[source]
class pyhazards.models.SegmentationHead(in_channels, num_classes)[source]

Bases: Module

Segmentation head for raster masks.

forward(x)[source]
class pyhazards.models.TemporalEncoder(input_dim, hidden_dim=128, num_layers=1)[source]

Bases: Module

GRU-based encoder for time-series signals.

forward(x)[source]
class pyhazards.models.TverskyLoss(alpha=0.5, beta=0.5, smooth=1e-06, from_logits=True)[source]

Bases: Module

Tversky loss for binary segmentation.

forward(logits, targets)[source]
Return type:

Tensor

class pyhazards.models.WildfireASPP(in_channels=12, base_channels=32, aspp_channels=32, dilations=(1, 3, 6, 12), dropout=0.0)[source]

Bases: WildfireCNNASPP

Backward-compatible name for the CNN + ASPP wildfire model.

class pyhazards.models.WildfireCNNASPP(in_channels=12, base_channels=32, aspp_channels=32, dilations=(1, 3, 6, 12), dropout=0.0)[source]

Bases: Module

CNN + ASPP wildfire segmentation model.

Input:

x : (B, C, H, W) float tensor

Output:

logits : (B, 1, H, W) float tensor (sigmoid applied externally)

forward(x)[source]
Return type:

Tensor

class pyhazards.models.WildfireMamba(in_dim, num_counties, past_days, hidden_dim=128, gcn_hidden=64, mamba_layers=2, state_dim=64, conv_kernel=5, dropout=0.1, adjacency=None, with_count_head=False)[source]

Bases: Module

Mamba-based spatio-temporal wildfire model for county-day ERA5 features.

Input shape: (batch, past_days, num_counties, num_features) Output: logits per county for the next day (use sigmoid for probabilities)

_get_adjacency(batch_size)[source]
Return type:

Tensor

static _temporal_delta(x)[source]
Return type:

Tensor

forward(x, adjacency=None)[source]
Parameters:
  • x (Tensor) – Tensor shaped (batch, past_days, num_counties, in_dim)

  • adjacency (Optional[Tensor]) – Optional (N, N) or (B, N, N) adjacency override.

Returns:

(batch, num_counties) - optional counts: (batch, num_counties) if with_count_head is enabled.

Return type:

  • logits

set_adjacency(adj)[source]

Set/override the spatial adjacency.

Return type:

None

pyhazards.models.available_models()[source]
pyhazards.models.build_model(name, task, **kwargs)[source]

Build a model by name and task. This delegates to registry metadata to keep a consistent interface.

Return type:

Module

pyhazards.models.cnn_aspp_builder(task, in_channels=12, base_channels=32, aspp_channels=32, dilations=(1, 3, 6, 12), dropout=0.0, **kwargs)[source]

PyHazards-style model builder.

Return type:

Module

pyhazards.models.register_model(name, builder, defaults=None)[source]
Return type:

None

pyhazards.models.wildfire_aspp_builder(*args, **kwargs)[source]
Return type:

Module

pyhazards.models.wildfire_mamba_builder(task, in_dim, num_counties, past_days, **kwargs)[source]

Builder used by the model registry.

Return type:

WildfireMamba