The model output wouldn’t necessarily need to change for the mentioned use cases, but the loss functions and targets.
E.g. if you would like to predict N floating point values, your model could output a tensor in the shape [batch_size, N] and you could use e.g. nn.MSELoss for this regression task.
On the other hand, if your would like to output N labels, where zero, one, or multiple classes could use active, you could stick to the output shape and use nn.BCEWithLogitsLoss instead as the criterion.