写一段基于pytorch的卷积神经网络
时间: 2023-11-04 12:12:04 浏览: 93
很高兴为您提供关于基于PyTorch的卷积神经网络的实现代码。以下是一个示例:
```
import torch.nn as nn
class ConvNet(nn.Module):
def __init__(self):
super(ConvNet, self).__init__()
self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)
self.relu1 = nn.ReLU()
self.maxpool1 = nn.MaxPool2d(kernel_size=2, stride=2)
self.conv2 = nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1)
self.relu2 = nn.ReLU()
self.maxpool2 = nn.MaxPool2d(kernel_size=2, stride=2)
self.conv3 = nn.Conv2d(32, 64, kernel_size=3, stride=1, padding=1)
self.relu3 = nn.ReLU()
self.maxpool3 = nn.MaxPool2d(kernel_size=2, stride=2)
self.fc1 = nn.Linear(64 * 4 * 4, 500)
self.relu4 = nn.ReLU()
self.dropout = nn.Dropout(p=0.5)
self.fc2 = nn.Linear(500, 10)
def forward(self, x):
out = self.maxpool1(self.relu1(self.conv1(x)))
out = self.maxpool2(self.relu2(self.conv2(out)))
out = self.maxpool3(self.relu3(self.conv3(out)))
out = out.view(out.size(0), -1)
out = self.dropout(self.relu4(self.fc1(out)))
out = self.fc2(out)
return out
```
这是一个简单的卷积神经网络,具有三个卷积层、三个最大池化层和两个全连接层。在此示例中,我们使用了一个名为ConvNet的类,它继承自PyTorch的nn.Module类,并重载了其__init__()和forward()方法。这个网络以3个输入通道为开始,使用了ReLU作为激活函数,并最终输出10个类别。
希望这个示例对您有所帮助!
阅读全文
相关推荐

















