| from .unet import UNet | |
| from .unetex import UNetEx | |
| def build_model(config): | |
| name = config["name"] if isinstance(config, dict) else config.name | |
| model_map = { | |
| "UNet": UNet, | |
| "UNetEx": UNetEx, | |
| } | |
| if name not in model_map: | |
| raise ValueError(f"Unknown DeepCFD model: {name}") | |
| get = config.get if isinstance(config, dict) else lambda key, default=None: getattr(config, key, default) | |
| return model_map[name]( | |
| in_channels=get("in_channels"), | |
| out_channels=get("out_channels"), | |
| base_channels=get("base_channels", 16), | |
| num_stages=get("num_stages", 2), | |
| bilinear=get("bilinear", True), | |
| normtype=get("normtype", "bn"), | |
| kernel_size=get("kernel_size", 3), | |
| ) | |