Given a list of activation functions from torch.nn.Functional, this is how I would approach the problem…
import torch
import torch.nn as nn
import torch.nn.functional as F

class LinearCombo(nn.Module):
    def __init__(self, activations):
        super(LinearCombo, self).__init__()
        self.activations = activations
        self.linear_combo = nn.Linear(len(activations), 1)

    def forward(self, data):
        activated = [activation(data) for activation in self.activations]
        activated_tensor = torch.stack(activated, data.dim())
        linear_combo = self.linear_combo(activated_tensor)
        return linear_combo.squeeze(data.dim())

The above code could be modified to accept instances of classes derived from nn.Module, such as nn.ELU().