PyTorch Custom Loss Function Guide
To implement a custom loss function in PyTorch, you can follow these steps:
- torch.nn.Module is a class in PyTorch that is used for building neural network modules.
 
import torch
import torch.nn as nn
class CustomLoss(nn.Module):
    def __init__(self):
        super(CustomLoss, self).__init__()
        
    def forward(self, input, target):
        # 计算损失函数的逻辑
        loss = torch.mean((input - target) ** 2)
        return loss
- Train the model with a predefined custom loss function.
 
# 实例化自定义损失函数
custom_loss = CustomLoss()
# 定义模型和优化器
model = Model()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
# 训练模型
for epoch in range(num_epochs):
    for inputs, targets in dataloader:
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = custom_loss(outputs, targets)
        loss.backward()
        optimizer.step()
By following the above steps, you can implement a custom loss function in PyTorch and use it to optimize during model training.