All samples in a batch will be processed at once and most of the layers are using dim0 as the batch dimension.
Your input would thus be [batch_size, channels, height, width] and each output would also have the batch dimension in dim0. Note that recurrent layers such as nn.LSTM have a different default shape, but that’s not relevant for your use case.
If you are using a DataLoader, both the data and target should be returned as a complete batch.
Let me know, if that helps or if you got stuck somewhere.