mlp神经网络画sinx
时间: 2024-02-22 19:38:41 浏览: 80
下面是使用 Python 和 PyTorch 实现的代码,可以绘制 sinx 的曲线:
```python
import torch
import matplotlib.pyplot as plt
# 训练数据
x = torch.unsqueeze(torch.linspace(-2 * 3.1416, 2 * 3.1416, 1000), dim=1)
y = torch.sin(x)
# 定义 MLP 神经网络
net = torch.nn.Sequential(
torch.nn.Linear(1, 10),
torch.nn.ReLU(),
torch.nn.Linear(10, 1)
)
# 定义损失函数和优化器
loss_func = torch.nn.MSELoss()
optimizer = torch.optim.Adam(net.parameters(), lr=0.01)
# 训练 MLP 神经网络
for t in range(2000):
prediction = net(x)
loss = loss_func(prediction, y)
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 绘制预测结果
plt.figure(figsize=(10, 6))
plt.scatter(x.data.numpy(), y.data.numpy(), color='blue')
plt.plot(x.data.numpy(), prediction.data.numpy(), color='red', linewidth=3)
plt.title('MLP Sin(x) Prediction')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
```
运行上述代码,可以得到以下绘图结果:
![sinx](https://img-blog.csdnimg.cn/2021091419245825.png)
阅读全文