Thanks for reply!
As you said, I saw peak usage and use about 8GB.

But another question arises: the GPU sees it used, but the CPU usage is weird.
Until I run the model, the CPU usage is 30-40%, but if I run the model with the following code, the CPU usage is close to 90-100%.
model = UNet(n_class=2)

if torch.cuda.is_available():
    model = model.cuda()

class_weights = torch.tensor([1.0, 2.0]).cuda()
criterion = nn.CrossEntropyLoss(weight=class_weights)
optimizer = optim.Adam(model.parameters(),lr=0.0005)
exp_lr_scheduler = lr_scheduler.StepLR(optimizer, step_size=10, gamma=0.1)

def fit(epoch,model,data_loader,phase='train',volatile=False):
    if phase == 'train':
        model.train()
    if phase == 'valid':
        model.eval()
        
    running_loss = 0.0
    for batch_idx , (data,target) in enumerate(data_loader):
        if is_cuda:
            inputs,target = data.cuda(),target.cuda()
        if phase == 'train':
            optimizer.zero_grad()       
        output = model(inputs)
        loss = criterion(output,target.long())           
        running_loss += loss.data.item()
        
        if phase == 'train':
            loss.backward()
            optimizer.step()
            exp_lr_scheduler.step()
    
    loss = running_loss/len(data_loader.dataset)

    print('{} Loss: {:.4f}'.format(
                phase, loss))
    return loss

init_state = copy.deepcopy(model.state_dict())
init_state_opt = copy.deepcopy(optimizer.state_dict())
init_state_lr = copy.deepcopy(exp_lr_scheduler.state_dict())

since = time.time()
    
train_losses = []
val_losses = []

print()
print('train : {}, valid : {}'.format(len(trainloader.dataset), len(validloader.dataset)))
early_stopping = EarlyStopping(patience=5, verbose=1)
for epoch in range(num_epochs):
    print()
    print('Epoch {}/{}'.format(epoch, num_epochs - 1))
    print('-' * 10)
    epoch_loss = fit(epoch,model,trainloader,phase='train')
    val_epoch_loss = fit(epoch,model,validloader,phase='valid')
    train_losses.append(epoch_loss)
    val_losses.append(val_epoch_loss)
        
    if early_stopping.validate(val_epoch_loss):
        break
torch.save(model.state_dict(),'U-Net_Result.pt')
print()      
result_graph()
    
time_elapsed = time.time() - since
print()
print('Training complete in {:.0f}m {:.0f}s'.format(
time_elapsed // 60, time_elapsed % 60))

At first I was suspicious of data augmentation and the size of the data, so I reduced the size without applying data augmentation, but still CPU usage is close to 90-100%.
Can you give me some advice on CPU usage?