前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何搭建卷积神经网络

如何搭建卷积神经网络

作者头像
算法与编程之美
发布2023-08-22 14:14:48
1780
发布2023-08-22 14:14:48
举报
文章被收录于专栏:算法与编程之美

1 问题

卷积的过程就是将一个卷积核(convolution kernel),通常是一个 K乘K 的矩阵,对原图的每个像素点做卷积计算从而得到一个新的 M乘N 的图像。这个卷积过程可以对原图执行不同的操作:模糊、锐化、描边等等,而这些操作全都由卷积核的性质决定。如何搭建卷积神经网络,是我们需要研究的内容。

2 方法

我们首先通过继承nn.Module定义我们的CNN Class,然后在__init__里创建CNN的每个layer。神经网络所有运算通过forward函数实现。这个CNN例子中一共是两个2维卷积层和两个全连接线性层,2 通过一些激活函数(activation function)做连接,最后输出softmax分类结果。我们把所有的神经网络层都放在__init__中,激活所有的函数。

输入图像是(1*1*28*28):第一个1是batch size,这里可以忽略,这是一张单通道,28*28的图像。卷积层的输入也是单通道,需要和图像的通道数量保持一致!输出是10个通道,卷积核的尺寸是5*5。所以我们的输出也自然是 (1*10*24*24):其中batch size = 1 保持不变,图像变成了(24*24),24 = 28 - 5 + 1

最后torch.size结果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档