基于深度神经网络的代码
时间: 2023-11-22 10:55:59 浏览: 30
以下是一个简单的基于深度神经网络的代码示例:
```python
import torch
import torch.nn as nn
import torch.optim as optim
# 定义神经网络模型
class Net(nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super(Net, self).__init__()
self.fc1 = nn.Linear(input_size, hidden_size)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(hidden_size, output_size)
def forward(self, x):
x = self.fc1(x)
x = self.relu(x)
x = self.fc2(x)
return x
# 定义训练数据和标签
inputs = torch.randn(100, 10)
labels = torch.randn(100, 5)
# 定义模型和优化器
input_size = 10
hidden_size = 20
output_size = 5
net = Net(input_size, hidden_size, output_size)
optimizer = optim.SGD(net.parameters(), lr=0.01)
# 开始训练
num_epochs = 1000
for epoch in range(num_epochs):
# 前向传播
outputs = net(inputs)
# 计算损失函数(这里使用均方误差作为损失函数)
loss = nn.MSELoss()(outputs, labels)
# 反向传播
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 输出训练结果
if (epoch+1) % 100 == 0:
print('Epoch [{}/{}], Loss: {:.4f}'.format(epoch+1, num_epochs, loss.item()))
```
在这个代码示例中,我们定义了一个包含两个全连接层的神经网络模型,并使用随机生成的数据进行训练。我们使用均方误差作为损失函数,并使用随机梯度下降算法进行优化。在训练过程中,我们输出每100个epoch的损失函数值,以便观察训练效果。