Hello, this my code yet when I run it I have this error appear.
def train_step(model: torch.nn.Module,
dataloader: torch.utils.data.DataLoader,
loss_fn: torch.nn.Module,
optimizer: torch.optim.Optimizer):
# Put model in train mode
model = model.to(device)
model.train()
# Setup train loss and train accuracy values
train_loss= 0
# Loop through data loader data batches
for i, data in enumerate(dataloader):
img, patches, _ = data
patches = patches.cuda()
# 1. Forward pass
pat_pred = model(patches)
# 2. Calculate and accumulate loss
loss = loss_fn(pat_pred, patches)
train_loss += loss.item()
# 3. Optimizer zero grad
optimizer.zero_grad()
# 4. Loss backward
loss.backward()
# 5. Optimizer step
optimizer.step()
# Adjust metrics to get average loss per batch
train_loss = train_loss / len(dataloader)
return train_loss
the Error:
img, patches, _ = data
18 patches = patches.cuda()
20 # 1. Forward pass
ValueError: too many values to unpack (expected 3)