First up I would recommend using square images if possible. For example 224 x 224.
On how to train on your gpu with a specific batch size:
When defining a dataloader you can specify a batch size like so:
batch_size = 96
train_loader = torch.utils.data.DataLoader(train_set, batch_size=batch_size, 
                                           shuffle=True, num_workers=workers)

In the training loop you can then get your individual batches by doing something like:
device = torch.device('cuda:0')
for epoch in range(n_epochs):
    """training loop for all epochs"""
    for i, data in enumerate(train_loader, 0):
        """training loop for one batch"""
        #get images and labels
        inputs, labels = data
        #move data to gpu
        inputs, labels = inputs.to(device), labels.to(device)