溫馨提示×

PyTorch中怎么使用優化器

小億
89
2024-05-10 15:38:59
欄目: 深度學習

在PyTorch中,可以使用torch.optim模塊中的優化器來優化模型的參數。以下是一個示例代碼,展示了如何使用優化器來訓練一個簡單的神經網絡模型:

import torch
import torch.nn as nn
import torch.optim as optim

# 定義一個簡單的神經網絡模型
class SimpleModel(nn.Module):
    def __init__(self):
        super(SimpleModel, self).__init__()
        self.fc = nn.Linear(10, 1)
    
    def forward(self, x):
        return self.fc(x)

# 創建模型實例
model = SimpleModel()

# 定義優化器,這里使用隨機梯度下降優化器
optimizer = optim.SGD(model.parameters(), lr=0.01)

# 定義損失函數,這里使用均方誤差損失函數
criterion = nn.MSELoss()

# 模擬一些輸入數據和標簽
inputs = torch.randn(1, 10)
labels = torch.randn(1, 1)

# 清空梯度
optimizer.zero_grad()

# 前向傳播
outputs = model(inputs)

# 計算損失
loss = criterion(outputs, labels)

# 反向傳播
loss.backward()

# 更新參數
optimizer.step()

在上面的示例中,我們首先定義了一個簡單的神經網絡模型 SimpleModel,然后創建了模型實例,并定義了優化器,損失函數以及輸入數據和標簽。接著,我們清空了優化器的梯度,進行了前向傳播和損失計算,然后進行了反向傳播和參數更新。通過多次迭代這個過程,就可以訓練模型并優化參數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女