import torch
from torch import nn
net = nn.Sequential(
# 这里我们使用一个11*11的更大窗口来捕捉对象
# 同时,步幅为4,以减少输出的高度和宽度
# 另外,输出通道的数目远远大于LeNet
nn.Conv2d( 1 , 96 , kernel_size = 11 , stride = 4 , padding = 1 ) , nn.ReLU(),
nn.MaxPool2d( kernel_size = 3 , stride = 2 ),
# 减小卷积的窗口,使用填充为2来使得输入和输出的高和宽一致,且增大输出通道的数目
nn.Conv2d( 96 , 256 , kernel_size = 5 , padding = 2 ) , nn.ReLU(),
nn.MaxPool2d( kernel_size = 3 , stride = 2),
# 使用三个连续的卷积层和较小的卷积窗口
# 除了最后的卷积层,输出通道的数目进一步增加
# 在前两个卷积层后,汇聚层不用于减少输入的高度和宽度
nn.Conv2d( 256 , 384 , kernel_size = 3 , padding = 1 ) , nn.ReLU(),
nn.Conv2d( 384 , 384 , kernel_size = 3 , padding = 1 ) , nn.ReLU(),
nn.Conv2d( 384 , 256 , kernel_size = 3 , padding = 1 ) , nn.ReLU(),
nn.MaxPool2d( kernel_size = 3 , stride = 2),
nn.Flatten(),
# 这里,全连接层的输出数量是LeNet中的好多倍,使用dropout层来减轻过拟合的情况
nn.Linear( 6400 , 4096 ) , nn.ReLU(),
nn.Dropout( p = 0.5 ),
nn.Linear( 4096 , 4096 ) , nn.ReLU(),
nn.Dropout( p = 0.5 ),
# 最后是输出层,由于这里使用的是Fashion-MNIST,所以类别数为10,而非论文中的1000
nn.Linear( 4096 , 10 ))
X = torch.randn( 1 , 1 , 224 , 224)
print(X)
for layer in net:
X = layer(X)
print(layer.__class__.__name__,'output shape:\t',X.shape)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
python实现源码 一个深度学习代码练习仓库,主要包含了李沐老师的动手学习深度学习课程的相关代码实现。 主要功能点 实现了从零开始的深度学习模型,如线性回归、Softmax 回归、多层感知机等。 实现了经典的卷积神经网络模型,如 LeNet、AlexNet、VGG 等。 实现了一些前沿的深度学习模型,如 GoogLeNet、ResNet 等。 实现了循环神经网络模型,如 RNN、GRU、LSTM 等。 实现了一些常见的深度学习任务,如图像分类、房价预测等。 技术栈 Python, PyTorch
资源推荐
资源详情
资源评论
收起资源包目录
24深度卷积神经网络AlexNet.zip (1个子文件)
24深度卷积神经网络AlexNet.py 2KB
共 1 条
- 1
资源评论
.whl
- 粉丝: 3823
- 资源: 4648
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功