unet_chemical_map / src /models /ensemble_model.py
Sm00thix's picture
Initial upload of source and weights
78a947a
"""
Contains an implementation of a Module that averages the outputs of multiple models.
This can be used to construct an ensemble of models.
Author: Ole-Christian Galbo Engstrøm
E-mail: ocge@foss.dk
"""
import torch
import torch.nn as nn
class EnsembleModel(nn.Module):
def __init__(self, *models):
super(EnsembleModel, self).__init__()
self.models = nn.ModuleList(models)
def forward(self, x):
outputs = torch.stack([model(x) for model in self.models])
return torch.mean(outputs, axis=0) # Average the outputs of all models