PyTorch 是一个流行的开源机器学习库,广泛用于计算机视觉和自然语言处理等应用。以下是使用 PyTorch 进行简单线性回归的入门代码示例:
```python
import torch
import torch.nn as nn
假设我们有一些数据点
x_train = torch.tensor
y_train = torch.tensor
定义一个简单的线性模型
class LinearRegressionModel:
def __init__:
super
self.linear = nn.Linear 1个输入特征,1个输出特征
def forward:
return self.linear
实例化模型
model = LinearRegressionModel
定义损失函数(均方误差)
criterion = nn.MSELoss
定义优化器
optimizer = torch.optim.SGD
训练模型
num_epochs = 100
for epoch in range:
前向传播
outputs = model
loss = criterion
反向传播和优化
optimizer.zero_grad 清除之前的梯度
loss.backward 反向传播,计算当前梯度
optimizer.step 根据梯度更新参数
if % 10 == 0:
print
测试模型
with torch.no_grad: 测试时不需要计算梯度
predicted = model
print
打印最终参数
print
print
```
这段代码首先导入了必要的 PyTorch 模块,然后创建了一些简单的输入数据 `x_train` 和对应的目标输出 `y_train`。接着定义了一个线性回归模型 `LinearRegressionModel`,该模型包含一个线性层 `nn.Linear`。然后定义了损失函数 `MSELoss` 和优化器 `SGD`。
在训练循环中,我们执行了前向传播、计算损失、执行反向传播并更新模型参数的步骤。每训练10个周期,我们打印一次当前的损失值。训练完成后,我们使用 `with torch.no_grad` 语句测试模型的预测结果,并打印出模型学到的权重和偏置。
这是一个非常基础的 PyTorch 入门示例,适合初学者理解 PyTorch 的基本概念和操作流程。
2024-06-11