the * in front if the input allows for a variable number of arguments as seen here:

def myfun(*inputs):
    print(inputs)

# single input
myfun(torch.tensor(1))
> (tensor(1),)

# list input
myfun([torch.tensor(1), torch.tensor(1)])
> ([tensor(1), tensor(1)],)

# multiple inputs
myfun(torch.tensor(1), torch.tensor(1))
> (tensor(1), tensor(1))


The linear layer will have a weight parameter in the shape [4, 8] and an input in the shape [8, 64] will raise a shape mismatch error, since 8 input features are expected.