帮我写一个基于pytorch的leNet-5的网络
时间: 2024-05-01 16:18:41 浏览: 139
可以的,leNet-5是一个经典的卷积神经网络模型,适用于手写数字识别等任务。以下是基于PyTorch的leNet-5实现的示例代码:
```
import torch
import torch.nn as nn
import torch.nn.functional as F
class LeNet5(nn.Module):
def __init__(self):
super(LeNet5, self).__init__()
self.conv1 = nn.Conv2d(1, 6, 5, padding=2)
self.pool1 = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.pool2 = nn.MaxPool2d(2, 2)
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self, x):
x = self.pool1(F.relu(self.conv1(x)))
x = self.pool2(F.relu(self.conv2(x)))
x = x.view(-1, 16 * 5 * 5)
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x
#使用方式:
net = LeNet5()
input_tensor = torch.randn(1, 1, 32, 32)
output_tensor = net(input_tensor)
```
以上代码实现了一个基本的LeNet-5模型,包含两个卷积层和三个全连接层。您可以根据具体任务自行调整网络结构和参数。
阅读全文