{ "model_name": "DOFA", "model_type": "dofa", "architectures": [ "DOFA" ], "framework": "PyTorch", "domain": "earth-observation", "task": "multisensor-masked-image-modeling", "implementation": { "entry_point": "model/dofa.py", "scope": "wavelength-conditioned dynamic patch embedding and reconstruction for variable-channel Earth-observation imagery", "train_script": "scripts/train.py", "inference_script": "scripts/inference.py", "evaluation_script": "scripts/result.py", "synthetic_data_script": "scripts/fake_data.py" }, "architecture": { "family": "wavelength-conditioned masked autoencoder", "image_size": 224, "patch_size": 16, "num_patches": 196, "embed_dim": 32, "encoder_depth": 1, "encoder_heads": 4, "decoder_dim": 24, "decoder_depth": 1, "decoder_heads": 4, "wavelength_embed_dim": 16, "hypernetwork_heads": 4, "mask_ratio": 0.75, "dynamic_components": [ "encoder patch weights", "encoder patch bias", "decoder reconstruction weights", "decoder reconstruction bias" ] }, "data": { "datasets": [ "Sentinel-1", "Sentinel-2", "NAIP", "EnMAP", "Gaofen" ], "protocol": "dofa_multisensor_npz_v1", "format": "NPZ", "image_key": "images", "image_shape": [ "N", "C", 224, 224 ], "wavelength_key": "wavelengths", "wavelength_shape": [ "C" ], "required_metadata": [ "modality", "protocol" ], "provenance_and_metric_metadata": [ "data_source", "data_range", "wavelength_mode" ], "modalities": { "sentinel1": { "channels": 2, "wavelengths": [3.5, 4.0] }, "sentinel2": { "channels": 9, "wavelengths": [0.443, 0.49, 0.56, 0.665, 0.705, 0.74, 0.783, 0.842, 1.61] }, "naip": { "channels": 3, "wavelengths": [0.49, 0.56, 0.665] }, "gaofen": { "channels": 4, "wavelengths": [0.49, 0.56, 0.665, 0.83] }, "enmap": { "channels": 202, "wavelength_mode": "synthetic_uniform", "wavelength_start": 0.42, "wavelength_step": 0.006 } }, "default_data_range": 1.0, "default_file_pattern": "data/{split}_{modality}.npz" }, "configuration_sources": [ "conf/config.yaml", "model/dofa.py", "scripts/fake_data.py", "scripts/train.py", "scripts/inference.py", "scripts/result.py" ] }