pytorch搭建神经网络,卷积神经网络
时间: 2023-07-24 08:59:39 浏览: 121
在PyTorch中搭建卷积神经网络(CNN)可以通过使用`torch.nn`模块中的类来实现。以下是一个简单的示例,展示了如何搭建一个基本的CNN模型:
```python
import torch
import torch.nn as nn
class CNN(nn.Module):
def __init__(self):
super(CNN, self).__init__()
# 定义卷积层
self.conv1 = nn.Conv2d(1, 16, kernel_size=3, stride=1, padding=1)
self.relu = nn.ReLU()
self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
# 定义全连接层
self.fc1 = nn.Linear(16 * 14 * 14, 10)
def forward(self, x):
x = self.conv1(x)
x = self.relu(x)
x = self.maxpool(x)
x = x.view(x.size(0), -1)
x = self.fc1(x)
return x
# 实例化模型
model = CNN()
```
在这个示例中,我们定义了一个`CNN`类,继承自`nn.Module`。在`__init__`方法中,我们定义了卷积层(`Conv2d`)、激活函数(`ReLU`)、池化层(`MaxPool2d`)和全连接层(`Linear`)。在`forward`方法中,我们定义了模型的前向传播过程。
需要注意的是,输入数据的维度应与模型定义的卷积层和全连接层的输入维度相匹配。在这个示例中,输入数据的通道数为1,图像大小为28x28。
完成模型的搭建后,我们可以使用该模型进行训练和推理。
阅读全文