from typing import * import itertools import torch from torch import nn class MLP(nn.Sequential): def __init__(self, dims: Sequence[int]): nn.Sequential.__init__(self, *itertools.chain(*[ (nn.Linear(dim_in, dim_out), nn.ReLU(inplace=True)) for dim_in, dim_out in zip(dims[:-2], dims[1:-1]) ]), nn.Linear(dims[-2], dims[-1]), )