写一个能进行深度学习的卷积神经网络
时间: 2023-10-20 14:12:19 浏览: 37
以下是一个简单的卷积神经网络的代码示例,可以用于图像分类任务:
```python
import torch
import torch.nn as nn
class ConvNet(nn.Module):
def __init__(self, num_classes=10):
super(ConvNet, self).__init__()
# 3个卷积层
self.conv1 = nn.Conv2d(3, 6, kernel_size=5)
self.conv2 = nn.Conv2d(6, 16, kernel_size=5)
self.conv3 = nn.Conv2d(16, 32, kernel_size=5)
# 2个池化层
self.pool = nn.MaxPool2d(kernel_size=2)
# 2个全连接层
self.fc1 = nn.Linear(32 * 5 * 5, 120)
self.fc2 = nn.Linear(120, num_classes)
# 激活函数
self.relu = nn.ReLU()
def forward(self, x):
# 卷积、激活函数、池化
x = self.relu(self.conv1(x))
x = self.pool(x)
x = self.relu(self.conv2(x))
x = self.pool(x)
x = self.relu(self.conv3(x))
x = self.pool(x)
# 展开
x = x.view(x.size(0), -1)
# 全连接层、激活函数
x = self.relu(self.fc1(x))
x = self.fc2(x)
return x
```
这个网络有3个卷积层,2个池化层,2个全连接层和ReLU激活函数。输入的图像大小为3x32x32,输出的类别数为10。可以根据实际任务进行调整。