PyTorch实例说明
时间: 2024-08-22 19:00:46 浏览: 27
PyTorch 是一个开源的深度学习库,它以易用性和灵活性而著名。下面是一个简单的 PyTorch 实例,展示如何创建一个线性模型并训练它来预测单个数字:
首先,我们需要导入必要的库[^4]:
```python
import torch
import torch.nn as nn
import torch.optim as optim
```
然后,定义一个简单的神经网络层(如线性层)[^5]:
```python
class LinearModel(nn.Module):
def __init__(self, input_size, output_size):
super(LinearModel, self).__init__()
self.linear = nn.Linear(input_size, output_size)
def forward(self, x):
return self.linear(x)
```
假设我们有一个一维输入(例如,一个向量),我们可以这样创建一个模型[^6]:
```python
input_size = 10
output_size = 1
model = LinearModel(input_size, output_size)
```
接着,定义损失函数[^7]和优化器[^8]:
```python
criterion = nn.MSELoss() # 均方误差损失
optimizer = optim.SGD(model.parameters(), lr=0.01)
```
准备一些示例数据[^9]:
```python
# 假设 x_data 是输入数据,y_data 是对应的标签
x_data = torch.randn(100, input_size)
y_data = torch.randn(100, output_size)
```
最后,训练模型[^10]:
```python
for epoch in range(num_epochs): # 假设 num_epochs 是训练轮数
optimizer.zero_grad() # 梯度清零
outputs = model(x_data) # 前向传播
loss = criterion(outputs, y_data) # 计算损失
loss.backward() # 反向传播
optimizer.step() # 更新参数
print(f"Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}")
```